Introduction to linear codes and error correcting codes. Encoding and decoding of a linear code.
Dual codes, Hamming codes and perfect codes.
Cyclic codes. Codes with Latin Squares, Introduction to BCH codes.
Classical ciphers: Cryptanalysis of classical ciphers, Probability theory, Perfect security. Block ciphers: DES, AES, Block cipher modes of operation.
Private-key encryption: Chosen plaintext attacks, Randomised encryption, Pseudo randomness, Chosen cyphertext attacks.