The first quarter of the book may come as a surprise. It's not about encryption, it's about secure protocols. This is great stuff. It includes secure key exchange, where you and I can agree on an encryption key in a public conversation, but none of the other listeners know what we agreed on. It includes zero-knowledge proofs, ways of establishing authorization without releasing your identity. It includes lots more, as well. The next brief section discusses different modes for using encryption algorithms, key management, and other logistics.
The third section is what you might have expected: detailed descriptions of many encryption schemes, taking up at least half the book. That includes public key schemes, private key codes, secure hashing algorithms, and all the other details needed for implementing the algorithms. One of the most useful subsections here is a set of pseudorandom number generators. It's not exhaustive, by any means - it omits the Mersenne Twister, for example. Still, it gives a fair set of algorithms, some of which are "cryptographically secure". That means the generator's output strongly resists attempts to find regularities, just the way a truly random sequence would.
The last two chapters give a brief summary of the practice, legalities, and even culture around cryptography.
This won't make you into a crypto professional. Despite its 600+ pages, it barely introduces the world of crypto and certainly doesn't release anything from the "closed" world of government agencies. It will, however, give you useful algorithms, a basic background, and an appreciation of just what real crypto is about. That last may be the most important part. Too many people think inventing a good code is like making love: anyone can do it, and they instinctively do it better than most people. Wrong! Real crypto is not for dabblers, and this book gives some sense of what is involved.
The first edition of "Applied Cryptography" was a landmark text, but the second edition is even better. It's so much better that, if you just have the first edition, you really should upgrade to the second, and I've never said that about any other book.
Some reviewrs seem to berate the author for:
a) losing his job
b) trying to make a buck by writing books
c) not writing a mathematical tome
Well, I have some news for you:
a) Anyone can get laid off from any job at any time - period.
b) All authors write books for money.
c) The author clearly states at the beginning of the book under the heading, How to read this book - 'I wrote Applied Cryptography to be both a lively introduction to the field of cryptography and a comprehensive reference...This book is not intended to be a mathematical text.'
Need I say more.
Years ago, Bruce was laid off from AT&T Bell Labs. Since then, Bruce has been using rubes like you to augment his salary. Let's face it; if Bruce were a Ken Thompson or a Claude Shannon, he'd probably still have his job at Bell Labs. But he isn't and he doesn't. Instead he wrote Applied Cryptography and touted himself as an expert. The problem is that most people believed him. Not many people actually know an active cryptographer who can dispel fact from fiction.
Applied Cryptography is just a tourists look at algorithms whose mathematical foundations, and use, are explained more effectively by other authors. Applied Cryptography may have been there first, but the industry has moved forward. Better books currently exist that are more rigorous, not to mention more lucid. This is strictly a "shelfware" book that you'd keep at your desk to impress your coworker's with, nothing more.
Recently I spoke with a PhD, from Brown, who performed decades of research in number theory. He recommended "Cryptography in C and C++," by Michael Welschenbach. He also said "I don't know why people think Applied Cryptography is such a good book. He [Schneier] doesn't seem to understand the mathematics very well." Pick up Applied Cryptography sometime and compare it side-by-side with Welschenbach's book. You'll see what that PhD was talking about.
What I find truly onerous about his books is the condescending tone that Schneier adopts when addressing the reader. It's if he's saying "I am so much more elite than you, I can't even begin to tell you." The truth is that Bruce Schneier is a lot of style without much substance. What he lacks in ability he makes up for with moxie. Having lived in Minneapolis, I'm more than familiar with the type of yuppie pretenders that live on Hennepin Avenue with their nose piercings and their tattoos. Bruce, that ponytail doesn't fool anybody. You're just another suit from the midwest with something to sell. Freakin' cake eaters...
But this is the text if you want to be a crypto guru.
Great job Mr. Schneier.
Well done
Only gets 4 stars because much recent information is not in the book. Hopefully the author is working on an update that will include the latest advances.(I would have given it 4.5 stars if it was possible)
It's not very mathematical (there are other books like the handbook of applied crypto by Menezes et al. for that) and gets straight to the guts of the algorithms, and it's been very helpful when implementing algorithms.
Though it's slightly old, I'd recommend this book to anyone starting out on cryptography.
Bruce is trying to bring this knowledge to the masses, and does a good job. It is up to you to continue to more specialized text books or stay at this level.
A caveat: this is not a textbook of cryptography in the sense that it teaches everything necessary to understand the mathematical basis of the science. Schneier does not discuss number theory because he expects those who use the relevant chapters of the book will already have training in higher maths. Nonetheless, the book does contain a wealth of information even for the layman.
One helpful part of Schneier's book is his opinion of which encryption algorithms are already broken by the National Security Agency, thus letting the reader know which encryption programs to avoid. There will always be people who encrypt to 40-bit DES even though it is flimsy and nearly instantly breakable, but the readers of APPLIED CRYPTOGRAPHY can greatly improve the confidentiality of their messages and data with this book. Discussion of public-key web-of-trust is essential reading for anyone confused by how public-key signatures work.
APPLIED CRYPTOGRAPHY was published in 1995 and some parts are already out of date. It is ironic that he hardly mentions PGP, when PGP went on to become the most renowned military-strength encryption program available to the public, although it is being superseded by GnuPG. Another anachronism is Schneier's assurance that quantum computing is decades away. In the years since publication of APPLIED CRYPTOGRAPHY we have seen some strides in quantum computer, even the creation of a quantum computer that can factor the number 15. While this publicly known quantum computer is not at all anything to get excited about, it is certain that more powerful quantum computers are in development and classified by NSA. Because a quantum computer can break virtually any traditional cipher, hiding the message (steganography) is becoming more important than ever. In the era of Schneier's book steganography was unnecessary because ciphertext could withstand brute-force attacks, but with advances in computing power steganography is becoming vital to secure communications. It would be nice to see the book updated with this topic, because cryptography and steganography can no longer be regarded as two distinct fields.
All in all, in spite of its age, APPLIED CRYPTOGRAPHY is recommended to anyone interested in cryptography. It ranks among the essential books on the field, although an updated version is certainly hoped for.
Schneier gives the reader a lot for his/her money. The books is well written and an easy (considering the subject matter) and interesting read as well. "Applied Cryptography" covers a lot of territory - you get the basics of cryptographic theory, detailed treatment of many of the most commonly implemented cryptographic algorithms and protocols (including their potential weaknesses), and lots of source code.
If you want to know the sordid details about number theory or pseudo random numbers, there are plenty of books in print that go into great (and often laborious) detail on these subjects. The title says it all -- this is an excellent book on applied cryptography!
The book is divided into four major sections: Cryptographic Protocols, Cryptographic Techniques, Cryptographic Algorithms, and a section called "The Real World" that discusses examples of how cryptographic protocols and algorithms are actually used. It also discusses political issues.
The book contains the source code (in printed form) to many of the algorithms discussed in the book. The algorithms include: DES, IDEA, Blowfish, RC5, SEAL and others.