Book description
From the world's most renowned security technologist, Bruce Schneier, this 20th Anniversary Edition is the most definitive reference on cryptography ever published and is the seminal work on cryptography. Cryptographic techniques have applications far beyond the obvious uses of encoding and decoding information. For developers who need to know about capabilities, such as digital signatures, that depend on cryptographic techniques, there's no better overview than Applied Cryptography, the definitive book on the subject. Bruce Schneier covers general classes of cryptographic protocols and then specific techniques, detailing the inner workings of real-world cryptographic algorithms including the Data Encryption Standard and RSA public-key cryptosystems. The book includes source-code listings and extensive advice on the practical aspects of cryptography implementation, such as the importance of generating truly random numbers and of keeping keys secure.
". . .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 book details how programmers and electronic communications professionals can use cryptography-the technique of enciphering and deciphering messages-to maintain the privacy of computer data. It describes dozens of cryptography algorithms, gives practical advice on how to implement them into cryptographic software, and shows how they can be used to solve security problems. The book shows programmers who design computer applications, networks, and storage systems how they can build security into their software and systems.
With a new Introduction by the author, this premium edition will be a keepsake for all those committed to computer and cyber security.
Table of contents
- Cover Page
- Title Page
- Copyright
- Contents
- Introduction
- Foreword
- Preface
- About the Author
- CHAPTER 1: Foundations
-
PART I: CRYPTOGRAPHIC PROTOCOLS
- CHAPTER 2: Protocol Building Blocks
- CHAPTER 3: Basic Protocols
-
CHAPTER 4: Intermediate Protocols
- 4.1 TIMESTAMPING SERVICES
- 4.2 SUBLIMINAL CHANNEL
- 4.3 UNDENIABLE DIGITAL SIGNATURES
- 4.4 DESIGNATED CONFIRMER SIGNATURES
- 4.5 PROXY SIGNATURES
- 4.6 GROUP SIGNATURES
- 4.7 FAIL-STOP DIGITAL SIGNATURES
- 4.8 COMPUTING WITH ENCRYPTED DATA
- 4.9 BIT COMMITMENT
- 4.10 FAIR COIN FLIPS
- 4.11 MENTAL POKER
- 4.12 ONE-WAY ACCUMULATORS
- 4.13 ALL-OR-NOTHING DISCLOSURE OF SECRETS
- 4.14 KEY ESCROW
- CHAPTER 5: Advanced Protocols
- CHAPTER 6: Esoteric Protocols
-
PART II: CRYPTOGRAPHIC TECHNIQUES
- CHAPTER 7: Key Length
- CHAPTER 8: Key Management
-
CHAPTER 9: Algorithm Types and Modes
- 9.1 ELECTRONIC CODEBOOK MODE
- 9.2 BLOCK REPLAY
- 9.3 CIPHER BLOCK CHAINING MODE
- 9.4 STREAM CIPHERS
- 9.5 SELF-SYNCHRONIZING STREAM CIPHERS
- 9.6 CIPHER-FEEDBACK MODE
- 9.7 SYNCHRONOUS STREAM CIPHERS
- 9.8 OUTPUT-FEEDBACK MODE
- 9.9 COUNTER MODE
- 9.10 OTHER BLOCK-CIPHER MODES
- 9.11 CHOOSING A CIPHER MODE
- 9.12 INTERLEAVING
- 9.13 BLOCK CIPHERS VERSUS STREAM CIPHERS
-
CHAPTER 10: Using Algorithms
- 10.1 CHOOSING AN ALGORITHM
- 10.2 PUBLIC-KEY CRYPTOGRAPHY VERSUS SYMMETRIC CRYPTOGRAPHY
- 10.3 ENCRYPTING COMMUNICATIONS CHANNELS
- 10.4 ENCRYPTING DATA FOR STORAGE
- 10.5 HARDWARE ENCRYPTION VERSUS SOFTWARE ENCRYPTION
- 10.6 COMPRESSION, ENCODING, AND ENCRYPTION
- 10.7 DETECTING ENCRYPTION
- 10.8 HIDING CIPHERTEXT IN CIPHERTEXT
- 10.9 DESTROYING INFORMATION
-
PART III: CRYPTOGRAPHIC ALGORITHMS
- CHAPTER 11: Mathematical Background
- CHAPTER 12: Data Encryption Standard (DES)
- CHAPTER 13: Other Block Ciphers
- CHAPTER 14: Still Other Block Ciphers
- CHAPTER 15: Combining Block Ciphers
- CHAPTER 16: Pseudo-Random-Sequence Generators and Stream Ciphers
-
CHAPTER 17: Other Stream Ciphers and Real Random-Sequence Generators
- 17.1 RC4
- 17.2 SEAL
- 17.3 WAKE
- 17.4 FEEDBACK WITH CARRY SHIFT REGISTERS
- 17.5 STREAM CIPHERS USING FCSRS
- 17.6 NONLINEAR-FEEDBACK SHIFT REGISTERS
- 17.7 OTHER STREAM CIPHERS
- 17.8 SYSTEM-THEORETIC APPROACH TO STREAM-CIPHER DESIGN
- 17.9 COMPLEXITY-THEORETIC APPROACH TO STREAM-CIPHER DESIGN
- 17.10 OTHER APPROACHES TO STREAM-CIPHER DESIGN
- 17.11 CASCADING MULTIPLE STREAM CIPHERS
- 17.12 CHOOSING A STREAM CIPHER
- 17.13 GENERATING MULTIPLE STREAMS FROM A SINGLE PSEUDO-RANDOM-SEQUENCE GENERATOR
- 17.14 REAL RANDOM-SEQUENCE GENERATORS
-
CHAPTER 18: One-Way Hash Functions
- 18.1 BACKGROUND
- 18.2 SNEFRU
- 18.3 N -HASH
- 18.4 MD4
- 18.5 MD5
- 18.6 MD2
- 18.7 SECURE HASH ALGORITHM (SHA)
- 18.8 RIPE-MD
- 18.9 HAVAL
- 18.10 OTHER ONE-WAY HASH FUNCTIONS
- 18.11 ONE-WAY HASH FUNCTIONS USING SYMMETRIC BLOCK ALGORITHMS
- 18.12 USING PUBLIC-KEY ALGORITHMS
- 18.13 CHOOSING A ONE-WAY HASH FUNCTION
- 18.14 MESSAGE AUTHENTICATION CODES
- CHAPTER 19: Public-Key Algorithms
- CHAPTER 20: Public-Key Digital Signature Algorithms
- CHAPTER 21: Identification Schemes
- CHAPTER 22: Key-Exchange Algorithms
-
CHAPTER 23: Special Algorithms for Protocols
- 23.1 MULTIPLE-KEY PUBLIC-KEY CRYPTOGRAPHY
- 23.2 SECRET-SHARING ALGORITHMS
- 23.3 SUBLIMINAL CHANNEL
- 23.4 UNDENIABLE DIGITAL SIGNATURES
- 23.5 DESIGNATED CONFIRMER SIGNATURES
- 23.6 COMPUTING WITH ENCRYPTED DATA
- 23.7 FAIR COIN FLIPS
- 23.8 ONE-WAY ACCUMULATORS
- 23.9 ALL-OR-NOTHING DISCLOSURE OF SECRETS
- 23.10 FAIR AND FAILSAFE CRYPTOSYSTEMS
- 23.11 ZERO-KNOWLEDGE PROOFS OF KNOWLEDGE
- 23.12 BLIND SIGNATURES
- 23.13 OBLIVIOUS TRANSFER
- 23.14 SECURE MULTIPARTY COMPUTATION
- 23.15 PROBABILISTIC ENCRYPTION
- 23.16 QUANTUM CRYPTOGRAPHY
-
PART IV: THE REAL WORLD
-
CHAPTER 24: Example Implementations
- 24.1 IBM SECRET-KEY MANAGEMENT PROTOCOL
- 24.2 MITRENET
- 24.3 ISDN
- 24.4 STU-III
- 24.5 KERBEROS
- 24.6 KRYPTOKNIGHT
- 24.7 SESAME
- 24.8 IBM COMMON CRYPTOGRAPHIC ARCHITECTURE
- 24.9 ISO AUTHENTICATION FRAMEWORK
- 24.10 PRIVACY-ENHANCED MAIL (PEM)
- 24.11 MESSAGE SECURITY PROTOCOL (MSP)
- 24.12 PRETTY GOOD PRIVACY (PGP)
- 24.13 SMART CARDS
- 24.14 PUBLIC-KEY CRYPTOGRAPHY STANDARDS (PKCS)
- 24.15 UNIVERSAL ELECTRONIC PAYMENT SYSTEM (UEPS)
- 24.16 CLIPPER
- 24.17 CAPSTONE
- 24.18 AT&T MODEL 3600 TELEPHONE SECURITY DEVICE (TSD)
-
CHAPTER 25: Politics
- 25.1 NATIONAL SECURITY AGENCY (NSA)
- 25.2 NATIONAL COMPUTER SECURITY CENTER (NCSC)
- 25.3 NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY (NIST)
- 25.4 RSA DATA SECURITY, INC.
- 25.5 PUBLIC KEY PARTNERS
- 25.6 INTERNATIONAL ASSOCIATION FOR CRYPTOLOGIC RESEARCH (IACR)
- 25.7 RACE INTEGRITY PRIMITIVES EVALUATION (RIPE)
- 25.8 CONDITIONAL ACCESS FOR EUROPE (CAFE)
- 25.9 ISO/IEC 9979
- 25.10 PROFESSIONAL, CIVIL LIBERTIES, AND INDUSTRY GROUPS
- 25.11 SCI.CRYPT
- 25.12 CYPHERPUNKS
- 25.13 PATENTS
- 25.14 U.S. EXPORT RULES
- 25.15 FOREIGN IMPORT AND EXPORT OF CRYPTOGRAPHY
- 25.16 LEGAL ISSUES
- Afterword by Matt Blaze
-
CHAPTER 24: Example Implementations
- PART V: SOURCE CODE
- References
- Index
Product information
- Title: Applied Cryptography: Protocols, Algorithms and Source Code in C, 20th Anniversary Edition
- Author(s):
- Release date: March 2015
- Publisher(s): Wiley
- ISBN: 9781119096726
You might also like
book
Implementing SSL/TLS Using Cryptography and PKI
Hands-on, practical guide to implementing SSL and TLS protocols for Internet security If you are a …
book
Hacking APIs
An Application Programming Interface (API) is a software connection that allows applications to communicate and share …
book
TCP/IP Illustrated, Volume 1: The Protocols, 2nd Edition
“For an engineer determined to refine and secure Internet operation or to explore alternative solutions to …
book
The Linux Programming Interface
The Linux Programming Interface is the definitive guide to the Linux and UNIX programming interface—the interface …