Thoughts on Textbooks (2001, revised a bit 2006)


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 
  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)
  *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

This page is maintained by CB.

Last update: 6.6.01.