Si mismo como otro
معرفی کتاب «Si mismo como otro» نوشتهٔ Bart Preneel، Christof Paar، Jan Pelzl، Tim Güneysu و Ricoeur, Paul، منتشرشده توسط نشر 1601 در سال 1601. این کتاب در فرمت pdf، زبان es ارائه شده است.
Understanding and employing cryptography has become central for securing virtually any digital application, whether user app, cloud service, or even medical implant. Heavily revised and updated, the long-awaited second edition of Understanding Cryptography follows the unique approach of making modern cryptography accessible to a broad audience, requiring only a minimum of prior knowledge. After introducing basic cryptography concepts, this seminal textbook covers nearly all symmetric, asymmetric, and post-quantum cryptographic algorithms currently in use in applications―ranging from cloud computing and smart phones all the way to industrial systems, block chains, and cryptocurrencies. Topics and features: Opens with a foreword by cryptography pioneer and Turing Award winner, Ron Rivest Helps develop a comprehensive understanding of modern applied cryptography Provides a thorough introduction to post-quantum cryptography consisting of the three standardized cipher families Includes for every chapter a comprehensive problem set, extensive examples, and a further-reading discussion Communicates, using a unique pedagogical approach, the essentials about foundations and use in practice, while keeping mathematics to a minimum Supplies up-to-date security parameters for all cryptographic algorithms Incorporates chapter reviews and discussion on such topics as historical and societal context This must-have book is indispensable as a textbook for graduate and advanced undergraduate courses, as well as for self-study by designers and engineers. The authors have more than 20 years’ experience teaching cryptography at various universities in the US and Europe. In addition to being renowned scientists, they have extensive experience with applying cryptography in industry, from which they have drawn important lessons for their teaching. Foreword Preface Content Overview What’s New How to Use the Book More Information Acknowledgements Table of Contents Chapter 1 Introduction to Cryptography and Data Security 1.1 Overview of Cryptology (and This Book) 1.2 Symmetric Cryptography 1.2.1 Basics 1.2.2 Simple Symmetric Encryption: The Substitution Cipher First Attack: Brute-Force Attack or Exhaustive Key Search Second Attack: Letter Frequency Analysis 1.3 Cryptanalysis 1.3.1 General Thoughts on Breaking Cryptosystems Classical Cryptanalysis Implementation Attacks Social Engineering Attacks 1.3.2 How Many Key Bits Are Enough? 1.4 Modular Arithmetic and More Historical Ciphers 1.4.1 Modular Arithmetic Computation of the Remainder The Remainder Is Not Unique All Members of a Given Equivalence Class Behave Equivalently Which Remainder Do We Choose? 1.4.2 Integer Rings 1.4.3 Shift Cipher (or Caesar Cipher) 1.4.4 Affine Cipher 1.5 Discussion and Further Reading 1.6 Lessons Learned Problems Chapter 2 Stream Ciphers 2.1 Introduction 2.1.1 Stream Ciphers vs. Block Ciphers 2.1.2 Encryption and Decryption with Stream Ciphers Why Are Encryption and Decryption the Same Function? Why is Modulo 2 Addition a Good Encryption Function? What Exactly is the Nature of the Key Stream? 2.2 Random Numbers and an Unbreakable Stream Cipher 2.2.1 Random Number Generators True Random Number Generators (TRNGs) (General) Pseudorandom Number Generators (PRNGs) Cryptographically Secure Pseudorandom Number Generators (CSPRNGs) 2.2.2 The One-Time Pad 2.2.3 Towards Practical Stream Ciphers Building Key Streams from PRNGs Building Key Streams from CSPRNGs 2.3 Shift Register-Based Stream Ciphers 2.3.1 Linear Feedback Shift Registers (LFSRs) A Mathematical Description of LFSRs 2.3.2 Known-Plaintext Attack Against Single LFSRs 2.4 Practical Stream Ciphers 2.4.1 Salsa20 Encryption and Decryption with Salsa20 Core Function of Salsa20 Implementation 2.4.2 ChaCha Encryption and Decryption with ChaCha20 Core Function of ChaCha20 Implementation 2.4.3 Trivium Core Function of Trivium Encryption and Decryption with Trivium Security of Trivium 2.5 Discussion and Further Reading 2.6 Lessons Learned Problems Chapter 3 The Data Encryption Standard (DES) and Alternatives 3.1 Introduction to DES 3.1.1 Confusion and Diffusion 3.2 Overview of the DES Algorithm 3.3 Internal Structure of DES 3.3.1 Initial and Final Permutation 3.3.2 The f Function 3.3.3 Key Schedule 3.4 Decryption Reversed Key Schedule Decryption in Feistel Networks 3.5 Security of DES 3.5.1 Exhaustive Key Search 3.5.2 Analytical Attacks 3.6 Implementation in Software and Hardware Software Hardware 3.7 DES Alternatives 3.7.1 The Advanced Encryption Standard (AES) and the AES Finalist Ciphers 3.7.2 Triple DES (3DES) and DESX 3.7.3 Lightweight Cipher PRESENT 3.8 Discussion and Further Reading 3.9 Lessons Learned Problems Chapter 4 The Advanced Encryption Standard (AES) 4.1 Introduction 4.2 Overview of the AES Algorithm 4.3 Some Mathematics: A Brief Introduction to Galois Fields 4.3.1 Existence of Finite Fields 4.3.2 Prime Fields 4.3.3 Extension Fields GF(2m) 4.3.4 Addition and Subtraction in GF(2m) 4.3.5 Multiplication in GF(2m) 4.3.6 Inversion in GF(2m) 4.4 Internal Structure of AES 4.4.1 Byte Substitution Layer 4.4.2 Diffusion Layer ShiftRows Sublayer MixColumn Sublayer 4.4.3 Key Addition Layer 4.4.4 Key Schedule Key Schedule for 128-Bit Key AES Key Schedule for 192-Bit Key AES Key Schedule for 256-Bit Key AES 4.5 Decryption Inverse MixColumn Sublayer Inverse ShiftRows Sublayer Inverse Byte Substitution Layer Decryption Key Schedule 4.6 Implementation in Software and Hardware Software Hardware 4.7 Discussion and Further Reading 4.8 Lessons Learned Problems Chapter 5 More About Block Ciphers 5.1 Modes of Operation for Encryption and Authentication 5.1.1 Electronic Codebook Mode (ECB) 5.1.2 Cipher Block Chaining Mode (CBC) and Initialization Vectors 5.1.3 Output Feedback Mode (OFB) 5.1.4 Cipher Feedback Mode (CFB) 5.1.5 Counter Mode (CTR) 5.1.6 XTS-AES 5.2 Exhaustive Key Search Revisited 5.3 Increasing the Security of Block Ciphers 5.3.1 Double Encryption and Meet-in-the-Middle Attack 5.3.2 Triple Encryption 5.3.3 Key Whitening 5.4 Discussion and Further Reading 5.5 Lessons Learned Problems Chapter 6 Introduction to Public-Key Cryptography 6.1 Symmetric vs. Asymmetric Cryptography Symmetric Cryptography Revisited Principles of Asymmetric Cryptography — Encryption and Key Transport 6.2 Practical Aspects of Public-Key Cryptography 6.2.1 Security Mechanisms 6.2.2 The Remaining Problem: Authenticity of Public Keys 6.2.3 Important Public-Key Algorithms 6.2.4 Key Lengths and Security Levels 6.3 Essential Number Theory for Public-Key Algorithms 6.3.1 Euclidean Algorithm 6.3.2 Extended Euclidean Algorithm 6.3.3 Euler’s Phi Function 6.3.4 Fermat’s Little Theorem and Euler’s Theorem 6.4 Discussion and Further Reading 6.5 Lessons Learned Problems Chapter 7 The RSA Cryptosystem 7.1 Introduction 7.2 Encryption and Decryption 7.3 Key Generation and Proof of Correctness 7.4 Encryption and Decryption: Fast Exponentiation 7.5 Speed-Up Techniques for RSA 7.5.1 Fast Encryption with Short Public Exponents 7.5.2 Fast Decryption with the Chinese Remainder Theorem Transformation of the Input into the CRT Domain Exponentiation in the CRT Domain Inverse Transformation into the Problem Domain 7.6 Finding Large Primes 7.6.1 How Common Are Primes? 7.6.2 Primality Tests Fermat Primality Test Miller–Rabin Primality Test 7.7 RSA in Practice: Padding 7.8 Key Encapsulation 7.9 Attacks Protocol Attacks Mathematical Attacks Side-Channel Attacks 7.10 Implementation in Software and Hardware 7.11 Discussion and Further Reading 7.12 Lessons Learned Problems Chapter 8 Cryptosystems Based on the Discrete Logarithm Problem 8.1 Diffie–Hellman Key Exchange 8.2 Some Abstract Algebra 8.2.1 Groups 8.2.2 Cyclic Groups 8.2.3 Subgroups 8.3 The Discrete Logarithm Problem 8.3.1 The Discrete Logarithm Problem in Prime Fields 8.3.2 The Generalized Discrete Logarithm Problem 8.3.3 Attacks Against the Discrete Logarithm Problem Generic Algorithms Nongeneric Algorithms: The Index-Calculus Method 8.4 Security of the Diffie–Hellman Key Exchange 8.5 The Elgamal Encryption Scheme 8.5.1 From Diffie–Hellman Key Exchange to Elgamal Encryption 8.5.2 The Elgamal Protocol 8.5.3 Computational Aspects 8.5.4 Security Passive Attacks Active Attacks 8.6 Discussion and Further Reading 8.7 Lessons Learned Problems Chapter 9 Elliptic Curve Cryptosystems 9.1 How to Compute with Elliptic Curves 9.1.1 Definition of Elliptic Curves 9.1.2 Group Operations on Elliptic Curves 9.2 Building a Discrete Logarithm Problem with Elliptic Curves 9.3 Diffie–Hellman Key Exchange with Elliptic Curves 9.4 Security 9.5 Implementation in Software and Hardware 9.6 Discussion and Further Reading 9.7 Lessons Learned Problems Chapter 10 Digital Signatures 10.1 Introduction 10.1.1 Odd Colors for Cars, or: Why Symmetric Cryptography Is Not Sufficient 10.1.2 Principles of Digital Signatures 10.1.3 Security Services 10.1.4 Applications of Digital Signatures 10.2 The RSA Signature Scheme 10.2.1 Schoolbook RSA Digital Signature 10.2.2 Computational Aspects 10.2.3 Security Existential Forgery RSA Padding: The Probabilistic Signature Standard (PSS) 10.3 The Elgamal Digital Signature Scheme 10.3.1 Schoolbook Elgamal Digital Signature Key Generation Signing and Verification 10.3.2 Computational Aspects 10.3.3 Security Computing Discrete Logarithms Reuse of the Ephemeral Key Existential Forgery Attack 10.4 The Digital Signature Algorithm (DSA) 10.4.1 The DSA Algorithm Key Generation Signature and Verification 10.4.2 Computational Aspects Key Generation Signing Verification 10.4.3 Security 10.5 The Elliptic Curve Digital Signature Algorithm (ECDSA) 10.5.1 The ECDSA Algorithm Key Generation Signature and Verification 10.5.2 Computational Aspects 10.5.3 Security 10.6 Discussion and Further Reading 10.7 Lessons Learned Problems Chapter 11 Hash Functions 11.1 Motivation: Signing Long Messages 11.2 Security Requirements of Hash Functions 11.2.1 Preimage Resistance or One-Wayness 11.2.2 Second Preimage Resistance or Weak Collision Resistance 11.2.3 Collision Resistance and the Birthday Attack 11.3 Overview of Hash Algorithms 11.3.1 Hash Functions from Block Ciphers 11.3.2 The Dedicated Hash Functions SHA-1, SHA-2 and SHA-3 11.4 The Secure Hash Algorithm SHA-2 11.4.1 SHA-256 Preprocessing 11.4.2 The SHA-256 Compression Function 11.4.3 Implementation in Software and Hardware 11.5 The Secure Hash Algorithm SHA-3 11.5.1 High-Level View of SHA-3 11.5.2 Suffix, Padding and Output Generation 11.5.3 The Function Keccak-f (or the Keccak- f Permutation) 11.5.4 Other Cryptographic Functions Based on Keccak 11.5.5 Implementation in Software and Hardware 11.6 Discussion and Further Reading 11.7 Lessons Learned Problems Chapter 12 Post-Quantum Cryptography 12.1 Introduction 12.1.1 Quantum Computing and Cryptography Quantum Computer Attacks on Symmetric Cryptosystems Quantum Computer Attacks on Asymmetric Cryptosystems 12.1.2 Quantum-Secure Asymmetric Cryptosystems 12.1.3 The Use of Uncertainty in Cryptography 12.2 Lattice-Based Cryptography 12.2.1 The Learning With Errors (LWE) Problem 12.2.2 A Simple LWE-Based Encryption System Encoding and Decoding A Simple Encryption and Decryption Scheme Shortcomings of the Simple-LWE Scheme 12.2.3 The Ring Learning With Errors Problem 12.2.4 Ring-LWE Encryption Scheme Encryption and Decryption 12.2.5 LWE in Practice 12.2.6 Final Remarks 12.3 Code-Based Cryptography 12.3.1 Linear Codes 12.3.2 The Syndrome Decoding Problem 12.3.3 Encryption Schemes The McEliece Cryptosystem The Niederreiter Cryptosystem 12.3.4 Suitable Choices of Codes 12.3.5 Final Remarks 12.4 Hash-Based Cryptography 12.4.1 One-Time Signatures Lamport-Diffie One-Time Signatures (LD-OTS) Key Generation Signing a Message Verifying a Message Discussion Winternitz One-Time Signatures (W-OTS) Key Generation Signing a Message Verifiying a Message 12.4.2 Many-Time Signatures Principle of MSS Signatures Formal Description of MSS 12.4.3 Final Remarks 12.5 PQC Standardization 12.6 Discussion and Further Reading 12.7 Lessons Learned Problems Chapter 13 Message Authentication Codes (MACs) 13.1 Principles of Message Authentication Codes 13.2 MACs from Hash Functions: HMAC Attacks Against Secret Prefix MACs (Length Extension Attack) Attacks Against Secret Suffix MACs HMAC 13.3 MACs from Block Ciphers 13.3.1 CBC-MAC 13.3.2 Cipher-based MAC (CMAC) 13.3.3 Authenticated Encryption: The Counter with Cipher Block Chaining-Message Authentication Code (CCM) 13.3.4 Authenticated Encryption: The Galois Counter Mode (GCM) 13.3.5 Galois Counter Message Authentication Code (GMAC) 13.4 Discussion and Further Reading 13.5 Lessons Learned Problems Chapter 14 Key Management 14.1 Introduction Key n2 Distribution Problem 14.2 Key Derivation Key Derivation Functions Password-Based Key Derivation The Password-Based Key Derivation Function PBKDF2 14.3 Key Establishment Using Symmetric-Key Techniques 14.3.1 Key Establishment with a Key Distribution Center Basic Protocol Security 14.3.2 Needham-Schroeder Protocol 14.3.3 Remaining Problems with Symmetric-Key Distribution 14.4 Key Establishment Using Asymmetric Techniques 14.4.1 Man-in-the-Middle Attack 14.4.2 Certificates X.509 Certificates 14.5 Public-Key Infrastructures (PKIs) and CAs 14.5.1 Certificate Chains 14.5.2 Certificate Revocation Certificate Revocation Lists Online Certificate Status Protocol 14.6 Practical Aspects of Key Management 14.7 Discussion and Further Reading 14.8 Lessons Learned Problems References Index
دانلود کتاب Si mismo como otro