The Cryptography Research Crypto FAQ

COMING SOON ...

Information about the exciting field of cryptography.
Please contact us at faq-editor@cryptography.com
with comments and questions

 

1. Project-management tips

  • 1.1 Importance of clear requirements
  • 1.2 Avoiding proprietary algorithms
  • 1.3 Best practices
  • 1.4 Getting your design reviewed early
  • 1.5 How can I tell if it's any good?
  • 1.6 Can I get my product certified?
  • 1.7 Advice on choosing systems or algorithms

2. Tips for implementers

3. Background

  • 3.1 What is it for?
    • 3.1.1 Secrecy
    • 3.1.2 Authentication
  • 3.2 What attacks must it resist?
    • 3.2.1 Cryptanalytic attacks
    • 3.2.2 Exhaustive key search attacks
    • 3.2.3 Side-channel attacks
    • 3.2.4 Exploitation of bad implementations

4. Symmetric cryptography

  • 4.1 Useful concepts in symmetric algorithms
    • 4.1.1 Block ciphers
    • 4.1.2 Stream ciphers
    • 4.1.3 One-way functions
    • 4.1.2 Stream ciphers
  • 4.2 Useful classical algorithms
    • 4.2.1 One-time pad
    • 4.2.2 AES
    • 4.2.3 SHA-1

5. The key-distribution problem

  • 5.1 The classical key-distribution center
  • 5.2 The public-key concept

6. Public-key cryptography

  • 6.1 Public-key concepts
  • 6.2 Public-key building blocks
    • 6.2.1 Trapdoor one-way functions
    • 6.2.2 Modular arithmetic
    • 6.2.3 The factoring problem
    • 6.2.4 The discrete log problem
  • 6.3 Useful public-key algorithms
    • 6.3.1 RSA encryption
    • 6.3.2 RSA digital signatures
    • 6.3.3 Diffie-Hellman key agreement
    • 6.3.4 DSA digital signatures

7. Other amazing techniques

  • 7.1 Secret sharing
  • 7.2 Zero-knowledge proofs
  • 7.3 Secure multiparty computations

8. References

9. Glossary