O O Ø O O O O
Crypto
A loose collection of all things Crypto-related. All work done in Canada, obviously.
Books
There are a lot of cryptography books out there, and yeah, many of them are crap. The following works, however, should be on every budding cryptographer’s shelf:
- The Handbook of Applied Cryptography—Alfred J. Menezes, Paul C. van Oorschot and Scott A. Vanstone—The bible of modern cryptography, free for your reading enjoyment.
- Applied Cryptography— Bruce Schneier’s bible of modern (post WW2) cryptography, including source code. If you’re looking to implement crypto, you need this book.
- Introduction to Cryptography with Coding Theory. (Trappe, Washington). This is a nice gentle introduction to the topic.
- Cryptography: Theory and Practice— (Stinson) Another excellent mathematical treatment of the subject of cryptography.
- The Codebreakers — The story of classical cryptography, from ancient times to the end of World War II.
- The Code Book— less comprehensive than Kahn’s book, but an excellent anecdotal summary of cryptography through to modern times. This is the book I give to family members when I need to explain what I do.
- RSA and Public-Key Cryptography— Okay—I’m a little biased here, as I was one of the proofreaders for this book. Still, it’s a good (highly mathematical) treatment of public-key crypto.
Papers
Papers and other miscellaneous documents I have written.
- Modular Exponentiation and the Double Based Number System. Kjell Wooding. April 2002.
- Cryptographic Weaknesses in the SSH1 Protocol. Kjell Wooding. April 2002.
- Certificate Authorities Demystified—the crazy public-key certificate hoops explained.
- Random Numbers in OpenBSD— Good randomness can be hard to find.
Tools
I recently had to do some classical cryptanalysis. I crufted together these tools to do the tedious work for me:
- freq.pl— Perl script to assist with frequency analysis; calculates single letter frequency for monoalphabetic and polyalphabetic substitution ciphers. Calculates digraph and trigraph frequency for monoalphabets; and determines Index of Coincidence (phi statistic) for determining polyalphabetic key size.
- decrypt.pl—Perform decryptions for some common cipher types. Currently includes monoalphabet substitution, shift (caesar) ciphers, and Vigenère ciphers.
Classical Cryptography
- Mono and poly-alphabetic cryptanalysis. Actually, this was an assignment I did for a cryptography course. It is a good example of how to use the above tools for cryptanalyzing classical ciphers.
Links
All the crypto links here refer to international sites, meaning there are no restrictions on distributing these tools outside the US or Canada.