This exercise involves decrypting two different pieces of cipher text using two different
methods to find the encryption keys and original plain text messages. I will email you
your individual cipher texts and the first 2 letters of the plaintext for the first part of the
All of the secret messages have been encrypted by my implementation of an 8-rotor
encryption machine in Java. This code is available on Moodle as the file
R96Crypto.java. You just need to write the code to use it to search for the various
keys. All the keys have been taken for a file of common passwords called passwords,
which is also available on Moodle.
Once you have finished your exercise, submit a zip file containing your report and your
two programs, called KPT.java, CTO.java using Moodle. Your zip file should have
the form lastname_firstname.zip – mine would be called poet_ron.zip.
Deadline Saturday 7th
Known Plain Text Attack (KPT)
You will be given a chunk of cipher text, together with the first two characters of the
plaintext. Write a program to perform a dictionary attack to find the key. Use this key to
decode the rest of the message. Your report should contain the key you found and the
decoded message. It is possible that you will find more than one possible key. Estimate
how likely this is, knowing that the first 2 letters are from an English message and that
there are about 10000 possible keys. Explain how you found the real key.
Cipher Text Only Attack (CTO)
You will be given another chunk of cipher text, as above, but no plaintext. You will need
to perform a dictionary attack as before, but now deciding if each key produces the
correct plaintext. You can assume that the plaintext is an English language message.
You will also need to perform an experiment to find out how many cipher text letters
were needed to decode the message unambiguously.
Your report should contain the key you found and the decoded message. You should also
explain how you decided that a potential plaintext message is correct or not. You should
also include a theoretical calculation of the number of cipher text letters needed before
unambiguous decoding is possible, together with the actual number of letters needed for
your particular message, as found by your experiment. Explain the difference.
本网站支持淘宝 支付宝 微信支付 paypal等等交易。如果不放心可以用淘宝交易！
E-mail: firstname.lastname@example.org 微信:itcsdx