Publication Date

Spring 2011

Degree Type

Master's Project

Degree Name

Master of Science (MS)


Computer Science

First Advisor

Mark Stamp

Second Advisor

Robert Chun

Third Advisor

Sami Khuri


substitution cipher prefix non-prefix code


Substitution ciphers normally use prefix free codes ­ there is no code word which is the prefix of some other code word. Prefix free codes are used for encryption because it makes the decryption process easier at the receiver's end.
In this project, we study the feasibility of substitution ciphers with non­prefix codes. The advantage of using non­prefix codes is that extracting statistical information is more difficult. However, the ciphertext is nontrivial to decrypt.
We present a dynamic programming technique for decryption and verify that the plaintext can be recovered. This shows that substitution ciphers with non­prefix codes are feasible. Finally, we view the cipher from the attacker's perspective and experimentally study various attacks. We show that a limited attack is possible in the case of known plaintext. However, the ciphertext­only attack appears to be very challenging, which is in stark contrast to substitution ciphers with prefix free codes.