Cryptography and Network Security

  1. Modern Symmetric Ciphers
    1. Block Ciphers and Stream Ciphers
      1. Block Cipher Principles
        1. Block Size
          1. Common Block Sizes
            1. Security Implications
            2. Key Size
              1. Key Length Requirements
                1. Brute Force Resistance
                2. Rounds
                  1. Round Functions
                    1. Security vs. Performance
                  2. Stream Cipher Principles
                    1. Key Stream Generation
                      1. Pseudorandom Generators
                        1. Seed Values
                        2. Synchronous Stream Ciphers
                          1. Self-synchronizing Properties
                            1. Error Propagation
                            2. Asynchronous Stream Ciphers
                              1. Feedback Mechanisms
                                1. Synchronization Requirements
                              2. Feistel Cipher Structure
                                1. Feistel Network Design
                                  1. Left and Right Halves
                                    1. Round Function Properties
                                    2. Round Functions
                                      1. Substitution Operations
                                        1. Permutation Operations
                                        2. Key Scheduling
                                          1. Subkey Generation
                                            1. Key Expansion
                                        3. Data Encryption Standard (DES)
                                          1. DES Algorithm Structure
                                            1. Initial Permutation
                                              1. Final Permutation
                                                1. Feistel Rounds
                                                  1. 16 Rounds
                                                    1. Round Function Details
                                                    2. S-boxes
                                                      1. Substitution Tables
                                                        1. Nonlinear Transformations
                                                          1. Design Criteria
                                                        2. DES Key Generation
                                                          1. Key Schedule Algorithm
                                                            1. Permuted Choice 1
                                                              1. Permuted Choice 2
                                                              2. Subkey Generation
                                                                1. Left Circular Shifts
                                                                  1. 48-bit Subkeys
                                                                2. Weaknesses and Triple DES (3DES)
                                                                  1. DES Weaknesses
                                                                    1. Short Key Length
                                                                      1. Weak Keys
                                                                        1. Semi-weak Keys
                                                                        2. Brute Force Attacks
                                                                          1. Computational Feasibility
                                                                            1. Hardware Implementations
                                                                            2. Meet-in-the-Middle Attack
                                                                              1. Attack Methodology
                                                                                1. Time-Memory Tradeoffs
                                                                                2. Triple DES Structure
                                                                                  1. EDE Configuration
                                                                                    1. Key Options
                                                                                      1. Security Analysis
                                                                                  2. Advanced Encryption Standard (AES)
                                                                                    1. AES Structure and Design
                                                                                      1. Block Size
                                                                                        1. 128-bit Blocks
                                                                                        2. Key Sizes
                                                                                          1. 128-bit Keys
                                                                                            1. 192-bit Keys
                                                                                              1. 256-bit Keys
                                                                                              2. Number of Rounds
                                                                                                1. Round Variations by Key Size
                                                                                              3. AES Transformation Functions
                                                                                                1. SubBytes
                                                                                                  1. S-box Substitution
                                                                                                    1. Nonlinear Transformation
                                                                                                    2. ShiftRows
                                                                                                      1. Cyclic Shifts
                                                                                                        1. Diffusion Properties
                                                                                                        2. MixColumns
                                                                                                          1. Matrix Multiplication
                                                                                                            1. Galois Field Operations
                                                                                                            2. AddRoundKey
                                                                                                              1. XOR Operation
                                                                                                                1. Subkey Addition
                                                                                                              2. AES Key Expansion
                                                                                                                1. Key Schedule Algorithm
                                                                                                                  1. Word-based Expansion
                                                                                                                    1. Recursive Generation
                                                                                                                    2. Round Key Generation
                                                                                                                      1. SubWord Function
                                                                                                                        1. RotWord Function
                                                                                                                          1. Round Constants
                                                                                                                        2. Security of AES
                                                                                                                          1. Known Attacks
                                                                                                                            1. Differential Cryptanalysis
                                                                                                                              1. Linear Cryptanalysis
                                                                                                                                1. Side-channel Attacks
                                                                                                                                2. Implementation Considerations
                                                                                                                                  1. Constant-time Implementation
                                                                                                                                    1. Cache-timing Attacks
                                                                                                                                3. Block Cipher Modes of Operation
                                                                                                                                  1. Electronic Codebook (ECB)
                                                                                                                                    1. Operation Mechanism
                                                                                                                                      1. Use Cases
                                                                                                                                        1. Limited Applications
                                                                                                                                        2. Security Weaknesses
                                                                                                                                          1. Pattern Preservation
                                                                                                                                            1. Identical Block Problem
                                                                                                                                          2. Cipher Block Chaining (CBC)
                                                                                                                                            1. Initialization Vector (IV)
                                                                                                                                              1. IV Requirements
                                                                                                                                                1. IV Generation
                                                                                                                                                2. Chaining Mechanism
                                                                                                                                                  1. Error Propagation
                                                                                                                                                    1. Single-bit Errors
                                                                                                                                                      1. Block Errors
                                                                                                                                                    2. Cipher Feedback (CFB)
                                                                                                                                                      1. Segment Size
                                                                                                                                                        1. Bit-level Feedback
                                                                                                                                                          1. Byte-level Feedback
                                                                                                                                                          2. Feedback Mechanism
                                                                                                                                                            1. Shift Register Operation
                                                                                                                                                            2. Error Propagation Properties
                                                                                                                                                            3. Output Feedback (OFB)
                                                                                                                                                              1. Stream Generation
                                                                                                                                                                1. Keystream Production
                                                                                                                                                                2. Synchronization Requirements
                                                                                                                                                                  1. Error Propagation
                                                                                                                                                                    1. No Error Propagation
                                                                                                                                                                  2. Counter (CTR)
                                                                                                                                                                    1. Counter Generation
                                                                                                                                                                      1. Counter Values
                                                                                                                                                                        1. Nonce Usage
                                                                                                                                                                        2. Parallelization
                                                                                                                                                                          1. Independent Block Processing
                                                                                                                                                                          2. Random Access Properties
                                                                                                                                                                        3. Stream Ciphers
                                                                                                                                                                          1. RC4 Algorithm
                                                                                                                                                                            1. Key Scheduling Algorithm (KSA)
                                                                                                                                                                              1. State Array Initialization
                                                                                                                                                                                1. Key Mixing
                                                                                                                                                                                2. Pseudo-Random Generation Algorithm (PRGA)
                                                                                                                                                                                  1. State Array Updates
                                                                                                                                                                                    1. Output Generation
                                                                                                                                                                                    2. Security Issues with RC4
                                                                                                                                                                                      1. Biased Output
                                                                                                                                                                                        1. WEP Vulnerabilities
                                                                                                                                                                                      2. Other Stream Ciphers
                                                                                                                                                                                        1. Salsa20
                                                                                                                                                                                          1. Quarter-round Function
                                                                                                                                                                                            1. Matrix Operations
                                                                                                                                                                                              1. Security Properties
                                                                                                                                                                                              2. ChaCha
                                                                                                                                                                                                1. ChaCha20 Variant
                                                                                                                                                                                                  1. Improved Diffusion
                                                                                                                                                                                                    1. Performance Characteristics