Introduction to Cryptography with Open-Source Software
- Length: 461 pages
- Edition: 1
- Language: English
- Publisher: CRC Press
- Publication Date: 2011-05-24
- ISBN-10: 143982570X
- ISBN-13: 9781439825709
- Sales Rank: #2462448 (See Top 100 Books)
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.
Table of Contents
Chapter 1. Introduction to cryptography
Chapter 2. Basic number theory
Chapter 3. Classical cryptosystems
Chapter 4. Introduction to information theory
Chapter 5. Public-key cryptosystems based on factoring
Chapter 6. Public-key cryptosystems based on logarithms and knapsacks
Chapter 7. Digital signatures
Chapter 8. Block ciphers and the data encryption standard
Chapter 9. Finite fields
Chapter 10. The Advanced Encryption Standard
Chapter 11. Hash functions
Chapter 12. Elliptic curves and cryptosystems
Chapter 13. Random numbers and stream ciphers
Chapter 14. Advanced applications and protocols
Appendix A. Introduction to Sage
Appendix B. Advanced computational number theory