Skip to:Content
|
Bottom
Cover image for Understanding cryptography : a textbook for students and practitioners
Title:
Understanding cryptography : a textbook for students and practitioners
Personal Author:
Publication Information:
Heidelberg ; New York : Springer, 2010.
Physical Description:
xviii, 372 p. : ill. ; 24 cm.
ISBN:
9783642041006
Added Author:

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010241701 Z104 P33 2010 Open Access Book Gift Book
Searching...

On Order

Summary

Summary

Cryptography is now ubiquitous - moving beyond the traditional environments, such as government communications and banking systems, we see cryptographic techniques realized in Web browsers, e-mail programs, cell phones, manufacturing systems, embedded software, smart buildings, cars, and even medical implants. Today's designers need a comprehensive understanding of applied cryptography.

After an introduction to cryptography and data security, the authors explain the main techniques in modern cryptography, with chapters addressing stream ciphers, the Data Encryption Standard (DES) and 3DES, the Advanced Encryption Standard (AES), block ciphers, the RSA cryptosystem, public-key cryptosystems based on the discrete logarithm problem, elliptic-curve cryptography (ECC), digital signatures, hash functions, Message Authentication Codes (MACs), and methods for key establishment, including certificates and public-key infrastructure (PKI). Throughout the book, the authors focuson communicating the essentials and keeping the mathematics to a minimum, and they move quickly from explaining the foundations to describing practical implementations, including recent topics such as lightweight ciphers for RFIDs and mobile devices, and current key-length recommendations.

The authors have considerable experience teaching applied cryptography to engineering and computer science students and to professionals, and they make extensive use of examples, problems, and chapter reviews, while the book's website offers slides, projects and links to further resources. This is a suitable textbook for graduate and advanced undergraduate courses and also for self-study by engineers.

The authors' website (http://www.crypto-textbook.com/) provides extensive notes, slides, video lectures; the authors' YouTube channel (https://www.youtube.com/channel/UC1usFRN4LCMcflV7UjHNuQg) includes video lectures.


Author Notes

Prof. Dr.-Ing. Christof Paa r has the Chair for Embedded Security at the University of Bochum, Germany, and is Adjunct Professor at the University of Massachusetts at Amherst, USA. Prof. Paar has taught cryptography for 15 years to engineering and computer science students in the US and in Europe, and he has taught many industrial practitioners at organizations such as Motorola, Philips and NASA. He has more than 100 publications in applied cryptography and is a cofounder of the Workshop on Cryptographic Hardware and Embedded Systems (CHES), the key academic event in this field.

Prof. Dr.-Ing. January Pelzl started his career at Bosch Telecom GmbH. He has a Ph.D. in applied cryptography, and as a researcher he investigated the practical aspects of elliptic-curve-based cryptography and cryptanalysis. He has published extensively about his theoretical and industrial work through leading international conferences and journals, and he has taught many IT security and cryptography courses in industry. He was the Managing Director of "ESCRYPT GmbH" in Bochum. Since January 2015 he is the professor of "Computer Security" in Hochschule Hamm-Lippstadt.

The authors' website (http://www.crypto-textbook.com/) provides extensive notes, slides, video lectures; the authors' YouTube channel (https://www.youtube.com/channel/UC1usFRN4LCMcflV7UjHNuQg) includes video lectures.




Table of Contents

1 Introduction to Cryptography and Data Securityp. 1
1.1 Overview of Cryptography (and This Book)p. 2
1.2 Symmetric Cryptographyp. 4
1.2.1 Basicsp. 4
1.2.2 Simple Symmetric Encryption: The Substitution Cipherp. 6
1.3 Cryptanalysisp. 9
1.3.1 General Thoughts on Breaking Cryptosystemsp. 9
1.3.2 How Many Key Bits Are Enough?p. 11
1.4 Modular Arithmetic and More Historical Ciphersp. 13
1.4.1 Modular Arithmeticp. 13
1.4.2 Integer Ringsp. 16
1.4.3 Shift Cipher (or Caesar Cipher)p. 18
1.4.4 Affine Cipherp. 19
1.5 Discussion and Further Readingp. 20
1.6 Lessons Learnedp. 22
Problemsp. 24
2 Stream Ciphersp. 29
2.1 Introductionp. 30
2.1.1 Stream Ciphers vs. Block Ciphersp. 30
2.1.2 Encryption and Decryption with Stream Ciphersp. 31
2.2 Random Numbers and an Unbreakable Stream Cipherp. 34
2.2.1 Random Number Generatorsp. 34
2.2.2 The One-Time Padp. 36
2.2.3 Towards Practical Stream Ciphersp. 38
2.3 Shift Register-Based Stream Ciphersp. 41
2.3.1 Linear Feedback Shift Registers (LFSR)p. 41
2.3.2 Known-Plaintext Attack Against Single LFSRsp. 45
2.3.3 Triviump. 46
2.4 Discussion and Further Readingp. 49
2.5 Lessons Learnedp. 50
Problemsp. 52
3 The Data Encryption Standard (DES) and Alternativesp. 55
3.1 Introduction to DESp. 56
3.1.1 Confusion and Diffusionp. 57
3.2 Overview of the DES Algorithmp. 58
3.3 Internal Structure of DESp. 61
3.3.1 Initial and Final Permutationp. 61
3.3.2 The â-Functionp. 62
3.3.3 Key Schedulep. 67
3.4 Decryptionp. 69
3.5 Security of DESp. 72
3.5.1 Exhaustive Key Searchp. 73
3.5.2 Analytical Attacksp. 75
3.6 Implementation in Software and Hardwarep. 75
3.7 DES Alternativesp. 77
3.7.1 The Advanced Encryption Standard (AES) and the AES Finalist Ciphersp. 77
3.7.2 Triple DES (3DES) and DESXp. 78
3.7.3 Lightweight Cipher PRESENTp. 78
3.8 Discussion and Further Readingp. 81
3.9 Lessons Learnedp. 82
Problemsp. 83
4 The Advanced Encryption Standard (AES)p. 87
4.1 Introductionp. 88
4.2 Overview of the AES Algorithmp. 89
4.3 Some Mathematics: A Brief Introduction to Galois Fieldsp. 90
4.3.1 Existence of Finite Fieldsp. 90
4.3.2 Prime Fieldsp. 93
4.3.3 Extension Fields GF(2m)p. 94
4.3.4 Addition and Subtraction in GF(2m)p. 95
4.3.5 Multiplication in GF{{2m)p. 96
4.3.6 Inversion in GF(2m)p. 98
4.4 Internal Structure of AESp. 99
4.4.1 Byte Substitution Layerp. 101
4.4.2 Diffusion Layerp. 103
4.4.3 Key Addition Layerp. 106
4.4.4 Key Schedulep. 106
4.5 Decryptionp. 110
4.6 Implementation in Software and Hardwarep. 115
4.7 Discussion and Further Readingp. 116
4.8 Lessons Learnedp. 117
Problemsp. 118
5 More About Block Ciphersp. 123
5.1 Encryption with Block Ciphers: Modes of Operationp. 124
5.1.1 Electronic Codebook Mode (ECB)p. 124
5.1.2 Cipher Block Chaining Mode (CBC)p. 128
5.1.3 Output Feedback Mode (ORB)p. 130
5.1.4 Cipher Feedback Mode (CFB)p. 131
5.1.5 Counter Mode (CTR)p. 132
5.1.6 Galois Counter Mode (GCM)p. 134
5.2 Exhaustive Key Search Revisitedp. 136
5.3 Increasing the Security of Block Ciphersp. 137
5.3.1 Double Encryption and Meet-in-the-Middle Attackp. 138
5.3.2 Triple Encryptionp. 140
5.3.3 Key Whiteningp. 141
5.4 Discussion and Further Readingp. 143
5.5 Lessons Learnedp. 144
Problemsp. 145
6 Introduction to Public-Key Cryptographyp. 149
6.1 Symmetric vs. Asymmetric Cryptographyp. 150
6.2 Practical Aspects of Public-Key Cryptographyp. 153
6.2.1 Security Mechanismsp. 154
6.2.2 The Remaining Problem: Authenticity of Public Keysp. 154
6.2.3 Important Public-Key Algorithmsp. 155
6.2.4 Key Lengths and Security Levelsp. 156
6.3 Essential Number Theory for Public-Key Algorithmsp. 157
6.3.1 Euclidean Algorithmp. 157
6.3.2 Extended Euclidean Algorithmp. 160
6.3.3 Euler's Phi Functionp. 164
6.3.4 Fermat's Little Theorem and Euler's Theoremp. 166
6.4 Discussion and Further Readingp. 168
6.5 Lessons Learnedp. 169
Problemsp. 170
7 The RSA Cryptosystemp. 173
7.1 Introductionp. 174
7.2 Encryption and Decryptionp. 174
7.3 Key Generation and Proof of Correctnessp. 175
7.4 Encryption and Decryption: Fast Exponentiationp. 179
7.5 Speed-up Techniques for RSAp. 183
7.5.1 Fast Encryption with Short Public Exponentsp. 183
7.5.2 Fast Decryption with the Chinese Remainder Theoremp. 184
7.6 Finding Large Primesp. 187
7.6.1 How Common Are Primes?p. 187
7.6.2 Primality Testsp. 188
7.7 RSA in Practice: Paddingp. 192
7.8 Attacksp. 194
7.9 Implementation in Software and Hardwarep. 197
7.10 Discussion and Further Readingp. 198
7.11 Lessons Learnedp. 199
Problemsp. 200
8 Public-Key Cryptosystems Based on the Discrete Logarithm Problemp. 205
8.1 Difne-Hellman Key Exchangep. 206
8.2 Some Algebrap. 208
8.2.1 Groupsp. 208
8.2.2 Cyclic Groupsp. 210
8.2.3 Subgroupsp. 214
8.3 The Discrete Logarithm Problemp. 216
8.3.1 The Discrete Logarithm Problem in Prime Fieldsp. 216
8.3.2 The Generalized Discrete Logarithm Problemp. 218
8.3.3 Attacks Against the Discrete Logarithm Problemp. 219
8.4 Security of the Difne-Hellman Key Exchangep. 225
8.5 The Elgamal Encryption Schemep. 226
8.5.1 From Difne-Hellman Key Exhange to Elgamal Encryptionp. 226
8.5.2 The Elgamal Protocolp. 227
8.5.3 Computational Aspectsp. 229
8.5.4 Securityp. 230
8.6 Discussion and Further Readingp. 232
8.7 Lessons Learnedp. 233
Problemsp. 234
9 Elliptic Curve Cryptosystemsp. 239
9.1 How to Compute with Elliptic Curvesp. 239
9.1.1 Definition of Elliptic Curvesp. 240
9.1.2 Group Operations on Elliptic Curvesp. 242
9.2 Building a Discrete Logarithm Problem with Elliptic Curvesp. 245
9.3 Difne-Hellman Key Exchange with Elliptic Curvesp. 249
9.4 Securityp. 251
9.5 Implementation in Software and Hardwarep. 252
9.6 Discussion and Further Readingp. 253
9.7 Lessons Learnedp. 255
Problems256
10 Digital Signaturesp. 259
10.1 Introductionp. 260
10.1.1 Odd Colors for Cars, or: Why Symmetric Cryptography Is Not Sufficientp. 260
10.1.2 Principles of Digital Signaturesp. 261
10.1.3 Security Servicesp. 263
10.2 The RSA Signature Schemep. 264
10.2.1 Schoolbook RSA Digital Signaturep. 265
10.2.2 Computational Aspectsp. 267
10.2.3 Securityp. 267
10.3 The Elgamal Digital Signature Schemep. 270
10.3.1 Schoolbook Elgamal Digital Signaturep. 270
10.3.2 Computational Aspectsp. 273
10.3.3 Securityp. 274
10.4 The Digital Signature Algorithm (DSA)p. 277
10.4.1 The DSA Algorithmp. 277
10.4.2 Computational Aspectsp. 280
10.4.3 Securityp. 281
10.5 The Elliptic Curve Digital Signature Algorithm (ECDSA)p. 282
10.5.1 The ECDSA Algorithmp. 282
10.5.2 Computational Aspectsp. 285
10.5.3 Securityp. 286
10.6 Discussion and Further Readingp. 287
10.7 Lessons Learnedp. 288
Problemsp. 289
11 Hash Functionsp. 293
11.1 Motivation: Signing Long Messagesp. 294
11.2 Security Requirements of Hash Functionsp. 296
11.2.1 Preimage Resistance or One-Waynessp. 297
11.2.2 Second Preimage Resistance or Weak Collision Resistancep. 297
11.2.3 Collision Resistance and the Birthday Attackp. 299
11.3 Overview of Hash Algorithmsp. 303
11.3.1 Dedicated Hash Functions: The MD4 Familyp. 304
11.3.2 Hash Functions from Block Ciphersp. 305
11.4 The Secure Hash Algorithm SHA-1p. 307
11.4.1 Preprocessingp. 308
11.4.2 Hash Computationp. 309
11.4.3 Implementationp. 312
11.5 Discussion and Further Readingp. 312
11.6 Lessons Learnedp. 313
Problemsp. 315
12 Message Authentication Codes (MACs)p. 319
12.1 Principles of Message Authentication Codesp. 320
12.2 MACs from Hash Functions: HMACp. 321
12.3 MACs from Block Ciphers: CBC-MACp. 325
12.4 Galois Counter Message Authentication Code (GMAC)p. 327
12.5 Discussion and Further Readingp. 327
12.6 Lessons Learnedp. 328
Problemsp. 329
13 Key Establishmentp. 331
13.1 Introductionp. 332
13.1.1 Some Terminologyp. 332
13.1.2 Key Freshness and Key Derivationp. 332
13.1.3 The n2 Key Distribution Problemp. 334
13.2 Key Establishment Using Symmetric-Key Techniquesp. 336
13.2.1 Key Establishment with a Key Distribution Centerp. 336
13.2.2 Kerberosp. 339
13.2.3 Remaining Problems with Symmetric-Key Distributionp. 341
13.3 Key Establishment Using Asymmetric Techniquesp. 342
13.3.1 Man-in-the-Middle Attackp. 342
13.3.2 Certificatesp. 344
13.3.3 Public-Key Infrastructures (PKI) and CAsp. 347
13.4 Discussion and Further Readingp. 351
13.5 Lssons Learnedp. 352
Problemsp. 353
Referencesp. 359
Indexp. 367
Go to:Top of Page