Introduction - Overview of computer networks and network security
Unit 1: Concepts of Number Theory: Number Theory, GCD, Euclidean algorithm, Extended Euclidean algorithm, prime numbers, congruence’s, how to solve congruence equations, Chinese remainder theorem, residue classes and complete residue systems, Euler Fermat theorem, primitive roots.
Unit 2: Symmetric Key Cryptographic Systems: Caesar and affine ciphers, mono-alphabetic substitutions, transposition, homophonic, Vigenere and Beaufort ciphers, one-time pad, product/iterated/block ciphers, DES and AES. Heavy discussion is given to the security of these ciphers, not only are they studied in an algorithm sense but their attacks and defences are also discussed.
Unit 3: Cryptanalysis of symmetric keys- Attack Models, Linear, Differential and various others such as meet-in-the-middle attack.
PKCS- Concepts of PKCS, Diffie Hellman key-exchange protocol, RSA, Rabin and EL Gamal cryptosystems, primarily testing, pollard rho factorisation, man-in-the-middle attack.
Unit 4: Stream Ciphers- synchronous, self-synchronizing attack ciphers, linear feedback shift registers, Berlekamp-Massey algorithm, algebraic attacks. Digital Signatures- Rabin, Lamport, Matyas-Meyer, RSA, multiple RSA and ElGamal signatures, digital signature standard.
Unit 5: Hash Functions and MACs- Hash functions: the Merkle-Damgard construction, Message Authentication Codes, security of Hash functions, security weakness of MD4, MD5, SHA1,SHA2 and construction of SHA3, identification protocols, authenticated key exchange and SSL/TLS session setup, Zero knowledge protocols.
Unit 6: Basic elliptic curve cryptography: definition, mathematical formulation of them, elliptic curve cryptography and pairings, introduction to quantum computers and the future of cryptography.