An Evaluation of Encryption and Cryptanalysis Techniques

Shaun Arnold, Thomas Daniels, Christopher Taylor, Michael Walker

CS 651/551: Information Systems Security



Encryption can be an effective method of protecting information, and is widely used for data security in many applications. Cryptanalysis is used for discovering encryption methods and decoding encrypted messages, and can be used to compromise data security. Certain encryption methods are more susceptible to cryptanalysis attacks than others. Systems that employ an encryption mechanism for data security should be aware of its susceptibility to cryptanalysis.

In this project, we investigate the susceptibility of different encryption algorithms to cryptanalysis. We implement some well-known encryption algorithms such as RSA, a software implementation of the rotor engine, and simple monoalphebetic and polyalphabetic ciphers. We also implement some well-known cryptanalysis methods, such as statistical frequency analysis and key length techniques. Then, we use our cryptanalysis tools to analyze and decipher secret messages encoded under our encryption implementations. We then compare the effectiveness of analysis under various attack scenarios, such as known plaintext attacks and ciphertext-only attacks.


Phase I: Implementation


Feb. 14

First meeting: discuss goals, topics, milestones

Action: research implementations and cryptanalysis methods

Feb. 21

Second meeting: discuss research. Decide on implementation standards (i.e. language, program interface, plaintext standards)

Action: coding algorithms and analysis tools

Phase II: Cryptanalysis; continued tool and algorithm development.


Mar. 7

Milestone: Phase I completed

Third meeting: Discuss implementations, test them. Decide if more algorithms or analysis tools are needed, and divide labor accordingly. Begin cryptanalysis game by giving an encoded message to the analysis team.

Action: Begin cryptanalysis, and code more tools or algorithms as appropriate.

Mar. 21

Fourth meeting: Give algorithm binaries to analysis group, and begin known plaintext attacks.

Mar. 28

Milestone: Phase II completed

Fifth meeting: divide presentation tasks and discuss project website.

Action: write presentation, begin website writing, and tie up loose ends.

Apr. 16

Milestone: presentation completed

Sixth meeting: review website, discuss, and make changes.

Apr. 23

Milestone: website completed

Seventh meeting: Turn in final work.