COEN
350 Spring 2006 Project Proposals |

- DES Cracker: Build a software implementation of DES encoding for a 64b block.
Then try to find a key that transforms the zero block into the block 0xabbaabba.
Hint: You can spped the cracker up by avoiding the initial and final permutation.

Your grade does not depend on actually finding the key.

- XOR-Code: Encryption by XORing with a one-time pad is proven to be cryptographically
absolutely secure. However, if we reuse the pad, then we make the encryption
vulnerable. Worse, we could XOR with a short repeating key.
- Write a program that encrypts an ASCII file with an arbitrary, repeating key.
- Write a program that discovers the length of the key through a
*counting coincidences attack.*You count coincidences by counting the number of times that a character is repeated after exactly x bytes. The percentage of coincidences jumps when the displacement x is a multiple of the key length. - Having determined the key length, use something like a frequency analysis (for a text assumed to be in a known language) to determine likely elements of the key.

To do this project, decipher the challenge.txt file. - Lamport's Hash implements one-time passwords. Implement Lamport's hash without
the messaging.
- Create procedures that implement the calculations of the Diffie-Hellman
key exchange. You need to figure out or read up on how to best do exponentiation
using a large prime. You can take
*p*to be a known large prime. The number*g*does not really need to be a generating element, as long as the set of powers of*g*is large. - Implement from scratch a program that does port scans of another computer. (Port scans could be illegal or inethical if executed without permission by the owner of the scanned machine.)

©2009 Thomas Schwarz, S.J., COEN, SCU | SCU | COEN | COEN350 | T. Schwarz |

These documents are not intended for dissemination beyond
SCU. CAVEAT LECTOR |