http://join2-wiki.gsi.de/foswiki/pub/Main/Artwork/join2_logo100x88.png
Applied Cryptography: Protocols, Algorithms and Source Code in C
Schneier, B.
2017
Wiley
New York
ISBN: 9781119439028, 1119439027
New York : Wiley : 20, 784 S (2017)2017
This record in other databases:
Abstract: 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.Bruce Schneier is an internationally renowned security technologist, called a 'security guru' by The Economist. He is the author of twelve books-including his seminal work, Applied Cryptography: Protocols, Algorithms, and Source Code in C, and Secrets & Lies: Digital Security in a Networked World as well as hundreds of articles, essays, and academic papers. His influential newsletter 'Crypto-Gram' and blog 'Schneier on Security' are read by over 250,000 people. Schneier is a fellow at the Berkman Center for Internet and Society at Harvard Law School, a program fellow at the New America Foundation's Open Technology Institute, a board member of the Electronic Frontier Foundation, and an Advisory Board member of the Electronic Privacy Information Center. He is also the Chief Technology Officer of Resilient Systems, Inc.-
You can read his blog, essays, andacademic papers at www.schneier.com. He tweets at @schneierblog
Content:
- Review.- Title Page.- Copyright.- Contents.- Introduction.- Foreword By Whitfield Diffie.- Preface.- How to Read this Book.- Acknowledgments.- About The Author.- 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 Functions.- 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 Multiple-Key Public-Key Cryptography.- 3.6 Secret Splitting.- 3.7 Secret Sharing.- 3.8 Cryptographic-
- Protection of Databases.- 4 Intermediate Protocols.- 4.1 Timestamping Services.- 4.2 Subliminal Channel 79.- 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.- 5 Advanced Protocols.- 5.1 Zero-Knowledge Proofs.- 5.2 Zero-Knowledge Proofs 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 Esoteric Protocols.- 6.1 Secure Elections.- 6.2 Secure Multiparty Computation.- 6.3 Anonymous Message Broadcast.- 6.4 Digital Cash.- 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 Key Management.- 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 342.- 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 Combining 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 Generators.- 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 Hughes XPD/KPD.- 16.7 Nanoteq 390.- 16.8 Rambutan.- 16.9 Additive Generators.- 16.10 Gifford 392.- 16.11 Algorithm M.- 16.12 PKZIP 394.- 17 Other Stream Ciphers and Real Random-Sequence Generators.- 17.1 RC4 397.- 17.2 SEAL.- 17.3 WAKE 400.- 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 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.- 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.9 LUC.- 19.10 Finite Automaton Public-Key Cryptosystems.- 20 Public-Key Digital Signature-
- Algorithms.- 20.1 Digital Signature Algorithm (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-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.- 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 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.- Part V Source Code.- Source Code.- References.- Index.- Eula