Course Code: CS509
Course Name: Computational Number Theory and Cryptography
Prerequisites: Nil
Syllabus: Modular Arithmetic: Solving Modular Linear Equations, the Chinese Remainder Theorem, Modular Exponentiation, and Discrete Logarithm Problem GCD Computation: Euclid's Algorithm, Extended Euclid's Algorithm Key Exchange: Diffie Hellman, ElGamal, Massey-Omura, Computation of Generators of Primes Public Key Cryptosystem: RSA, Different Attacks & Remedies Primality Testing: Pseudoprimality Testing, Quadratic Residues, Randomized Primality Test & Deterministic Polynomial Time Algorithm Factorization: Quadratic-Sieve Factoring Algorithm, Pollard-Rho Method Elliptic Curve Cryptosystem: Theory of Elliptic Curves, Elliptic Curve Encryption & Decryption Algorithms, Security of Elliptic Curves Cryptography, Elliptic Curve Factorization Cryptographic Hash Functions: MD5 Message Digest Algorithm, Secure Hash Algorithm (SHA-1), Security of Hash Functions & Birthday Attack Digital Signatures: Authentication Protocols, Digital Signature Standards (DSS).
Texts: 1. T. H. Cormen, C. E. Leiserson, R. Rivest and C. Stein, Introduction to Algorithms, 2nd Edition, Prentice Hall, 2002.
2. Neal Koblitz, A Course in Number Theory and Cryptography, Springer-Verlag, New York, May 2001.
References: 1. Oded Goldrich, Foundations of Cryptography-Basics, vol-1, Cambridge Univ. Press, 2005.
2. Oded Goldrich, Foundations of Cryptography-Applications, vol-2, Cambridge Univ. Press, 2005.
3. R. Motwani and P. Raghavan, Randomized Algorithms, Cambridge University Press, 1995.
4. William Stallings, Cryptography and Network security: Principles and Practice, 3rd Ed, Prentice Hall, 2003.