Cryptography and Network Security

  1. Public-Key Cryptography and RSA
    1. Principles of Public-Key Cryptosystems
      1. Public and Private Keys
        1. Key Pair Generation
          1. Mathematical Relationships
            1. Key Size Considerations
            2. Key Distribution
              1. Public Key Infrastructure
                1. Key Exchange Protocols
              2. One-Way Functions
                1. Definition and Properties
                  1. Easy to Compute
                    1. Hard to Invert
                    2. Examples of One-Way Functions
                      1. Integer Factorization
                        1. Discrete Logarithm
                      2. Trapdoor Functions
                        1. Definition and Properties
                          1. One-way with Secret Information
                          2. Role in Public-Key Cryptography
                            1. Encryption and Decryption
                              1. Digital Signatures
                          3. Mathematical Foundations
                            1. Prime Numbers
                              1. Properties of Primes
                                1. Fundamental Theorem of Arithmetic
                                  1. Prime Distribution
                                  2. Prime Number Theorems
                                    1. Prime Number Theorem
                                      1. Bertrand's Postulate
                                    2. Modular Arithmetic
                                      1. Congruence Relations
                                        1. Modular Operations
                                          1. Multiplicative Inverses
                                            1. Extended Euclidean Algorithm
                                            2. Fermat's and Euler's Theorems
                                              1. Fermat's Little Theorem
                                                1. Statement and Proof
                                                2. Euler's Theorem
                                                  1. Euler's Totient Function
                                                    1. Generalization of Fermat's Theorem
                                                  2. Testing for Primality
                                                    1. Trial Division
                                                      1. Basic Method
                                                        1. Optimization Techniques
                                                        2. Fermat Primality Test
                                                          1. Probabilistic Testing
                                                            1. Carmichael Numbers
                                                            2. Miller-Rabin Test
                                                              1. Strong Pseudoprimes
                                                                1. Error Probability
                                                                2. Solovay-Strassen Test
                                                                3. The Chinese Remainder Theorem
                                                                  1. Statement and Proof
                                                                    1. Applications in Cryptography
                                                                      1. RSA Optimization
                                                                        1. Key Generation
                                                                      2. Discrete Logarithms
                                                                        1. Definition in Finite Fields
                                                                          1. Hardness Assumptions
                                                                            1. Applications in Cryptography
                                                                              1. Diffie-Hellman
                                                                                1. ElGamal
                                                                            2. The RSA Algorithm
                                                                              1. Key Generation
                                                                                1. Selecting Prime Numbers
                                                                                  1. Prime Size Requirements
                                                                                    1. Prime Generation Methods
                                                                                    2. Computing Modulus
                                                                                      1. Product of Primes
                                                                                      2. Computing Exponents
                                                                                        1. Public Exponent Selection
                                                                                          1. Private Exponent Calculation
                                                                                        2. Encryption and Decryption
                                                                                          1. Mathematical Operations
                                                                                            1. Modular Exponentiation
                                                                                              1. Fast Exponentiation
                                                                                              2. Padding Schemes
                                                                                                1. PKCS#1 v1.5
                                                                                                  1. OAEP
                                                                                                    1. PSS
                                                                                                  2. Security of RSA
                                                                                                    1. Factoring Attacks
                                                                                                      1. Trial Division
                                                                                                        1. Pollard's Rho
                                                                                                          1. Quadratic Sieve
                                                                                                            1. General Number Field Sieve
                                                                                                            2. Chosen Ciphertext Attacks
                                                                                                              1. Adaptive Attacks
                                                                                                                1. Padding Oracle Attacks
                                                                                                                2. Implementation Attacks
                                                                                                                  1. Timing Attacks
                                                                                                                    1. Power Analysis
                                                                                                                      1. Fault Attacks
                                                                                                                  2. Other Public-Key Cryptosystems
                                                                                                                    1. Diffie-Hellman Key Exchange
                                                                                                                      1. Protocol Steps
                                                                                                                        1. Parameter Selection
                                                                                                                          1. Key Exchange Process
                                                                                                                          2. Security Considerations
                                                                                                                            1. Discrete Logarithm Problem
                                                                                                                              1. Man-in-the-Middle Attacks
                                                                                                                              2. Variants
                                                                                                                                1. Ephemeral Diffie-Hellman
                                                                                                                                  1. Elliptic Curve Diffie-Hellman
                                                                                                                                2. ElGamal Cryptosystem
                                                                                                                                  1. Key Generation
                                                                                                                                    1. Encryption Process
                                                                                                                                      1. Decryption Process
                                                                                                                                        1. Security Properties
                                                                                                                                          1. Semantic Security
                                                                                                                                            1. Discrete Logarithm Assumption
                                                                                                                                          2. Elliptic Curve Cryptography (ECC)
                                                                                                                                            1. Elliptic Curve Basics
                                                                                                                                              1. Curve Equations
                                                                                                                                                1. Point Addition
                                                                                                                                                  1. Scalar Multiplication
                                                                                                                                                  2. ECC Key Generation
                                                                                                                                                    1. Curve Selection
                                                                                                                                                      1. Base Point Selection
                                                                                                                                                      2. ECC Algorithms
                                                                                                                                                        1. ECDSA
                                                                                                                                                          1. ECDH
                                                                                                                                                          2. ECC Security
                                                                                                                                                            1. Elliptic Curve Discrete Logarithm Problem
                                                                                                                                                              1. Key Size Comparisons