The course will start with modular arithmetic, prime numbers, and factorization. This would be followed by historical ciphers, how they can be broken, and what is cryptanalysis. The course will next discuss keys and key length (and the effect of length on the strength of the cryptographic algorithm), plaintext, cipher text, symmetric encryption algorithms, and asymmetric encryption algorithms. Different symmetric and asymmetric algorithms will be explored in depth. Differences between block and stream ciphers will also be discussed. Implementation level details of multiple encryption algorithms will be taught.
Prerequisite Courses