Project Ideas

 

These projects are for the committed student who wishes to excel.

Remember these are just ideas. Most are not "thought out" in any detail. Some of these ideas, if taken further, are suitable for postgraduate research. I don't really mind if ideas are taken by more than one individual.

Suitable for all:-

  1. A busy restaurant has a CCTV camera positioned vertically over every table. A computer periodically (every minute or so) takes a still shot of every table and then analyses it. The result of the analysis should be either YES the diners have finished their course, or NO they haven't. Normally YES is indicated by empty plates, and knives and forks laid down on the plate in parallel. NO is indicated by full plates and knives and forks crossed. Write an image processing program which can analyse such a photograph and get the right answer 95% of the time.
  2. Write a "Bird-song identifier" program for the PC. It should listen to birdsong via the microphone, and identify the birds in real-time. Ideally it should separate out and identify individual birds.
  3. Create an animation that illustrates one or more aspects of the operation of any modern block cipher, for example the effect of diffusion, the error propagation of chaining modes, or the onset of avalanche. *
  4. AI Spam Killer. Artificial Intelligence my arse as they like to say in Dublin - yes as far as AI is concerned I am a confirmed skeptic. But surely if AI can deliver anything useful it should be possible to create an AI-based Spam identifier and killer. Again such a program could sit between the mail client and the server. So prove me wrong and write one that really works. It should even be feasible for such a program to "learn" what a particular user considers as SPAM by observing differences between what he/she accepts as genuine email, and that which they reject as Spam. Yeah right.
  5. Write some example programs for the winmips64 simulator http://www.computing.dcu.ie/~mike/winmips64.html .  For example the original computer game Pong, or Space Invaders, or Conway’s Game of Life http://en.wikipedia.org/wiki/Conway's_Game_of_Life   *

Suitable for good CA4's and MSSF practicums:-

  1. The latest research in Cryptography is regularly published at http://eprint.iacr.org/ . This is a rich source of project ideas, many of which would be suitable for both undergraduate and postgraduate research. For example see the papers entitled "Timed-release Cryptography" and "Digitally watermarking RSA moduli".
  2. Protection of software in an open environment like the internet is difficult. One idea is to randomly transform the program source code in a unique way for every executable created and sold, in a way that does not effect its function. Then encrypt the executable using a key "hidden" in the code. See www.cloakware.com , also http://www.cloakware.com/pdfs/SAC2002-CW.pdf . Implement a block cipher and "hide" the key in some effective manner.
  3. Another method for protecting source code is via "obfuscation". Basically the source code is transformed to a form incomprehensible to a human, but still compilable by a compiler. A simple approach would be to give all the variables obscure names like A111$, A112$ etc. Many ad-hoc schemes have been suggested. Make up your own, or implement the method described in http://search.ieice.or.jp/2003/pdf/e86-a_1_176.pdf
  4. Write a program to solve the generalized Pell equation. See http://hometown.aol.com/jpr2718/pell.pdf for algorithms. Use the GMP library http://www.swox.com/gmp/ to handle the big numbers. Your function should be very fast, and should return all solutions starting with the smallest up to some large limit. (I have a cryptographic use for such a function). This project would suit a Mathematics student. *
  5. Electronic voting. What a bad idea. Democracy by its very nature should involve as many people as possible, not machines and a handful of "experts". However it is an interesting area of research, and cryptographers can make a contribution. See the Caltech/MIT voting technology project at http://www.vote.caltech.edu/ and read http://www.vote.caltech.edu/Reports/workingpapers.html . For lots of links on Electronic voting see http://www.tcs.hut.fi/~helger/crypto/link/protocols/voting.html
  6. Have a look at Ross Anderson's paper "The Dancing Bear - A New Way of Composing Ciphers" http://www.cl.cam.ac.uk/ftp/users/rja14/grizzle.pdf. Use these ideas to implement novel protocols.*

 

New 2004/5 project ideas

  1. Implement a software simulation of “Key Infection: Smart Trust for Smart Dust” http://www.cl.cam.ac.uk/users/rja14/Papers/key-infection.pdf . Verify the conclusions and see can you think of a way of extending the results.
  2. Investigate the possibilities for “Time Release Cryptography” as described in http://eprint.iacr.org/2004/231/  and http://eprint.iacr.org/2004/211/.  *
  3. Remembering a cryptographically secure password can be a problem, so maybe it’s easier to remember a picture. A possible solution – graphical passwords. See http://search.ieice.or.jp/2004/files/e000a10.htm#e87-a,10,2543. You will need to get a (free) subscription to the service before you can download the paper.
  4. Investigate the possibilities for Visual Cryptography – see http://eprint.iacr.org/2004/287/ . Read the paper and track down the references, especially those by Naor & Shamir. *
  5. Write a simple email application as in www.coldmail.com. Note the use of a CAPTCHA code to identify a human user  www.captcha.net. Or, write an image processing program which can read CAPTCHAs. See Yahoo mail for another example of the use of a CAPTCHA.

 

New 2005/6/7 ideas

  1. Investigate, implement and maybe extend this attack on GSM mobile phone encryption http://cryptome.org/gsm-crack-bbk.pdf  *
  2. Investigate, implement and maybe extend this idea - http://eprint.iacr.org/2005/428. “Loud and Clear: Human-Verifiable Authentication Based on Audio”. Nice idea. Have a look at their video  http://www.ics.uci.edu/ccsp/lac  *
  3. “They” say that certain foreign governments routinely search through all transmitted emails looking for certain keywords. Ever wonder if its true? Here is a sure-fire way of finding out http://www.computerbytesman.com/privacy/emailsnooping.htm.  Clever isn’t it? A large scale experiment based on this idea would make for a very interesting project..
  4. CPUZ is a very useful program for windows – see www.cpuid.com/cpuz.php . It tells you everything you need to know about your computer architecture. Write a similar utility for Linux (or for an Apple Mac).
  5. Implement a graphical simulation of a 3-D crane. The equations of motion can be found here http://www.chochieh.com.tw/download/inteco/paper01.pdf . This might form the basis of a game where the computer user has to pick up objects from one place and drop them in another. Use standard numerical integration algorithms for the simulation. *
  6. The IBM/Sony Cell processor (as used in the playstation 3) has 8 co-processors with 128-bit registers. IBM allow access to free software development tools. The AES (Advanced Encryption Standard) has a 128-bit block size. How fast can the AES be implemented on this processor? *
  7. DCU, at some expense, is about to launch a Research Assessment Exercise, to see how good our research output really is. Implement a tool like publish or perish that points at the staff list of a University department and gives it an instant rating. Compare DCU with the rest and show we are the best! *
  8. Recently Cryptographers have broken the Keeloq system used to protect the majority of car locks. See http://eprint.iacr.org/2007/062 and http://www.cosic.esat.kuleuven.be/keeloq/keeloq-rump.pdf  and google for latest developments.  The claim is that the secret key which opens the door can be found on some PCs in a few hours. See can you replicate this attack. Do not steal any cars! *
  9. Mobile phone RSS reader with compression. RSS feeds tend to be domain specific often re-using keywords. This makes them suitable for batch block compression which would speed up data transfer. Implement a client-server application (using Java ME?) with a mobile RSS viewer that uses data compression (maybe like LZW?). Idea from Neil Costigan.
  10. Implement some or all of the new NIST recommended Cryptographically Secure Random Number Generators. See http://csrc.nist.gov/publications/nistpubs/800-90/SP800-90revised_March2007.pdf  *
  11. Want to use your Playstation 3 to break some cryptosystem? See http://computerworld.co.nz/news.nsf/scrt/C50D36EFEC2B482ACC2573A00070EF83 *
  12. There is still some fun to be had breaking the wireless network security protocol WEP. See http://eprint.iacr.org/2007/471

 

New 2008 ideas

  1. Poor security on laptops is all the news. But even good looking encryption software can be bypassed. See  http://www.freedom-to-tinker.com/?p=1257 and http://www.news.com/2300-1029_3-6230933-1.html. It would make an interesting project to implement this idea. (Thanks to Tommy Murphy who brought this to my attention). *
  2. Create a Web-site www.findmeahuman.com. You want to make a phone call to some utility. You are sick of getting “Dial 1 for this, dial 2 for that”. You want to talk to a human. This website uses Skype or somesuch to place the call and automatically search through the call tree to find a human. Use AI to tell a human from a recorded message. When it does connect to a human, it rings you back. Your computer takes on their computer on your behalf. *
  3. Write a program t o use mobile phones and Bluetooth to make everyone’s life easier at parties – implement “More Efficient Match-Making and Satisfiability: The Five Card Trick.” Den Boer, Eurocrypt 1989 *. Google for details.
  4. When is the rain going to stop? When is the rain going to start? For many people that is all they want from a weather forecast. So write an application which analysis the rainfall radar available from http://www.met.ie/latest/rainfall_radar.asp and which answers the simple questions, dependent only on your location in Ireland. *

 

BTW if you are an ex-DCU graduate browsing (or anyone else for that matter), and have a project idea, please let me know at mike@computing.dcu.ie

 

IP Policy

If as the result of taking on one of these projects you, the student, come up with an idea constituting valuable Intellectual Property (IP), then the resulting IP belongs entirely to you, the student.

 

This policy is in line with the School policy on IP as outlined here

 

http://www.computing.dcu.ie/news/newsitems/sem2_01/intellectual_property.htm

 

Just because I suggest an idea, does not mean that I am willing to supervise it. I may be interested in supervising projects marked with an asterix *.