Skip to:Content
|
Bottom
Cover image for Introduction to modern cryptography
Title:
Introduction to modern cryptography
Series:
Chapman & hall/crc cryptography and network security series
Edition:
Second edition
Publication Information:
Boca Raton : CRC Press/Taylor & Francis, 2015
Physical Description:
xx, 583 pages : illustrations ; 25 cm.
ISBN:
9781466570269
Added Author:

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010344143 QA76.9.A25 K38 2015 Open Access Book Book
Searching...

On Order

Summary

Summary

Cryptography is ubiquitous and plays a key role in ensuring data secrecy and integrity as well as in securing computer systems more broadly. Introduction to Modern Cryptography provides a rigorous yet accessible treatment of this fascinating subject.

The authors introduce the core principles of modern cryptography, with an emphasis on formal definitions, clear assumptions, and rigorous proofs of security. The book begins by focusing on private-key cryptography, including an extensive treatment of private-key encryption, message authentication codes, and hash functions. The authors also present design principles for widely used stream ciphers and block ciphers including RC4, DES, and AES, plus provide provable constructions of stream ciphers and block ciphers from lower-level primitives. The second half of the book covers public-key cryptography, beginning with a self-contained introduction to the number theory needed to understand the RSA, Diffie-Hellman, and El Gamal cryptosystems (and others), followed by a thorough treatment of several standardized public-key encryption and digital signature schemes.

Integrating a more practical perspective without sacrificing rigor, this widely anticipated Second Edition offers improved treatment of:

Stream ciphers and block ciphers, including modes of operation and design principles Authenticated encryption and secure communication sessions Hash functions, including hash-function applications and design principles Attacks on poorly implemented cryptography, including attacks on chained-CBC encryption, padding-oracle attacks, and timing attacks The random-oracle model and its application to several standardized, widely used public-key encryption and signature schemes Elliptic-curve cryptography and associated standards such as DSA/ECDSA and DHIES/ECIES

Containing updated exercises and worked examples, Introduction to Modern Cryptography, Second Edition can serve as a textbook for undergraduate- or graduate-level courses in cryptography, a valuable reference for researchers and practitioners, or a general introduction suitable for self-study.


Author Notes

Jonathan Katz is a professor of computer science at the University of Maryland, and director of the Maryland Cybersecurity Center. He has published over 100 articles on cryptography, and serves as an editor of the Journal of Cryptology , the premier journal of the field. Prof. Katz has been invited to give introductory lectures on cryptography for audiences in academia, industry, and government, as well as an on-line cryptography course through Coursera.

Yehuda Lindell is a professor of computer science at Bar-Ilan University. He has published more than 90 articles on cryptography and four books, and has considerable industry experience in deploying cryptographic schemes. Professor Lindell lectures widely in both academic and industry venues on both theoretical and applied cryptography, and has been recognized with two prestigious grants from the European Research Council.


Table of Contents

Prefacep. xv
I Introduction and Classical Cryptography
1 Introductionp. 3
1.1 Cryptography and Modern Cryptographyp. 3
1.2 The Setting of Private-Key Encryptionp. 4
1.3 Historical Ciphers and Their Cryptanalysisp. 8
1.4 Principles of Modern Cryptographyp. 16
1.4.1 Principle 1 - Formal Definitionsp. 17
1.4.2 Principle 2 - Precise Assumptionsp. 20
1.4.3 Principle 3 - Proofs of Securityp. 22
1.4.4 Provable Security and Real-World Securityp. 22
References and Additional Readingp. 23
Exercisesp. 24
2 Perfectly Secret Encryptionp. 25
2.1 Definitionsp. 26
2.2 The One-Time Padp. 32
2.3 Limitations of Perfect Secrecyp. 35
2.4 *Shannon's Theoremp. 36
References and Additional Readingp. 37
Exercisesp. 38
II Private-Key (Symmetric) Cryptography
3 Private-Key Encryptionp. 43
3.1 Computational Securityp. 43
3.1.1 The Concrete Approachp. 44
3.1.2 The Asymptotic Approachp. 45
3.2 Defining Computationally Secure Encryptionp. 52
3.2.1 The Basic Definition of Securityp. 53
3.2.2 *Semantic Securityp. 56
3.3 Constructing Secure Encryption Schemesp. 60
3.3.1 Pseudorandom Generators and Stream Ciphersp. 60
3.3.2 Proofs by Reductionp. 65
3.3.3 A Secure Fixed-Length Encryption Schemep. 66
3.4 Stronger Security Notionsp. 71
3.4.1 Security for Multiple Encryptionsp. 71
3.4.2 Chosen-Plaintext Attacks and CPA-Securityp. 73
3.5 Constructing CPA-Secure Encryption Schemesp. 77
3.5.1 Pseudorandom Functions and Block Ciphersp. 77
3.5.2 CPA-Secure Encryption from Pseudorandom Functionsp. 82
3.6 Modes of Operationp. 86
3.6.1 Stream-Cipher Modes of Operationp. 86
3.6.2 Block-Cipher Modes of Operationp. 88
3.7 Chosen-Cipher text Attacksp. 96
3.7.1 Defining CCA-Securityp. 96
3.7.2 Padding-Oracle Attacksp. 98
References and Additional Readingp. 101
Exercisesp. 102
4 Message Authentication Codesp. 107
4.1 Message Integrityp. 107
4.1.1 Secrecy vs. Integrityp. 107
4.1.2 Encryption vs. Message Authenticationp. 108
4.2 Message Authentication Codes - Definitionsp. 110
4.3 Constructing Secure Message Authentication Codesp. 116
4.3.1 A Fixed-Length MACp. 116
4.3.2 Domain Extension for MACsp. 118
4.4 CBC-MACp. 122
4.4.1 The Basic Constructionp. 123
4.4.2 *Proof of Securityp. 125
4.5 Authenticated Encryptionp. 131
4.5.1 Definitionsp. 131
4.5.2 Generic Constructionsp. 132
4.5.3 Secure Communication Sessionsp. 140
4.5.4 CCA-Secure Encryptionp. 141
4.6 *Information-Theoretic MACsp. 142
4.6.1 Constructing Information-Theoretic MACsp. 143
4.6.2 Limitations on Information-Theoretic MACsp. 145
References and Additional Readingp. 146
Exercisesp. 147
5 Hash Functions and Applicationsp. 153
5.1 Definitionsp. 153
5.1.1 Collision Resistancep. 154
5.1.2 Weaker Notions of Securityp. 156
5.2 Domain Extension: The Merkle-Damgård Transformp. 156
5.3 Message Authentication Using Hash Functionsp. 158
5.3.1 Hash-and-MACp. 159
5.3.2 HMACp. 161
5.4 Generic Attacks on Hash Functionsp. 164
5.4.1 Birthday Attacks for Finding Collisionsp. 164
5.4.2 Small-Space Birthday Attacksp. 166
5.4.3 *Time/Space Tradeoffs for Inverting Functionsp. 168
5.5 The Random-Oracle Modelp. 174
5.5.1 The Random-Oracle Model in Detailp. 175
5.5.2 Is the Random-Oracle Methodology Sound?p. 179
5.6 Additional Applications of Hash Functionsp. 182
5.6.1 Fingerprinting and Deduplicationp. 182
5.6.2 Merkle Treesp. 183
5.6.3 Password Hashingp. 184
5.6.4 Key Derivationp. 186
5.6.5 Commitment Schemesp. 187
References and Additional Readingp. 189
Exercisesp. 189
6 Practical Constructions of Symmetric-Key Primitivesp. 193
6.1 Stream Ciphersp. 194
6.1.1 Linear-Feedback Shift Registersp. 195
6.1.2 Adding Nonlinearityp. 197
6.1.3 Triviump. 198
6.1.4 RC4p. 199
6.2 Block Ciphersp. 202
6.2.1 Substitution-Permutation Networksp. 204
6.2.2 Feistel Networksp. 211
6.2.3 DES - The Data Encryption Standardp. 212
6.2.4 3DES: Increasing the Key Length of a Block Cipherp. 220
6.2.5 AES - The Advanced Encryption Standardp. 223
6.2.6 *Differential and Linear Crypt analysisp. 225
6.3 Hash Functionsp. 231
6.3.1 Flash Functions from Block Ciphersp. 232
6.3.2 MD5p. 234
6.3.3 SHA-0, SHA-1, and SHA-2p. 234
6.3.4 SHA-3 (Keccak)p. 235
References and Additional Readingp. 236
Exercisesp. 237
7 *Theoretical Constructions of Symmetric-Key Primitivesp. 241
7.1 One-Way Functionsp. 242
7.1.1 Definitionsp. 242
7.1.2 Candidate One-Way Functionsp. 245
7.1.3 Hard-Core Predicatesp. 246
7.2 From One-Way Functions to Pseudorandonmessp. 248
7.3 Hard-Core Predicates from One-Way Functionsp. 250
7.3.1 A Simple Casep. 250
7.3.2 A More Involved Casep. 251
7.3.3 The Full Proofp. 254
7.4 Constructing Pseudorandom Generatorsp. 257
7.4.1 Pseudorandom Generators with Minimal Expansionp. 258
7.4.2 Increasing the Expansion Factorp. 259
7.5 Constructing Pseudorandom Functionsp. 265
7.6 Constructing (Strong) Pseudorandom Permutationsp. 269
7.7 Assumptions for Private-Key Cryptographyp. 273
7.8 Computational Indistinguishabilityp. 276
References and Additional Readingp. 278
Exercisesp. 279
III Public-Key (Asymmetric) Cryptography
8 Number Theory and Cryptographic Hardness Assumptionsp. 285
8.1 Preliminaries and Basic Group Theoryp. 287
8.1.1 Primes and Divisibilityp. 287
8.1.2 Modular Arithmeticp. 289
8.1.3 Groupsp. 291
8.1.4 The Group Z* Np. 295
8.1.5 *Isomorphisms and the Chinese Remainder Theoremp. 297
8.2 Primes, Factoring, and RSAp. 302
8.2.1 Generating Random Primesp. 303
8.2.2 *Primality Testingp. 306
8.2.3 The Factoring Assumptionp. 311
8.2.4 The RSA Assumptionp. 312
8.2.5 *Relating the RSA and Factoring Assumptionsp. 314
8.3 Cryptographic Assumptions in Cyclic Groupsp. 316
8.3.1 Cyclic Groups and Generatorsp. 316
8.3.2 The Discrete-Logarithm/Diffie-Hellman Assumptionsp. 319
8.3.3 Working in (Subgroups of) Z* Pp. 322
8.3.1 Elliptic Curvesp. 325
8.4 *Cryptographic Applicationsp. 332
8.4.1 One-Way Functions and Permutationsp. 332
8.4.2 Constructing Collision-Resist ant Hash Functionsp. 335
References and Additional Readingp. 337
Exercisesp. 338
9 *Algorithms for Factoring and Computing Discrete Logarithmsp. 341
9.1 Algorithms for Factoringp. 342
9.1.1 Pollards p - 1 Algorithmp. 343
9.1.2 Pollard's Rho Algorithmp. 344
9.1.3 The Quadratic Sieve Algorithmp. 345
9.2 Algorithms for Computing Discrete Logarithmsp. 348
9.2.1 The Pohlig-Hellman Algorithmp. 350
9.2.2 The Baby-Step/Giant-Step Algorithmp. 352
9.2.3 Discrete Logarithms from Collisionsp. 353
9.2.4 The Index Calculus Algorithmp. 354
9.3 Recommended Key Lengthsp. 356
References and Additional Readingp. 357
Exercisesp. 358
10 Key Management and the Public-Key Revolutionp. 359
10.1 Key Distribution and Key Managementp. 359
10.2 A Partial Solution: Key-Distribution Centersp. 361
10.3 Key Exchange and the Diffie-Hellman Protocolp. 363
10.4 The Public-Key Revolutionp. 370
References and Additional Readingp. 372
Exercisesp. 373
11 Public-Key Encryptionp. 375
11.1 Public-Key Encryption - An Overviewp. 375
11.2 Definitionsp. 378
11.2.1 Security against Chosen-Plaintext Attacksp. 379
11.2.2 Multiple Encryptionsp. 381
11.2.3 Security against Chosen-Ciphertext Attacksp. 387
11.3 Hybrid Encryption and the KEM/DEM Paradigmp. 389
11.3.1 CPA-Securityp. 393
11.3.2 CCA-Securityp. 398
11.4 CDH/DDH-Based Encryptionp. 399
11.4.1 El Gamal Encryptionp. 400
11.4.2 DDH-Based Key Encapsulationp. 404
11.4.3 *A CDH-Based KEM in the Random-Oracle Modelp. 406
11.4.4 Chosen-Ciphertext Security and DHIES/ECIESp. 408
11.5 RSA Encryptionp. 410
11.5.1 Plain RSAp. 410
11.5.2 Padded RSA and PKCS #1 v1.5p. 415
11.5.3 *CPA-Secure Encryption without Random Oraclesp. 417
11.5.4 OAEP and RSA PKCS #1 v2.0p. 421
11.5.5 *A CCA-Secure KEM in the Random-Oracle Modelp. 425
11.5.6 RSA Implementation Issues and Pitfallsp. 429
References and Additional Readingp. 432
Exercisesp. 433
12 Digital Signature Schemesp. 439
12.1 Digital Signatures - An Overviewp. 439
12.2 Definitionsp. 441
12.3 The Hash-and-Sign Paradigmp. 443
12.4 RSA Signaturesp. 444
12.4.1 Plain RSAp. 444
12.4.2 RSA-FDH and PKCS #1 v2.1p. 446
12.5 Signatures from the Discrete-Logarithm Problemp. 451
12.5.1 The Schnorr Signature Schemep. 451
12.5.2 DSA and ECDSAp. 459
12.6 *Signatures from Hash Functionsp. 461
12.6.1 Lamport's Signature Schemep. 461
12.6.2 Chain-Based Signaturesp. 465
12.6.3 Tree-Based Signaturesp. 468
12.7 *Certificates and Public-Key Infrastructuresp. 473
12.8 Putting It All Together - SSL/TLSp. 479
12.9 *Signcryptionp. 481
References and Additional Readingp. 483
Exercisesp. 484
13 *Advanced Topics in Public-Key Encryptionp. 487
13.1 Public-Key Encryption from Trapdoor Permutationsp. 487
13.1.1 Trapdoor Permutationsp. 488
13.1.2 Public-Key Encryption from Trapdoor Permutationsp. 489
13.2 The Paillier Encryption Schemep. 491
13.2.1 The Structure of Z* N 2p. 492
13.2.2 The Paillier Encryption Schemep. 494
13.2.3 Homomorphic Encryptionp. 499
13.3 Secret Sharing and Threshold Encryptionp. 501
13.3.1 Secret Sharingp. 501
13.3.2 Verifiable Secret Sharingp. 503
13.3.3 Threshold Encryption and Electronic Votingp. 505
13.4 The Goldwasser-Micali Encryption Schemep. 507
13.4.1 Quadratic Residues Modulo a Primep. 507
13.4.2 Quadratic Residues Modulo a Compositep. 510
13.4.3 The Quadratic Residuosity Assumptionp. 514
13.4.4 The Goldwasser-Micali Encryption Schemep. 515
13.5 The Rabin Encryption Schemep. 518
13.5.1 Computing Modular Square Rootsp. 518
13.5.2 A Trapdoor Permutation Based on Factoringp. 523
13.5.3 The Rabin Encryption Schemep. 527
References and Additional Readingp. 528
Exercisesp. 529
Index of Common Notationp. 533
Appendix A Mathematical Backgroundp. 537
A.1 Identities and Inequalitiesp. 537
A.2 Asymptotic Notationp. 537
A.3 Basic Probabilityp. 538
A.4 The "Birthday" Problemp. 542
A.5 *Finite Fieldsp. 544
Appendix B Basic Algorithmic Number Theoryp. 547
B.1 Integer Arithmeticp. 549
B.1.1 Basic Operationsp. 549
B.1.2 The Euclidean and Extended Euclidean Algorithmsp. 550
B.2 Modular Arithmeticp. 552
B.2.1 Basic Operationsp. 552
B.2.2 Computing Modular Inversesp. 552
B.2.3 Modular Exponentiationp. 553
B.2.4 *Montgomery Multiplicationp. 556
B.2.5 Choosing a Uniform Group Elementp. 557
B.3 *Finding a Generator of a Cyclic Groupp. 559
B.3.1 Group-Theoretic Backgroundp. 559
B.3.2 Efficient Algorithmsp. 561
References and Additional Readingp. 562
Exercisesp. 562
Referencesp. 563
Indexp. 577
Go to:Top of Page