by Neal R. Wagner
Copyright © 2002 by Neal R. Wagner. All rights reserved.
NOTE: This site is obsolete. See book draft (in PDF):
The emphasis is on the underlying systems and their theory, rather than on details of the use of systems already implemented. For example, the notes present material on the RSA cryptosystem, its theory and a Java implementation, but there is no discussion of a commercial implementation such as PGP (``Pretty Good Privacy'').
The reader should not actively dislike mathematics, although the amount and difficulty of the mathematics requirements vary. One of my goals is to cover the necessary mathematics without hiding details, but also without requiring material from an undergraduate mathematics degree.
The notes contain ``maxims'' or ``laws'' designed to emphasize important points, sometimes in an amusing way -- hence the title of the overall work.
I refer interested readers to the book: Handbook of Applied Cryptography, by Menezes, van Oorschot, and Vanstone (CRC Press, 1997). That work gives a comprehensive survey of the whole field, leaving many details to technical articles that the handbook refers to. The work presents ``techniques and algorithms of greatest interest to the current practitioner''. In contrast, my work is more ideosyncratic, occasionally presenting odd material that current users would avoid.
The Java programs that accompany these notes are demonstration implementations to help readers and students understand the concepts. I have kept the code simple to further this goal, rather than strive for code that could be included into commercial or open source projects, which would require far longer and more complex code (and be much harder for me to write). The complexities then would get in the way of understanding. Readers need some familiarity with programming and with Java to understand these programs.
The book also contains various tables of values along with sample or ``toy'' calculations. In every case I've found it easier and quicker to write Java programs to generate this material rather than to do the calculations by hand.
A one-semester course in cryptography might cover the following material (I will be amending this list as the present work progresses):
The author would like to thank his mother for giving birth to him, but can't think of anyone else to thank at this time.