Catalog

Record Details

Catalog Search



Understanding Cryptography A Textbook for Students and Practitioners  Cover Image E-book E-book

Understanding Cryptography [electronic resource] : A Textbook for Students and Practitioners / by Christof Paar, Jan Pelzl.

Paar, Christof. (author.). Pelzl, Jan. (author.). SpringerLink (Online service) (Added Author).

Record details

  • ISBN: 9783642041013
  • Physical Description: XVIII, 372p. 160 illus. online resource.
  • Publisher: Berlin, Heidelberg : Springer Berlin Heidelberg, 2010.
Subject: Computer science.
Data protection.
Data structures (Computer science).
Systems engineering.
Computer Science.
Data Structures, Cryptology and Information Theory.
Circuits and Systems.
Systems and Data Security.

Electronic resources


Chapter 1. Introduction to Cryptography and Data Security1
1.1. Overview of Cryptology (and This Book)2
1.2. Symmetric Cryptography4
1.2.1. Basics4
1.2.2. Simple Symmetric Encryption: The Substitution Cipher6
1.3. Cryptanalysis9
1.3.1. General Thoughts on Breaking Cryptosystems9
1.3.2. How Many Key Bits Are Enough?11
1.4. Modular Arithmetic and More Historical Ciphers13
1.4.1. Modular Arithmetic13
1.4.2. Integer Rings16
1.4.3. Shift Cipher (or Caesar Cipher)18
1.4.4. Affine Cipher19
1.5. Discussion and Further Reading20
1.6. Lessons Learned22
Problems24
Chapter 2. Stream Ciphers29
2.1. Introduction30
2.1.1. Stream Ciphers vs. Block Ciphers30
2.1.2. Encryption and Decryption with Stream Ciphers31
2.2. Random Numbers and an Unbreakable Stream Cipher34
2.2.1. Random Number Generators34
2.2.2. The One-Time Pad36
2.2.3. Towards Practical Stream Ciphers38
2.3. Shift Register-Based Stream Ciphers41
2.3.1. Linear Feedback Shift Registers (LFSR)41
2.3.2. Known-Plaintext Attack Against Single LFSRs45
2.3.3. Trivium46
2.4. Discussion and Further Reading49
2.5. Lessons Learned50
Problems52
Chapter 3. The Data Encryption Standard (DES) and Alternatives55
3.1. Introduction to DES56
3.1.1. Confusion and Diffusion57
3.2. Overview of the DES Algorithm58
3.3. Internal Structure of DES61
3.3.1. Initial and Final Permutation61
3.3.2. The f-Function62
3.3.3. Key Schedule67
3.4. Decryption69
3.5. Security of DES72
3.5.1. Exhaustive Key Search73
3.5.2. Analytical Attacks75
3.6. Implementation in Software and Hardware75
3.7. DES Alternatives77
3.7.1. The Advanced Encryption Standard (AES) and the AES Finalist Ciphers77
3.7.2. Triple DES (3DES) and DESX78
3.7.3. Lightweight Cipher PRESENT78
3.8. Discussion and Further Reading81
3.9. Lessons Learned82
Problems83
Chapter 4. The Advanced Encryption Standard (AES)87
4.1. Introduction88
4.2. Overview of the AES Algorithm89
4.3. Some Mathematics: A Brief Introduction to Galois Fields90
4.3.1. Existence of Finite Fields90
4.3.2. Prime Fields93
4.3.3. Extension Fields GF(2^m)94
4.3.4. Addition and Subtraction in GF(2^m)95
4.3.5. Multiplication in GF(2^m)96
4.3.6. Inversion in GF(2^m)98
4.4. Internal Structure of AES99
4.4.1. Byte Substitution Layer101
4.4.2. Diffusion Layer103
4.4.3. Key Addition Layer106
4.4.4. Key Schedule106
4.5. Decryption110
4.6. Implementation in Software and Hardware115
4.7. Discussion and Further Reading116
4.8. Lessons Learned117
Problems118
Chapter 5. More About Block Ciphers123
5.1. Encryption with Block Ciphers: Modes of Operation124
5.1.1. Electronic Codebook Mode (ECB)124
5.1.2. Cipher Block Chaining Mode (CBC)128
5.1.3. Output Feedback Mode (OFB)130
5.1.4. Cipher Feedback Mode (CFB)131
5.1.5. Counter Mode (CTR)132
5.1.6. Galois Counter Mode (GCM)134
5.2. Exhaustive Key Search Revisited136
5.3. Increasing the Security of Block Ciphers137
5.3.1. Double Encryption and Meet-in-the-Middle Attack138
5.3.2. Triple Encryption140
5.3.3. Key Whitening141
5.4. Discussion and Further Reading143
5.5. Lessons Learned144
Problems145
Chapter 6. Introduction to Public-Key Cryptography149
6.1. Symmetric vs. Asymmetric Cryptography150
6.2. Practical Aspects of Public-Key Cryptography153
6.2.1. Security Mechanisms154
6.2.2. The Remaining Problem: Authenticity of Public Keys154
6.2.3. Important Public-Key Algorithms155
6.2.4. Key Lengths and Security Levels156
6.3. Essential Number Theory for Public-Key Algorithms157
6.3.1. Euclidean Algorithm157
6.3.2. Extended Euclidean Algorithm160
6.3.3. Euler's Phi Function164
6.3.4. Fermat's Little Theorem and Euler's Theorem166
6.4. Discussion and Further Reading168
6.5. Lessons Learned169
Problems170
Chapter 7. The RSA Cryptosystem173
7.1. Introduction174
7.2. Encryption and Decryption174
7.3. Key Generation and Proof of Correctness175
7.4. Encryption and Decryption: Fast Exponentiation179
7.5. Speed-up Techniques for RSA183
7.5.1. Fast Encryption with Short Public Exponents183
7.5.2. Fast Decryption with the Chinese Remainder Theorem184
7.6. Finding Large Primes187
7.6.1. How Common Are Primes?187
7.6.2. Primality Tests188
7.7. RSA in Practice: Padding192
7.8. Attacks194
7.9. Implementation in Software and Hardware197
7.10. Discussion and Further Reading198
7.11. Lessons Learned199
Problems200
Chapter 8. Public-Key Cryptosystems Based on the Discrete Logarithm Problem205
8.1. Diffie-Hellman Key Exchange206
8.2. Some Algebra208
8.2.1. Groups208
8.2.2. Cyclic Groups210
8.2.3. Subgroups214
8.3. The Discrete Logarithm Problem216
8.3.1. The Discrete Logarithm Problem in Prime Fields216
8.3.2. The Generalized Discrete Logarithm Problem218
8.3.3. Attacks Against the Discrete Logarithm Problem219
8.4. Security of the Diffie-Hellman Key Exchange225
8.5. The Elgamal Encryption Scheme226
8.5.1. From Diffie-Hellman Key Exchange to Elgamal Encryption226
8.5.2. The Elgamal Protocol227
8.5.3. Computational Aspects229
8.5.4. Security230
8.6. Discussion and Further Reading232
8.7. Lessons Learned233
Problems234
Chapter 9. Elliptic Curve Cryptosystems239
9.1. How to Compute with Elliptic Curves240
9.1.1. Definition of Elliptic Curves241
9.1.2. Group Operations on Elliptic Curves242
9.2. Building a Discrete Logarithm Problem with Elliptic Curves246
9.3. Diffie-Hellman Key Exchange with Elliptic Curves249
9.4. Security251
9.5. Implementation in Software and Hardware252
9.6. Discussion and Further Reading253
9.7. Lessons Learned255
Problems256
Chapter 10. Digital Signatures259
10.1. Introduction260
10.1.1. Odd Colors for Cars, or: Why Symmetric Cryptography Is Not Sufficient260
10.1.2. Principles of Digital Signatures261
10.1.3. Security Services263
10.2. The RSA Signature Scheme264
10.2.1. Schoolbook RSA Digital Signature265
10.2.2. Computational Aspects267
10.2.3. Security267
10.3. The Elgamal Digital Signature Scheme270
10.3.1. Schoolbook Elgamal Digital Signature270
10.3.2. Computational Aspects273
10.3.3. Security274
10.4. The Digital Signature Algorithm (DSA)277
10.4.1. The DSA Algorithm277
10.4.2. Computational Aspects280
10.4.3. Security281
10.5. The Elliptic Curve Digital Signature Algorithm (ECDSA)282
10.5.1. The ECDSA Algorithm282
10.5.2. Computational Aspects285
10.5.3. Security286
10.6. Discussion and Further Reading287
10.7. Lessons Learned288
Problems289
Chapter 11. Hash Functions293
11.1. Motivation: Signing Long Messages294
11.2. Security Requirements of Hash Functions296
11.2.1. Preimage Resistance or One-Wayness297
11.2.2. Second Preimage Resistance or Weak Collision Resistance297
11.2.3. Collision Resistance and the Birthday Attack299
11.3. Overview of Hash Algorithms303
11.3.1. Dedicated Hash Functions: The MD4 Family304
11.3.2. Hash Functions from Block Ciphers305
11.4. The Secure Hash Algorithm SHA-1307
11.4.1. Preprocessing308
11.4.2. Hash Computation309
11.4.3. Implementation312
11.5. Discussion and Further Reading312
11.6. Lessons Learned313
Problems315
Chapter 12. Message Authentication Codes (MACs)319
12.1. Principles of Message Authentication Codes320
12.2. MACs from Hash Functions: HMAC321
12.3. MACs from Block Ciphers: CBC-MAC325
12.4. Galois Counter Message Authentication Code (GMAC)326
12.5. Discussion and Further Reading327
12.6. Lessons Learned328
Problems329
Chapter 13. Key Establishment331
13.1. Introduction332
13.1.1. Some Terminology332
13.1.2. Key Freshness and Key Derivation332
13.1.3. The n2 Key Distribution Problem334
13.2. Key Establishment Using Symmetric-Key Techniques336
13.2.1. Key Establishment with a Key Distribution Center336
13.2.2. Kerberos339
13.2.3. Remaining Problems with Symmetric-Key Distribution341
13.3. Key Establishment Using Asymmetric Techniques342
13.3.1. Man-in-the-Middle Attack342
13.3.2. Certificates344
13.3.3. Public-Key Infrastructures (PKI) and CAs347
13.4. Discussion and Further Reading350
13.5. Lessons Learned352
Problems353
References359
Index367

Additional Resources