Skip to:Content
|
Bottom
Cover image for Introduction to cryptography with open-source software
Title:
Introduction to cryptography with open-source software
Personal Author:
Series:
Discrete mathematics and its applications
Publication Information:
Boca Raton, FL : CRC Press, c2011
Physical Description:
xix, 441 p. : ill. ; 25 cm.
ISBN:
9781439825709

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010303265 QA76.9 .A25 M398 2011 Open Access Book Book
Searching...

On Order

Summary

Summary

Once the privilege of a secret few, cryptography is now taught at universities around the world. Introduction to Cryptography with Open-Source Software illustrates algorithms and cryptosystems using examples and the open-source computer algebra system of Sage. The author, a noted educator in the field, provides a highly practical learning experience by progressing at a gentle pace, keeping mathematics at a manageable level, and including numerous end-of-chapter exercises.

Focusing on the cryptosystems themselves rather than the means of breaking them, the book first explores when and how the methods of modern cryptography can be used and misused. It then presents number theory and the algorithms and methods that make up the basis of cryptography today. After a brief review of "classical" cryptography, the book introduces information theory and examines the public-key cryptosystems of RSA and Rabin's cryptosystem. Other public-key systems studied include the El Gamal cryptosystem, systems based on knapsack problems, and algorithms for creating digital signature schemes.

The second half of the text moves on to consider bit-oriented secret-key, or symmetric, systems suitable for encrypting large amounts of data. The author describes block ciphers (including the Data Encryption Standard), cryptographic hash functions, finite fields, the Advanced Encryption Standard, cryptosystems based on elliptical curves, random number generation, and stream ciphers. The book concludes with a look at examples and applications of modern cryptographic systems, such as multi-party computation, zero-knowledge proofs, oblivious transfer, and voting protocols.


Author Notes

Alasdair McAndrew is a senior lecturer in the School of Engineering and Science at Victoria University in Melbourne, Australia.


Table of Contents

Prefacep. xv
1 Introduction to cryptographyp. 1
1.1 Hiding information: Confidentialityp. 1
1.2 Some basic definitionsp. 3
1.3 Attacks on a cryptosystemp. 5
1.4 Some cryptographic problemsp. 7
1.5 Cryptographic protocolsp. 8
1.6 Some simple ciphersp. 12
1.7 Cryptography and computer securityp. 18
1.8 Glossaryp. 19
Exercisesp. 20
2 Basic number theoryp. 23
2.1 Introductionp. 23
2.2 Some basic definitionsp. 23
2.3 Some number theoretic calculationsp. 27
2.4 Primality testing44
2.5 Glossaryp. 47
Exercisesp. 48
3 Classical cryptosystemsp. 55
3.1 Introductionp. 55
3.2 The Caesar cipherp. 56
3.3 Translation ciphersp. 57
3.4 Transposition ciphersp. 58
3.5 The Vigenere cipherp. 61
3.6 The one-time padp. 65
3.7 Permutation ciphersp. 65
3.8 Matrix ciphersp. 66
3.9 Glossaryp. 71
Exercisesp. 71
4 Introduction to information theoryp. 79
4.1 Entropy and uncertaintyp. 79
4.2 Perfect secrecyp. 82
4.3 Estimating the entropy of Englishp. 84
4.4 Unicity distancep. 88
4.5 Glossaryp. 89
Exercisesp. 89
5 Public-key cryptosystems based on factoringp. 93
5.1 Introductionp. 93
5.2 The RSA cryptosystemp. 93
5.3 Attacks against RSAp. 99
5.4 RSA in Sagep. 101
5.5 Rabin's cryptosystemp. 104
5.6 Rabin's cryptosystem in Sagep. 109
5.7 Some notes on securityp. 111
5.8 Factoringp. 112
5.9 Glossaryp. 115
Exercisesp. 115
6 Public-key cryptosystems based on logarithms and knap-sacksp. 119
6.1 El Gamal's cryptosystemp. 119
6.2 El Gamal in Sagep. 122
6.3 Computing discrete logarithmsp. 125
6.4 Diffie-Hellman key exchangep. 127
6.5 Knapsack cryptosystemsp. 128
6.6 Breaking the knapsackp. 137
6.7 Glossaryp. 139
Exercisesp. 140
7 Digital signaturesp. 145
7.1 Introductionp. 145
7.2 RSA signature schemep. 147
7.3 Rabin digital signaturesp. 150
7.4 The Ei Gamal digital signature schemep. 152
7.5 The Digital Signature Standardp. 157
7.6 Glossaryp. 161
Exercisesp. 162
8 Block ciphers and the data encryption standardp. 167
8.1 Block ciphersp. 167
8.2 Some definitionsp. 169
8.3 Substitution/permutation ciphersp. 171
8.4 Modes of encryptionp. 173
8.5 Exploring modes of encryptionp. 178
8.6 The Data Encryption Standardp. 182
8.7 Feistel ciphersp. 182
8.8 Simplified DES: sDESp. 183
8.9 The DES algorithmp. 190
8.10 Security of S-boxesp. 196
8.11 Security of DESp. 204
8.12 Using DESp. 205
8.13 Experimenting with DESp. 206
8.14 Lightweight ciphersp. 207
8.15 Glossaryp. 211
Exercisesp. 212
9 Finite fieldsp. 215
9.1 Groups and ringsp. 215
9.2 Introduction to fieldsp. 219
9.3 Fundamental algebra of finite fieldsp. 222
9.4 Polynomials mod 2p. 224
9.5 A field of order 8p. 226
9.6 Other fields GF(2n)p. 229
9.7 Multiplication and inversionp. 230
9.8 Multiplication without power tablesp. 234
9.9 Glossaryp. 238
Exercisesp. 238
10 The Advanced Encryption Standardp. 245
10.1 Introduction and some historyp. 245
10.2 Basic structurep. 246
10.3 The layers in detailp. 248
10.4 Decryptionp. 252
10.5 Experimenting with AESp. 256
10.6 A simplified Rijndaelp. 258
10.7 Security of the AESp. 264
10.8 Glossaryp. 265
Exercisesp. 265
11 Hash functionsp. 267
11.1 Uses of hash functionsp. 268
11.2 Security of hash functionsp. 270
11.3 Constructing a hash functionp. 271
11.4 Provably secure hash functionsp. 281
11.5 New hash functionsp. 285
11.6 Message authentication codesp. 287
11.7 Using a MACp. 288
11.8 Glossaryp. 289
Exercisesp. 289
12 Elliptic curves and cryptosystemsp. 295
12.1 Basic definitionsp. 295
12.2 The group on an elliptic curvep. 300
12.3 Background and historyp. 307
12.4 Multiplicationp. 308
12.5 Elliptic curve cryptosystemsp. 309
12.6 Elliptic curve signature schemesp. 316
12.7 Elliptic curves over binary fieldsp. 317
12.8 Pairing-based cryptographyp. 318
12.9 Exploring pairings in Sagep. 323
12.10 Glossaryp. 326
Exercisesp. 327
13 Random numbers and stream ciphersp. 333
13.1 Introductionp. 333
13.2 Pseudo-random number generatorsp. 334
13.3 Some cryptographically strong generatorsp. 338
13.4 The shrinking generatorp. 341
13.5 Isaac and Fortunap. 344
13.6 Stream ciphersp. 346
13.7 RC4p. 348
13.8 The Blum-Goldwasser cryptosystemp. 351
13.9 Glossaryp. 355
Exercisesp. 356
14 Advanced applications and protocolsp. 361
14.1 Secure multi-party computationp. 361
14.2 Zero knowledge proofsp. 366
14.3 Oblivious transferp. 371
14.4 Digital cashp. 374
14.5 Voting protocolsp. 382
14.6 Glossaryp. 388
Exercisesp. 389
Appendix A Introduction to Sagep. 395
A.l Obtaining and installing Sagep. 395
A.2 Starting with Sagep. 396
A.3 Basic usagep. 396
A.4 Tab completion and helpp. 402
A.5 Basic programmingp. 404
A.6 A programming examplep. 407
Exercisesp. 408
Appendix B Advanced computational number theoryp. 411
B.1 The quadratic sievep. 411
B.2 The Aks primality testp. 415
B.3 Methods of computing discrete logarithmsp. 417
Exercisesp. 423
Bibliographyp. 425
Indexp. 435
Go to:Top of Page