Applied Cryptography: Protocols, Algorithms, and Source Code in C, Second Edition

Applied Cryptography: Protocols, Algorithms, and Source Code in C, Second Edition

“. . .the best introduction to cryptography I’ve ever seen. . . . The book the National Security Agency wanted never to be published. . . .” -Wired Magazine

“. . .monumental . . . fascinating . . . comprehensive . . . the definitive work on cryptography for computer programmers . . .” -Dr. Dobb’s Journal

“. . .easily ranks as one of the most authoritative in its field.” -PC Magazine

“. . .the bible of code hackers.” -The Millennium Whole Earth Catalog

This new edition

List Price: $ 60.00

Price: $ 29.75

Filed Under: Encryption

Tags: , , , , , , ,

About the Author

Comments (3)

Trackback URL | Comments RSS Feed

  1. Christopher Culver says:
    127 of 135 people found the following review helpful:
    5.0 out of 5 stars
    A bit out of date, but highly worth reading, January 24, 2002
    Christopher Culver
    (TOP 500 REVIEWER)

    This review is from: Applied Cryptography: Protocols, Algorithms, and Source Code in C, Second Edition (Paperback)

    Bruce Schneier’s APPLIED CRYPTOGRAPHY is an excellent book for anyone interested in cryptology from an amateur level to actually being involved in the development of new encryption mechanisms. Schneier’s book begins with a simple discussion of what is cryptography, and then he proceeds through the history of various encryption algorithms and their functioning. The last portion of the book contains C code for several public-domain encryption algorithms.

    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.

    Help other customers find the most helpful reviews 

    Was this review helpful to you? Yes

  2. Ben Rothke "Author of 'Computer Security: 20 ... says:
    45 of 47 people found the following review helpful:
    5.0 out of 5 stars
    The most comprehensive text on computer-era cryptology., December 12, 1996
    By A Customer
    This review is from: Applied Cryptography: Protocols, Algorithms, and Source Code in C, Second Edition (Paperback)

    Habitues of sci.crypt will be familiar with Bruce Schneier’s *Applied Cryptography*; if any of them have but one text on crypto for reference, it will almost certainly be *Applied Cryptography*. It is the de facto standard reference on modern cryptography as well as serving as an excellent introduction to the subject.

    The art is very old – Julius Caesar was the first recorded user of cryptography for military purposes – and reached a watershed when computers were put to work in order to break German and Japanese ciphers. Indeed, that was the first *real* application of electronic computers. A natural development was the use of computers for the development of cryptographic systems.

    That is where Bruce Schneier’s remarkable book begins. It is notable for two reasons: the breadth and depth of coverage, and the high standard of technical communication.

    As a reference its scope is encyclopaedic, providing descriptions and assessments of just about every non-military crypto system developed since computers were first applied to the purpose. There are also military-cum-government algorithms amongst the collection, some from the old Soviet Union and others from South Africa. It is not just an A-Z procession of algorithms; the author progresses in a logical manner through the many technical aspects of cryptography.

    It is common to find that masters of mysterious technical arts are poor communicators. Bruce Schneier demonstrates exceptional skill as a technical communicator. Here is a book about an esoteric subject – one built on a foundation of theoretical mathematics – that ordinary folk can read. Sure, one needs to be motivated by an interest in the subject, and the technical level sometimes requires a more than ordinary background in number theory and the like – but a degree in theoretical mathematics is not necessary to derive pleasure and profit from reading *Applied Cryptography*.

    A thirty-page chapter provides a brief, but lucid account of the necessary mathematical background, spanning information theory, complexity theory, number theory, factoring, prime number generation, and modular arithmetic. Even if one needs no other information than a useful description of modular arithmetic the book is worth looking at; I can’t think of any better source outside full-blown mathematical texts, and the author does it without being obscure.

    The book is divided into parts, beginning with protocols (the introductory chapter is an excellent overview of crypto as it is presently applied) from the basic kind through to the esoteric that find application in digital cash transactions. Public key encryption, the second – and most significant – watershed in cryptography, is introduced with an explanation of how it is used in hybrid systems.

    Part II deals with cryptographic techniques and discusses the important issues of key length, key management, and algorithm types. The strength of a crypto system relies very heavily on the length of the key, the way in which it is generated, and key management. A chapter is devoted to the practical aspects of using algorithms (which one, public-key as against symmetric crypto, hardware versus software) for various purposes (such as communications and data storage).

    Part III is about particular algorithms, providing for each one a background of its development, a description, its security, and how it is likely to stand up to attack. The algorithms are divided into classes: block (some twenty-one are described); pseudo-random-sequence generators and stream ciphers (PKZIP is a stream cipher); real random-sequence generators; one-way hash functions; public-key; public-key digital signature; identification schemes; key-exchange algorithms; and other special algorithms. Many specific algorithms are described with information about covering patents.

    Part IV is entitled, The Real World; in the words of the author, “It’s one thing to design protocols and algorithms, but another thing to field them in operational systems. In theory, theory and practice are the same; in practice they are different”. A chapter discusses a number of implementations, including IBM Secret-Key Management Protocol, Mitrenet (an early public-key system), ISDN Packet Data Security Overlay, STU-III, Kerberos, KryptoKnight, Sesame, PEM, PGP, MSP, smart cards, universal electronic payment system, and Clipper.

    Another chapter discusses politics and puts the problems of US export restrictions into context and deals with patents. It also has information about bodies with an interest in public access to cryptography and standards, and legal issues.

    An afterword by Matt Blaze should be required reading by everyone who thinks a good cryptosystem is all that one needs for security; the human factor can undo the strongest…

    Read more

    Help other customers find the most helpful reviews 

    Was this review helpful to you? Yes

  3. Anonymous says:
    44 of 48 people found the following review helpful:
    5.0 out of 5 stars
    A must have for anyone involved with encryption & security, November 26, 2000

    Applied Cryptography is quite simply the quintessential guidebook for information about cryptography. It also is one of the finest computer security books ever written. Bruce Schneier is a cryptologist who has a passion for cryptography, and it shows in his masterpiece. Instant classic is an often used oxymoron, yet that term is most appropriate to describe Applied Cryptography. If you have any interest with security and encryption, Applied Cryptography is clearly the definitive publication to reference and the most comprehensive text available about security and encryption. It might sound as if via my high praise for this book that I am getting some type of endorsement, that is not the case. It is just that Applied Cryptography is quite simply the most comprehensive, up-to-date work about cryptography.

    The vast array of topics covered by the book is truly astounding in is depth and breadth. There is hardly a single cryptological concept, either minor or major, that the book does not cover. It is not possible to detail everything Applied Cryptography covers. But a few of the topics are: Foundations of cryptography, Protocols, Protocol Building Blocks, Key Lengths, key exchange, key management, Algorithms, the mathematical of cryptography, DES, RSA, One-Way Hash Functions, Symmetric vs. Public-Key cryptography, Public-Key Digital Signature Algorithms, Substitution Ciphers and Transposition Ciphers, Digital Signatures, Random and Pseudo-Random Sequence Generation, PGP, Authentication, Advanced security Protocols, Cryptographic Techniques, Identification Schemes, the politics of cryptography and much (much!) more.

    Applied Cryptography also includes the source code for DES, IDEA, BLOWFISH, RC5 and other algorithms. It even covers encryption algorithms from the former Soviet Union, including GOST.

    The magnificence of Applied Cryptography is that Schneier is able to take very complex, abstract ideas and express them in an extremely comprehensible manner. Applied Cryptography therefore lacks the dryness that plagues a lot of textbooks. Schneier is able to take both theoretical and academic ideas, and mold them into practical real-world intelligible book. All in all, Applied Cryptography makes for some very enjoyable and occasionally humorous reading.

    One thing I really liked about Applied Cryptography is its index. Rather than using the traditional cumbersome citations such as RIV92b or GOL88 that often take a while to locate, Schneier simply uses numbers. In light that he references over 1600 sources, it makes looking up the sources an incredible time saver. What is extremely impressive about Applied Cryptography is that Schneier quotes from every imaginable source. From general security periodicals, scholarly academic journals, conference proceedings, government publications and official standards, Schneier has been there.

    Schneier writes at length about whether a crypto customer should choose an algorithm for that is publicly published algorithm (i.e., DES, RSA, Blowfish) or to use a proprietary algorithm that belongs to a specific manufacturer. With a proprietary algorithm, Schneier writes that it is impossible to determine how truly secure the algorithm is, given that the owners do not generally make their code available for open inspection. There is even the possibility that the manufacturer (or government, if under federal contract) has put in a back door into the algorithm. Schneier states that: “Putting your trust in a single manufacturer, consultant, or government is asking for trouble. The NSA has some of the world’s best cryptographers working for it, but it is hard to know if they’re telling you all you know.”

    This idea then segues into the (in)famous Clipper chip and concept of key escrow. As a world class cryptographer, Schneier has major issues with the concept of Clipper, calling it “Orwellian” Schneier feels that encryption is too important to be left to the government and Clipper advances the power of the government over the right of the people.

    In conclusion, Applied Cryptography is a must have book for anyone involved with encryption and security.

    Help other customers find the most helpful reviews 

    Was this review helpful to you? Yes