Briefly, I changed to Trappe-Washington in 2006 because it seems more up-to-date and computer-aware, with three dialects of computer code covering important algorithms. It doesn't suffer from the "terse annoying chapter" syndrom. It seems to be just as mathematical and almost as good at classical ciphers. It has readable-looking chapters on some of the more esoteric techniques (elliptic curves, lattice methods), fun applications (digital cash, games, quantum techniques.)
It seems not to have as much on factoring, groups, fields, polynomials, and abstract algebra generally. That's not great from my POV, and it leads to a worry that TW may be a bit shallow. Take a look below to see the inherent "prerequisite structure" in Garrett -- clearly there is some lack of organization, but one can build pretty deep understanding. TW goes so far as to say "heck, you can read these chapters in any order including 19 down to 4"). So we may bulk up on some of the abstract algebra not in TW, which could mean you may want to borrow some algebra text from Carlson --- or better, buy a good one.
I've always found it too difficult to guarantee how well a book will work in advance, so I hope this works out OK. I'll still be using lecture and excercise material from Garrett.
Below is what I wrote about the texts I considered in 2001, ultimately choosing Paul Garrett's Making, Breaking Codes . I chose this book because it seemed pitched at an appropriate level, and it is not too terse -- it's very methodical in its coverage. On the down side, it seems to have perhaps a bit more ``pure'' mathematics, to the extent that it can be used as a number theory text as well as a crypto text. For example, Stinson's CRYPTOGRAPHY seems to cover more cryptographic topics, but perhaps at a terser, graduate level. Mollin's INTRODUCTION TO CRYPTOGRAPHY is a strong competitor to Garrett. It seems to have less gratuitous mathematics, and motivates what it presents better with crypto applications, but on the other hand it may be a bit terse and may leave out some details. Mollin and Stinson would be very good companion volumes.
The ``protocols'' section in Garrett is terse; he is clearly more a mathematician than an algorithmetition. We'll have to enhance coverage of this topic.
The entire 2nd half of the book is in some sense in support of Chapter 10, but the relevance is not always clear, either as to topic or depth. So we're going to have to pick and choose.
Topics to add to Protocols: Hash Functions, Key Distribtion, Secret Sharing, Zero-knowledge proofs, Signature Schemes, basically Stinson 6 - 13 minus his random number chapter. Note Mollin doesn't do any of this.
The following is a first pass at figuring out dependencies between topics and chapters of Garrett, with some currently-thought ``skippable'' chapters identified.
* means ``Megacept Chapter''
====================================================== Chapter, Topic Used By Requires 1 Simple Ciphers 1,2,4 App 1, *2 Prob 4, 9, 10,.. *3 Permutations 6 4 Vigenere -- 3,2 + Transpositions -- 3,2 5 More Prob (unused) -- 2 *6 DES, AES -- 3 *7 Integers 10 -- 8 Hill Cipher App 3, 4 *9 Complexity 10 App 2, 5 *10 Public Key Intro 11-29 11-29 11 Prime Numbers (skip?) 7, math. sophistication 16, 23 directly *12 Roots Mod p Pub. Key Ciphers, 7 sequel 13 more Roots Pub. Key Ciphers 7,12 14 Weak Mult. ?? 13, 12, 7,... 15 Quad. Recip Pub. Key, Primality tests 12, 13 (16, 23) (skip?) *16 Pseudoprimes Pub Key, 23 (11), 7, 13, 12 17 Group Theory 19, 20, 22,... -- nice and abstract! *18 Protocols --- basics, algorithms Need more, this chap. too sketchy Stinson 6-13 or equiv. 19 Rings, fields 20, 22, 24, 25, 28 17 20 Polynomials like 12,13 19 *21 Ran Numbers Pub Key Basics 20, 7, 22 Groups++ 19, 20, 12 23 Pseudoprimes++ 16 22 24 Factorization RSA Attack 2,7 25 Factorization++ RSA Attack 7, App 4 26 Finite Fields 19 27 Discrete Logs El Gamal Attack 22, 10 28 Elliptic Curves El Gamal 26, 27 29 Finite Fields ++ 19,10,22,26 19,10,22,26
Last update: 6.6.01.