Cipher Cracking 2013

From Derek
Jump to: navigation, search


Honours students

Project guidelines

General project description

In this project you will attempt to solve a possible murder that took place in Adelaide in 1948. This crime remains unsolved till today, but you can use engineering to bring our knowledge closer to the killer. You can read the details about the dead body and the circumstances [1]

Associated with the dead body was this secret code:


(See the original photograph, as there may be an extra line, and some of the M's may be W's. Some people also think that the last "I" is really a "V". Also the last G is probably really a C). To this day code crackers have been unable to decrypt it.

We also want you to bring the skills of an electrical engineer to bear on the area of e-forensics and see if you can apply these to other areas of the case (eg. graphical reconstruction of the dead man's face).

Specific tasks

Here are the remaining tasks resulting from previous work. You may want to focus on a subset of these:

  • Critically review the statistical analysis of the letters. See if you can extend it (eg. testing another language previous students missed and checking if they included all possibilities of ambiguous letters). Is the conclusion of previous team correct? Because there are lots of interesting new tasks (see below) don't spend too long on this. Just spend enough time on this as a quick warm up exercise.
  • Download the searchable pdf file of the copy of the Omar Khayyam that closely matches the dead man's copy. Create an ascii file with the raw text. Use this as a one-time pad that directly substitutes the letters of the alphabet a-z. The book contains 75 quatrains (four sentence poems) each containing about 140 letters. So the whole book contains about [math]75 \times 140 = 10,500\,[/math] letters. As we don't know where in the book the one-time pad starts, start at the beginning and step through the whole book one letter at a time. You'll then end up with >10,000 decrypts. Write a software script to look for the most common top-20 words in all the decrypts to narrow down to a few possible results that can be examined by eye.
  • Extend the CipherGUI 2011 software that was created by a previous team. See if you can add more ciphers to the collection. Use it to eliminate more ciphers and enter your conclusions here: Cipher Cross-off List. Be critical and be prepared to question and recheck some of the items already on the list.
  • A previous team created a webcrawler and search engine to search keywords with wild cards, as Google does not allow this. This is to check for common repeated expressions on the WWW that may contain initial letters that are also in the code. If the code is an initialism, this will give us a clue as to some likely content. There are two things that need to be fixed: (i) we need you to write a convenient web-interface for this search engine, and (ii) we need to scrap the webcrawler as it takes too long. It is impossible to crawl the whole web with one little PC and therefore you need to interface the search engine to operate on an index that has already been created by a commercial webtrawler. Unfortunately, companies like Google won't let you access their index list. Therefore you need to use another provider such as YaCy. You may also want to check out a resource called CommonCrawl. To use CommonCrawl you'll need to sign up with both github (to download the Java source code) and also Amazon (to run your uploaded compiled code).
  • Use computer graphics to reconstruct and undistort the face of the dead man. What would he look like if he were alive? To do this you need the data from the previous group that scanned the man's face from a plaster bust, at the Police Museum, with a 3D scanner. An example of the type of graphics software you can use to manipulate the scanned image is 123D. You may want to investigate other 3D rendering graphics software.
  • Use the departmental 3D printer to recreate a scaled down version of the bust, before and after your 3D rendering. The motivation for creating a 3D representation is so that we can create 2D pictures of the man at any angle. It will not be long before companies like Google release next generation search engines that search for faces on the web. So having multiple images at a number of angles will be of future importance for a large-scale image search.
  • Investigate the prices and availability of more expensive 3D scanners than the David 3D Scanner that we have. Can you find a 3D scanner that would have the resolution to pick up all the pores and texture on the bust of the Somerton Man?
  • Plot, present, and interpret the mass spectrometer data we have.


Semester A

  • Proposal seminar (Thursday or Friday, Week 4)
  • Progress report (Friday, Week 12) - only one report needed in wiki format

Semester B

  • Final seminar (Friday, 1st week of mid-semester break)
  • Final report (Friday, Week 11) - only one report needed in wiki format
  • Poster (Tuesday, Week 12) - one poster only needed
  • Project exhibition 'expo' (Friday, Week 12)
  • CD or stick containing your whole project directories (Tuesday, Week 13)
  • YouTube video (Tuesday, Week 13) - add the URL to this wiki

Weekly progress and questions

This is where you record your progress and ask questions. Make sure you update this every week.

Approach and methodology

We expect you to take a structured approach to both the validation of last year's results, and the writing of the software. You should carefully design the big-picture high-level view of the software modules, and the relationships and interfaces between them. Think also about the data transformations needed.

Possible extension

If you knock off this project too easily and are looking for a harder code cracking problem to try your software out on, you can progress to analyzing another famous unsolved mystery: the Voynich Manuscript


We don't really expect you to find the killer, though that would be cool if you do and you'll become very famous overnight. To get good marks we expect you to show a logical approach to trying to find the patterns from the code on the web, and any other attempts to crack the code. Running the webcrawler for many hours is unrealistic, so we'd like you to find a pre-indexed version of the web for you search engine.

Relationship to possible career path

Whilst the project is fascinating as you'll learn about a specific murder case—and we do want you to have a lot of fun with it—the project does have a hard-core serious engineering side. It will familiarize you with techniques in information theory, probability, statistics, encryption, decryption, and datamining. It will also improve your software skills. The project will also involve writing software code that trawls for patterns on the world wide web (exploiting it as a huge database). This will force you to learn about search engines and databases; and the new tools you develop may lead to new IP in the area of datamining and also make you rich/famous. The types of jobs out there where these skills are useful are in computer security, comms, or in digital forensics. The types of industries that will need you are: the software industry, e-finance industry, e-security, IT industry, Google, telecoms industry, ASIO, ASIS, defence industry (e.g. DSD), etc. So go ahead and have fun with this, but keep your eye on the bigger engineering picture and try to build up an appreciation of why these techniques are useful to our industry. Now go find that killer...this message will self-destruct in five seconds :-)

See also

References and useful resources

If you find any useful external links, list them here: