VL713: Cryptography

This is an elective offered to 2nd Semester M. Tech. (VLSI) 

Course Plan for Jan – May 2009

 (3 credits: 4 lecture hours, 2 lab hours)

Modules to be covered (Theory):

     1.      Introduction: A brief history of cryptography

2.       Mathematical Background

-          Probability theory, Information theory, Complexity theory, Number theory, Abstract Algebra (Finite fields)

3.       Symmetric (Private) Key Cryptographic Systems

-     Caesar, Affine, Monoalphabetic Substitution, Transposition, Homophonic Substitution, Vignere, Beauford and DES Family, Product Ciphers, Lucifer and DES, FEAL, IDEA, RC6  and Rijndael

 4.       Asymmetric (Public) Key Cryptographic Systems

 -     Concept of PKCS, RSA Cryptosystem, Variants of RSA , primality Testing, Security of RSA, Merkle – Hellamn, Security of Merkle – Hellaman, McElice, Security of McElice, ElGamal and Elliptic Curve Cryptosystem (ECC)

 5.       Stream Ciphers and Block Ciphers

-     The one time pad, synchronous stream ciphers Self- synchronizing stream ciphers, Feedback shift registers, Linear Complexity, Berlekamp Massey Algorithm, Non – linear Feedback shift registers, stream ciphers based LFSRs. Non linear Combination generators, Non linear filter generators, Clock controlled generators, The alternating step generators, The shrinking generators

 6.       Digital Signatures

-      Properties, Generic signature schemes, Rabin Lamport, Matyas- meyer, RSA, Multiple RSA and ElGamal Signatures, digital signature standard , Blind Signatures, RSA Blind, Undeniable, Chaum-van Antwerpen, Fail – stop and van heyst – pedersen Signature – Time stamping

 7.       Secret Sharing Algorithms

-      Threshold Secret Sharing, Threshold Schemes, Shamir Scheme, Blakley Scheme and Modular Scheme.

 8.       Pseudo Random Number Generators

- Definition of randomness and pseudo-randomness, statistical tests of randomness, linear congruential generator, modern PRNGs (a brief description)

Crypto-Lab Experiments (MATLAB and PARI/GP, 2 hours per week):

  1. Statistical analysis of English Text – probability distribution and entropy calculation
  2. Algorithms in Number Theory
  3. Symmetric Key Crypto-Systems implementation
  4. Public Key Crypto-Systems implementation
  5. Stream/Block ciphers
  6. Secret Sharing and Visual Cryptography

References and Textbooks:

 1. Josef Pieprzyk, Thomas Hardjono and Jenifer Seberry , “Fundamentals of   Computer Security”, Springer 2003

 2. Alfred J Menezes, Paul C Van  Oorshot and Scott A. Vanstone, “Handbook of Applied Cryptography”, CRC press 1996 (http://www.dms.auburn.edu/hac/ OR http://www.cacr.math.uwaterloo.ca/hac/)

Schedule of lectures for Theory:

 Periodical I:  Modules 0, 1, 2 (beginning of Number theory)

 Periodical II: Module 2 (Number theory and Abstract Algebra),  Module 3

 Final Exam: Full syllabus

Evaluation Criterion:

  Periodical I: 15%

 Periodical II: 15%

 Quiz/Assignment: 10%

 Lab: 10%

 End Semester Exam: 50%