Applied cryptography : protocols, algorithms, and source code in C / Bruce Schneier
Book | Wiley | 2015 | 20th anniversary edition.
Available at Gateway-Racine Campus General Collection (QA 76.9 A2.5 S3.5 2015)

Additional actions:

close
see all

Items

Location Call No. Status
Gateway-Racine Campus General Collection QA 76.9 A2.5 S3.5 2015 Available
Show fewer items

More Details

Edition
20th anniversary edition.
Description
xxv, 758 pages : illustrations ; 24 cm
Bibliography
Includes bibliographical references (pages 675-741) and index.
Contents
1. Foundations
1.1 Terminology -- 1.2 Steganography -- 1.3 Substitution Ciphers and Transposition Ciphers -- 1.4 Simple XOR -- 1.5 One-Time Pads -- 1.6 Computer Algorithms -- 1.7 Large Numbers
Part I: Cryptographic Protocols
2. Protocol Building Blocks
2.1 Introduction to Protocols -- 2.2 Communications Using Symmetric Cryptography -- 2.3 One-Way Function -- 2.4 One-Way Hash Functions -- 2.5 Communications Using Public-Key Cryptography -- 2.6 Digital Signatures -- 2.7 Digital Signatures with Encryption -- 2.8 Random and Pseudo-Random -Sequence Generation
3. Basic Protocols
3.1 Key Exchange -- 3.2 Authentication -- 3.3 Authentication and Key Exchange -- 3.4 Formal Analysis of Authentication and Key-Exchange Protocols -- 3.5 Multilpe-Key Public-Key Cryptopgraphy -- 3.6 Secret Splitting -- 3.7 Secret Sharing -- 3.8 Cryptography Protection of Databases
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.13 All-or-Nothing Disclosure of Secrets -- 4.14 Key Escrow
5. Advanced Protocols
5.1 Zero-Knowledge Proofs -- 5.2 Zero-Knowledge Proogs of Identity -- 5.3 Blind Signatures -- 5.4 Identity-Based Public-Key Cryptography -- 5.5 Oblivious Transfer -- 5.6 Oblivious Signatures -- 5.7 Simultaneous Contract Signing -- 5.8 Digital Certified Mail -- 5.9 Simultaneous Exchange of Secrets
6.1 Secure Elections -- 6.2 Secure Multiparty Computation -- 6.3 Anonymous Message Broadcast -- 6.4 Digital Cash
6. Esoteric Protocols
Part II: Cryptographic Techniques
7. Key Length
7.1 Symmetric Key Length -- 7.2 Public-Key Key Length -- 7.3 Comparing Symmetric and Public-Key Key Length -- 7.4 Birthday Attacks Against One-Way Hash Functions -- 7.5 How Long Should a Key Be? -- 7.6 Caveat Emptor
8. Key Management
8.1 Generating Keys -- 8.2 Nonlinear Keyspaces -- 8.3 Transferring Keys -- 8.4 Verifying Keys -- 8.5 Using Keys -- 8.6 Updating Keys -- 8.7 Storing Keys -- 8.8 Backup Keys -- 8.9 Compromised Keys -- 8.10 Lifetime of Keys -- 8.11 Destroying Keys -- 8.12 Public-Key Mangement
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
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
11. Mathematical Background
11.1 Information Theory -- 11.2 Complexity Theory -- 11.3 Number Theory -- 11.4 Factoring -- 11.5 Prime Number Generation -- 11.6 Discrete Logarithms in a Finite Field
12. Data Encryption Standard (DES)
12.1 Background -- 12.2 Description of DES -- 12.3 Security of DES -- 12.4 Differential and Linear Cryptanalysis -- 12.5 The Real Design Criteria -- 12.6 DES Variants -- 12.7 How Secure is DES today?
13. Other Block Ciphers
13.1 Lucifer -- 13.2 Madryga -- 13.3 NewDES -- 13.4 FEAL -- 13.5 REDOC -- 13.6 LOKI -- 13.7 Khufu and Khafre -- 13.8 RC2 -- 13.9 IDEA -- 13.10 MMB -- 13.11 CA-1.1 -- 13.12 Skipjack
14. Still Other Block Ciphers
14.1 GOST -- 14.2 CAST -- 14.3 Blowfish -- 14.4 SAFER -- 14.5 3-Way -- 14.6 Crab -- 14.7 SXAL8/MBAL -- 14.8 RC5 -- 14.9 Other Block Algorithms -- 14.10 Theory of Block Cipher Design -- 14.11 Using One-Way Hash Functions -- 14.12 Choosing a Block Algorithm
15. Combing Block Ciphers
15.1 Double Encryption -- 15.2 Triple Encryption -- 15.3 Doubling the Block Length -- 15.4 Other Multiple Encryption Schemes -- 15.5 CDMF Key Shortening -- 15.6 Whitening -- 15.7 Cascading Multiple Block Algorithms -- 15.8 Combining Multiple Block Algorithms
16. Pseudo-Random-Sequence Generators and Stream Ciphers
16.1 Linear Congruential Generations -- 16.2 Linear Feedback Shift Registers -- 16.3 Design and Analysis of Stream Ciphers -- 16.4 Stream Ciphers Using LFSRs -- 16.5 A5 -- 16.6 Hughs XPD/KPD -- 16.7 Nanoteq -- 16.8 Rambutan -- 16.9 Additive Generators -- 16.10 Gifford -- 16.11 Algorithm M -- 16.12 PKZIP
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-Thematic 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
18.1 Background -- 18.2 SNEFRU -- 18.3 N-Hash -- 18.4 MD4 -- 18.5 MD5 -- 18.6 MD2 -- 18.7 Secure Hash Algorithms (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
19. Public-Key Algorithms
19.1 Background -- 19.2 Knapsack Algorithms -- 19.3 RSA -- 19.4 Pohlig-Hellman -- 19.5 Rabin -- 19.6 ElGamal -- 19.7 McEliece -- 19.8 Elliptic Curve Cryptosystems -- 19.10 Finite Automaton Public-Key Cryptosystems
20. Public-Key Digital Signature Algorithms
20.1 Digital Signature Algorithms (DSA) -- 20.2 DSA Variants -- 20.3 GOST Digital Signature Algorithm -- 20.4 Discrete Logarithm Signature Schemes -- 20.5 Ong-Schnorr-Shamir -- 20.6 ESIGN -- 20.7 Cellular Automata -- 20.8 Other Public-Key Algorithms
21. Identification Schemes
21.1 Feige-Fiat-Shamir -- 21.2 Guillou-Quisquater -- 21.3 Schnorr -- 21.4 Converting Identification Schemes to Signature Schemes
22. Key-Exchange Algorithms
22.1 Diffie-Hellman -- 22.2 Station-to-Station Protocol -- 22.3 Shamir's Three-Pass Protocol -- 22.4 COMSET -- 22.5 Encrypted Key Exchange -- 22.6 Fortified Key Negotiation -- 22.7 Conference Key Distribution and Secret Broadcasting
23. Special Algorithms for Protocols
23.1 Multiple-Key Public-Key Cryptography -- 23.2 Secret-Shaping Algorithms -- 23.3 Suliminal Channel -- 23.4 Undeniable Confirmer Signatures -- 23.5 Designated Confirmer Signatures -- 23.6 Computing with Encrypted Data -- 23.7 Fair Coin Flips -- 23.8 One-Way Accumaulators -- 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
18. One-Way Hash Functions
Part IV: The Real World
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)
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 Cryptographic Research (IACR) -- 25.7 RACE Integrity primitives Evaluation (RIPE) -- 25.8 Conditional Access for Europe (CAFE) -- 25.9 ISO/IEC -- 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
Part V: Source Code
Summary
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.
51.00 DATA PROC (10-150-2B)
Subject
Other Sources:
View in classic catalog View MARC display
Back to top