Computer Science 4730 --  Applied Cryptography  

Test 1 -- Review

 

1. Basic Issues & Terminology

Main areas of cryptology: data confidentiality, authentication, non-repudiation, data integrity, access control
symmetric (private key), asymmetric (public key) encryption
network security model: sender, recipient, trusted third party, opponent, secure messages, unsecure channel
 

2. Classical Techniques

Symmetric cipher model: plaintext, shared secret key, encryption,  ciphertext, decryption
terms: cryptography, cryptanalysis, brute-force attack, cryptology
substitution techniques: Caesar cipher, mono-alphabetic (permuted character set) ciphers,
            multi-letter ciphers (Playfair, Hill), polyalphabetic (cycle of permutations) - Vigenère, one-time pad
transposition techniques: square matrix transpositions, permutations
rotor machines: mechanized long-cycle polyalphabetic using multiple rotating permutation wheels
steganography: hiding information within other data
 

3. Block Ciphers

simplified DES: key generation, separate half-block processing,
            non-reversible "round" function, XOR, swap halves
general block cipher principles: Feistel cipher structure,  decryption reverse, diffusion & confusion,
            parameters- block size, key size, number of rounds, sub-key generation, round function
DES details: initial permutation & final inverse permutation, key generation by half-key rotations + permutation;
            repeated rounds - half-block expansion & XOR with round key,  S-box, permutation,
                        XOR with other half-block, and swap blocks
DES analysis: avalanche effect, key-size limitation, timing attacks,
            differential cryptanalysis, linear cryptanalysis  
issues in DES design: S-box criteria, number of rounds, function F design, S-box design  
block cipher modes of operation: ECB, CBC, CFB, OFB, CTR
AES: origin & motivation, the Rijndaiel cipher model, both halves change each round;  
            each round does: S-box byte transformation based on GF(256), row-shift permutation,  
            matrix column mixing with GF(256) arithmetic, and XOR with the round key,
triple DES (2-key & 3-key), Blowfish (sub-keys & S-boxes generated from key using encryption algorithm;
            round function based on mod 232 addition and XOR) ,  RC5 (parameterized based on key-size,
            word-size, # of rounds; round function based on modular addition, shifts, and XOR) ,
RC4 is a stream cipher based on XOR with series of pseudo-random numbers seeded by the key
           

5. Finite Fields

definitions of: groups, rings, fields
modular arithmetic and properties  
Euclid's GCD algorithm and modification to get multiplicative inverse
finite fields, GF(N), only for sizes N=pk, where p is prime; special interest in GF(p) and GF(2k)
polynomial arithmetic, coefficients in Zp  (modular arithmetic, especially binary based on *=AND, +=XOR) ,
            and maximum degree, D, resulting from mod some irreducible polynomial of degree D+1;
            the result is a D-bit binary number finite field of size 2D+1 (which is isomorphic to all GF(2D+1) )
Euclid's GCD algorithm and multiplicative inverse calculation generalize to polynomial operations,
            so it can be used to test for irreducible polynomials and to find multiplicative inverses

  4. Confidentiality Using Symmetric Encryption

encryption function placement: end-to-end or link encryption
traffic analysis problem for just doing end-to-end
key distribution technique: physical delivery, secure channel user sharing, Key Distribution Center,
            hierarchy of KDCs
random number generation: motivation/uses, properties, pseudo-random number generators  
            (method of residues or linear congruential - NK+1 = (NK * M + C) mod B, B & C
            relatively prime, C zero or selected to guarantee max cycle); Blum/Blum/Shub bit generator;  
            physical randomizers