You are previewing A Cryptography Primer.
O'Reilly logo
A Cryptography Primer

Book Description

Cryptography has been employed in war and diplomacy from the time of Julius Caesar. In our Internet age, cryptography's most widespread application may be for commerce, from protecting the security of electronic transfers to guarding communication from industrial espionage. This accessible introduction for undergraduates explains the cryptographic protocols for achieving privacy of communication and the use of digital signatures for certifying the validity, integrity, and origin of a message, document, or program. Rather than offering a how-to on configuring web browsers and e-mail programs, the author provides a guide to the principles and elementary mathematics underlying modern cryptography, giving readers a look under the hood for security techniques and the reasons they are thought to be secure.

Table of Contents

  1. Cover
  2. Half-title page
  3. Title Page
  4. Copyright
  5. Contents
  6. Preface
  7. Acknowledgments
  8. 1 Introduction
    1. 1.1 Encryption and decryption
    2. 1.2 Channels, secure and insecure
    3. 1.3 Security through obscurity
    4. 1.4 The alternative: The Kerckhoffs Doctrine
    5. 1.5 A taxonomy of cryptography
    6. 1.6 Attacks on cryptosystems
    7. 1.7 Problems
  9. 2 Modular Arithmetic
    1. 2.1 The Caesar cypher
    2. 2.2 The number circle
    3. 2.3 Modular arithmetic in daily life
    4. 2.4 Congruences
    5. 2.5 Another example: Congruences modulo 10
    6. 2.6 Substituting using congruences
    7. 2.7 Representatives and remainder
    8. 2.8 Problems
  10. 3 The Addition Cypher, an Insecure Block Cypher
    1. 3.1 The addition cypher
    2. 3.2 Block cyphers
    3. 3.3 Attacks on the addition cypher
    4. 3.4 Attacks on any block cypher that uses ECB mode
    5. 3.5 Problems
  11. 4 Functions
    1. 4.1 The basics
    2. 4.2 Invertibility
    3. 4.3 Functions from modular arithmetic
    4. 4.4 Function notation
    5. 4.5 Uses of functions
    6. 4.6 A two-input function: The encryption function for the generalized Caesar cypher
    7. 4.7 Specialization: Turning a two-input function into a one-input function
    8. 4.8 Problems
  12. 5 Probability Theory
    1. 5.1 Outcomes of an experiment
    2. 5.2 Probabilities of outcomes
    3. 5.3 Plotting a probability distribution
    4. 5.4 Probabilities of sets of outcomes
    5. 5.5 Summary so far
    6. 5.6 Uniform distributions
    7. 5.7 Random variables
    8. 5.8 Problems
  13. 6 Perfect Secrecy and Perfectly Secure Cryptosystems
    1. 6.1 What does an eavesdropper learn from seeing a cyphertext?
    2. 6.2 Evaluation of cryptosystems
    3. 6.3 Perfect secrecy versus unique decryptability
    4. 6.4 A brief history of perfect secrecy
    5. 6.5 The drawback of perfectly secret cryptosystems
    6. 6.6 Problems
  14. 7 Number Theory
    1. 7.1 Divisibility
    2. 7.2 Relative primality
    3. 7.3 Prime numbers
    4. 7.4 Prime factorization
    5. 7.5 Euler’s phi function ϕ(x)
    6. 7.6 Exponentiation
    7. 7.7 Euler’s Theorem
    8. 7.8 Problems
  15. 8 Euclid’s Algorithm
    1. 8.1 The measuring puzzle
    2. 8.2 Finding a modular multiplicative inverse by solving a measuring puzzle
    3. 8.3 Euclid’s algorithm
    4. 8.4 The backward part of Euclid’s algorithm
    5. 8.5 The EuclidCards
    6. 8.6 What Euclid’s algorithm teaches us
    7. 8.7 Problems
  16. 9 Some Uses of Perfect Secrecy
    1. 9.1 Secret-sharing and perfect secrecy
    2. 9.2 Threshold secret-sharing
    3. 9.3 Message authentication codes
    4. 9.4 Problems
  17. 10 Computational Problems, Easy and Hard
    1. 10.1 Computational problems
    2. 10.2 Algorithms
    3. 10.3 Predicting how many computer steps are needed by an algorithm
    4. 10.4 Fast algorithms and slow algorithms, easy problems and hard problems
    5. 10.5 Problems
  18. 11 Modular Exponentiation, Modular Logarithm, and One-Way Functions
    1. 11.1 Modular logarithms
    2. 11.2 Application of one-way functions to password security
    3. 11.3 Application of one-way functions to logging in: s/key
    4. 11.4 (Mis) application of one-way functions to commitment
    5. 11.5 Problems
  19. 12 Diffie and Hellman’s Exponential-Key-Agreement Protocol
    1. 12.1 Motivation
    2. 12.2 Background
    3. 12.3 The protocol
    4. 12.4 Security
    5. 12.5 Eve in the middle
    6. 12.6 Problems
  20. 13 Computationally Secure Single-Key Cryptosystems
    1. 13.1 Secure block cyphers in the real world
    2. 13.2 Cypher block chaining
    3. 13.3 The exponentiation cypher
    4. 13.4 How to find a big prime
    5. 13.5 Problems
  21. 14 Public-Key Cryptosystems and Digital Signatures
    1. 14.1 Public-key cryptosystems
    2. 14.2 El Gamal’s cryptosystem
    3. 14.3 More remarks about the El Gamal cryptosystem
    4. 14.4 Public-key cryptography in practice
    5. 14.5 Signatures
    6. 14.6 Trapdoor one-way functions and their use in public-key encryption and digital signatures
    7. 14.7 The RSA trapdoor one-way function
    8. 14.8 The RSA public-key cryptosystem
    9. 14.9 The RSA digital signature scheme
    10. 14.10 Message digest functions
    11. 14.11 Use of message digest functions in commitment
    12. 14.12 Problems
  22. Further Reading
  23. Index