Douglas Stinson. Cryptography: Theory and Practice.
CRC Press. 1995 . 434 pages. ISBN 0-8493-8521-0 $67.??
Bibliography (201 items). Index.

Reviewed by Bob Bruen

Stinson's book is written from the perspective of applied discrete mathematics, making it far more theory than practice, as acknowledged in the preface. Coverage is based on "theoretical interest and practical importance." This means if you have trouble with math beyond algebra, this excellent textbook will be rough sledding for you. It is not an introductory book on cryptography. If on the other hand, you really want to know how the algorithms work and why, it is very useful. Unlike some other textbooks, in this one Alice and Bob handle discrete logarithms. There are lots of theorems, lemmas, proofs and formal definitions.

He has divided the book into three main topics, private-key cryptography, public-key cryptography and research in cryptography. Each chapter has notes, references and exercises. While Stinson does not claim completeness for his book, most things are covered to some degree. DES, RSA, hashing and ElGamal get more attention, while Kerberos gets only a brief description. MD4 and MD5 are just small subsets of the hash chapter.

The first three chapters are dedicated to private-key cryptography, with the requisite classical cryptography covered in the first. If you were intrigued by Schneier's brief explanation of Shannon's perfect secrecy, Stinson provides more detail in a complete chapter. His good DES chapter is the last in the private-key section.

The largest topic is public-key cryptography, with six chapters devoted to it. The relationship of the ElGamal cryptosystem and the discrete logarithm problem is discussed along with several other associated algorithms, for example, Shanks' algorithm and Pohlig-Hellman. The chapter on identification schemes presents Schnorr's, Okamoto's, and Guillou & Quisquater's.

The active areas of research covered in the last four chapters are authentication codes, secret sharing schemes, pseudo-random number generation and zero-knowledge proofs. Here, again, if Schneier has piqued your interest in the Blum-Blum-Shub generator, a much more detailed offering is available in Stinson.

I have put this book next to Schneier's on my bookshelf. I recommend that if you are serious about cryptography, you should do the same.