Classical cryptography: Introduction and basic notation, The Caesar cipher, simple substitution, polyalphabetic ciphers (Vigenére, Kasiski’s method, Vernam), transposition ciphers, rotor machines (Enigma).
Shannon’s theory of secrecy: entropy, key and message equivocation, redundancy, unicity distance, perfect secrecy.
Shift register theory and stream ciphers: Finite fields, linear feedback shift register sequences, periods and cycle sets, shift register synthesis, nonlinear combinations of sequences, attacks on stream ciphers.
Block ciphers: Data Encryption Standard (DES), Advanced Encryption Standard (AES).
Public key cryptography: Basic number theory, RSA, Diffie-Hellman key exchange, factoring, primality, digital signatures.
Hash functions: properties, collision attacks, the birthday paradox
Authentication codes: Impersonation and substitution attacks.
Secret sharing: Shamir’s threshold scheme, general secret sharing, perfect and ideal schemes.
Projects: 1. Factoring. 2. Shift register sequences. 3. Correlation attacks.