Public Key Cryptography: Applications and AttacksISBN: 9781118317129
224 pages
January 2013, WileyIEEE Press

Complete coverage of the current major public key cryptosystems their underlying mathematics and the most common techniques used in attacking them Public Key Cryptography: Applications and Attacks introduces and explains the fundamentals of public key cryptography and explores its application in all major public key cryptosystems in current use, including ElGamal, RSA, Elliptic Curve, and digital signature schemes. It provides the underlying mathematics needed to build and study these schemes as needed, and examines attacks on said schemes via the mathematical problems on which they are based – such as the discrete logarithm problem and the difficulty of factoring integers.
The book contains approximately ten examples with detailed solutions, while each chapter includes forty to fifty problems with full solutions for oddnumbered problems provided in the Appendix. Public Key Cryptography:
• Explains fundamentals of public key cryptography
• Offers numerous examples and exercises
• Provides excellent study tools for those preparing to take the Certified Information Systems Security Professional (CISSP) exam
• Provides solutions to the endofchapter problems
Public Key Cryptography provides a solid background for anyone who is employed by or seeking employment with a government organization, cloud service provider, or any large enterprise that uses public key systems to secure data.
0 Introduction 1
0.1 The Meaning of the Word Cryptography 2
0.2 Symmetric Key Cryptography 2
0.3 Public Key (Asymmetric) Cryptography 5
0.4 Key Establishment 8
0.5 Cryptography — more than just Hiding Secrets 9
0.6 Standards 10
0.7 Attacks 11
1 Congruence Equations 13
1.1 Congruence Arithmetic 13
1.1.1 Computer Examples 17
1.1.2 Problems 18
1.2 The Euclidean Algorithm — Finding Inverses 19
1.2.1 Computer Examples 26
1.2.2 Problems 27
1.3 Discrete Logarithms and DiffieHellman Key Exchange 27
1.3.1 Computer Examples 34
1.3.2 Problems 35
1.4 Attacking the Discrete Logarithm 37
1.4.1 Computer Examples 45
1.4.2 Problems 46
2 The ElGamal Scheme 49
2.1 Primitive Roots 49
2.1.1 Computer Examples 55
2.1.2 Problems 55
2.2 The ElGamal Scheme 56
2.2.1 Computer Examples 58
2.2.2 Problems 60
2.3 Security of the ElGamal Scheme 62
2.3.1 Computer Examples 64
2.3.2 Problems 64
3 The RSA Scheme 67
3.1 Euler's Theorem 67
3.1.1 Computer Examples 71
3.1.2 Problems 71
3.2 The RSA Algorithm 71
3.2.1 Computer Examples 76
3.2.2 Problems 78
3.3 RSA Security 79
3.3.1 Computer Examples 85
3.3.2 Problems 87
3.4 Implementing RSA 88
3.4.1 Computer Examples 90
3.4.2 Problems 91
4 Elliptic Curve Cryptography 93
4.1 Elliptic Curves and Elliptic Curve Groups 93
4.1.1 Computer Examples 102
4.1.2 Problems 103
4.2 Elliptic Curve Cryptography 104
4.2.1 Computer Examples 109
4.2.2 Problems 112
4.3 The Elliptic Curve Factoring Scheme 113
4.3.1 Computer Examples 115
4.3.2 Problems 116
5 Digital Signatures 117
5.1 Hash Functions 117
5.1.1 Computer Examples 129
5.1.2 Problems 130
5.2 Digital Signature Schemes 132
5.2.1 Computer Examples 139
5.2.2 Problems 141
5.3 Attacks on Digital Signatures 142
5.3.1 Computer Examples 150
5.3.2 Problems 152
6 Primality Testing 155
6.1 Fermat's Approach and Wilson's Theorem 156
6.1.1 Computer Examples 157
6.1.2 Problems 158
6.2 The MillerSelfridgeRabin Primality Test 158
6.2.1 Computer Examples 164
6.2.2 Problems 164
6.3 True Primality Tests 165
6.3.1 Computer Examples 168
6.4 Mersenne Primes and the LucasLehmer Test 169
6.4.1 Computer Examples 171
6.4.2 Problems 171
6.5 Primes is in P 171
6.5.1 Computer Examples 175
6.5.2 Problems 176
7 Factoring Methods 179
7.1 Fermat Again 180
7.1.1 Computer Examples 183
7.1.2 Problems 185
7.2 The Quadratic Sieve 185
7.2.1 Computer Examples 187
7.2.2 Problems 189
7.3 Pollard's p  1 and rho Methods 189
7.3.1 Computer Examples 193
7.3.2 Problems194
7.4 Continued Fractions and Factoring194
7.4.1 Computer Examples 200
7.4.2 Problems 203
Appendix: Solutions to Problems 207
References 231
Index 236
Notation 239
“This is a book of great pedagogical value. . . The book is a bright exposition of the mathematical methods most used in public key cryptography, and it is very motivating due to its numerous computational examples and rigorous treatment.” (Zentralblatt MATH, 1 August 2013)
“The book is suitable as a university text for years three and above, and I recommend that every computer scientist read it. I would be inclined to describe this book as offering “what every computer scientist should know about public key cryptography.” (Computing Reviews, 9 September 2013)