COMP 4109:  Applied Cryptography


Instructor: Anil Maheshwari   

OFFICE HOURS:  Room 5125b HP  (send e-mail; drop in anytime you see me in my office; Mondays 10:00-11:00)

E-mail: anil@scs.carleton.ca, WWW:http://www.scs.carleton.ca/~anil


Term: Winter 2010 Class Hours: 11:35 to  12:55  Monday and Wednesday in PA 112

Course-TA:  ? (Likely None)


Course Objectives:
Look at the description in undergraduate calender 2010-2011

Text-Book
Cryptography and Network Security, Principles and Practices, 5/E by Stallings.(Pearson) [Stal]
Handbook of Applied Cryptography - Menezes et al. (CRC Press) [Hand]

Reference-Books

Course Evaluation:  (We will settle on this in the first week of class) - Tentatively this is what I am planning:
- A Seminar (about 30 minutes long + 10 minutes for Questions/Clarification + 5 minutes for Quiz) worth 50%. (Seminar will be evaluated with respect to the content, delivery, clarity, presentation, in-depth knowledge, use of appropriate illustration, choice of questions for the quiz).  The seminars will be during the class - they will start in late January. I will start assigning topics very soon - and if you have an interest in a particular topic - let me know by January 11th! To pass the course - you need to pass in your seminar - and once the schedule is up - I will not change date (time slot) for your seminar.
- Two in-Class Exams  (about 35%)
- Class Participation (i.e. the Seminar Quiz (15%))

Whats done in class in Winter 2012
Jan  4:
Introduction - What is this course about - Classical Encyrption Techniques
         
Whats a Cryptosystem?  What are Substitution Ciphers? [Stin 1.1, Stal 2.1+2.2]
Jan  9: Classical Encryption Techniques
         
More on Introduction to Cryptosystems? Mathematics of  Z_{26}; Affine Ciphers; Euler Phi-function; Vigenere and Hill Cipher [Stin 1.1, Stal 2.2]
Jan 11: Mathematical Background: Z_m, Euler Phi Function, and bit of Linear Algebra (via Hill Ciphers)
Jan 16:
Stream Ciphers (Stin 1.1.7), Cryptanalysis of Affine, Substitution, Vigenere and Hill Ciphers (Stin 1.2, Stal Chapter 2)
Jan 18: Block Ciphers Principles. Shannon's Diffusion and Confusion - Substitution Permutation Networks , Fiestel's Ciphers (Stal Chapter 3, Stin 3.1+3.2 )
Jan 23:
SPN-Feistel's Ciphers and DES (ppt slides from Stal)
Jan 25:
Basic Math: Euclidean Algo; Extended Euclidean; Inverse; Polynomial Artithmetic; Finite Fields (GF(2^n)) [Ch. 4 Stal] ppt slides from Stal
Jan 30:
More Math + Public-Key Cryptography : RSA
Feb 01:
RSA (Algorithm, Fermats Little Theorem; Chinese Remainder Theorem; Proof of Correctness of RSA).
Feb 06:
S1 [Andrew:  AES] + Computational Aspects of RSA (Modular Exponentiation)
Feb 08: S2 [Elom: Cryptanalysis of Cloud Based Computing]
Feb 13: S3 [Jean-Benoit: CSAR]  + Pseudo Random Number Generators (Linear Congruential, Block Cipher Based,  BBS)
Feb 15: In-Class Test I (15%)
[Everthing upto this point in the course]
Feb 27:
S4 [Sylvain: Biometric Cryptography]

Feb 29:
S5 [Michael:  Cryptographic Hash Functions and MACs]

Mar  5: 
Miller-Rabin Primality Testing [Stal 8.3] + Discrete Logs[Stal 8.5] + Diffie-Hellman Key-Exchange[Stal 10.1]
Mar  7:
S7 [Anton G: Cryptographic Voting Systems]
Mar 12: S8 [
Xu G:
Identification and Entity Authentication] + ElGamal Cryptosystem [Stal 10.2]
Mar 14: S9 [
David K:  Off the Grid - a paper based system for encryping domain names into secure passwords]
+ Block Cipher Operations[Stal ch. 6].
Mar 19: S10 [
Yerner: Rabin & Blum-Goldwasser Cryptosystems]
Mar 21:  Elliptic Curve Cryptography - What is it? How is it used? Speeding up ECC Computations. Key Exchange using ECC [Stal. 10.3+10.4; Stin. 6.5]

Mar 26:
S6 [Siyang T: Cell Phone Security (A5/1 Algorithm)]
Mar 28: S11 [Nadra: Attacks on Clouds] + S8 [Xu: Take 2 - Zero Knoweldge based identification]
Apr 02:
Left-overs (Cryptography using ECC+ Digital Signatures) + Course Evaluation 
Apr 04: In-Class Test II (20%)
                Everything which is covered in the course. This includes main ideas from your talks + the material covered by me.  Very basic questions will be asked to judge whether you have understood the core material covered in the core course.



Whats done in Class in Winter 2011
(This is with reference to Stinson's Book)
Jan 4: Basics/Course Mechanics/Intro/Math Background (Section 1.1.1)
Jan 6: Math Background + Section 1.1.2-5.
Jan 11: Sections 1.1.6-7, 1.2
Jan 13: 1.2 (contd.), Section 2.1-2.3
Jan 18: Section 2.7 (Product Cryptosystems)+ Section 3.2 (Substitution Permutation Network)
Jan 20: Section 3.2 + Section 3.3 (Linear Cryptanalysis)
Jan 25: Section 3.3 + Section 3.5 (DES)
Jan 27: Chapter 4 (4.1+ 4.2)
Feb 01: Section 4.3 Iterated Hash Functions + Section 4.3 CBC-MAC
Feb 03:
(Seminar 1 - Attacks on DES by Jing Li) + Public Key-Crypto Introduction + RSA (Section 5.3).

Feb 08: (Seminar 2- AES by  Morley A.) + RSA
Feb 10: (Seminar 3 - Quantum Key Distribution by Jordan)  RSA - Why it works and it uses.
Feb 15: (Seminar 4- Cryptographic voting systems by Jimin Park   (pdf file)) Modular Exponentiation

Feb 17: (Seminar 5- SHA + HMAC by Mattew Ng  pdf-file) Primality Testing
Mar 01: (Seminar 6- Pseudo-random number generation by Qiuliang Tang ppt) Primality Testing+ Factoring
Mar 03:
Talk by an Alcatel-Lucent Expert  
( SSL  PKI  certificate     ---->Thanks Moise!)
Mar 08: (Seminar 7-
Entropy by RakhimPollard's Algorithm
Mar 10: (Seminar 8-  Probablistic Public Encryption by Azymbek)  Introduction to Discrete Log's.
Mar 15: (Seminar 9 -
Knapsack public-key encryption by Kuralay Omarova) Diffie-Hellman Key Exchange
Mar 17: ElGamal Cryptosystem and Elliptic Curve Cryptosystems.
Mar 22: (Seminar 10-
NTRU system and its analysis by  Zhamila)   (SHA by Mattew Take II) Elliptic Curve Key Exchange.
Mar 24: (Seminar 11 - ID-based Cryptography of Secure Key by Cai Yangyang) Elliptic Curve Encryption-Decryption - some remarks on efficiency.
Mar 29: (Seminar 12 -
Attacks on WEP by Xi Chen) Digital Signatures
Mar 31: (Seminar 13 -  ZKP - Ewanick William) Digital Signatures, Award, Review, Evaluation
Apr 05 :  FINAL EXAM (starts 8:35 and end at 9:50)
ROOM NUMBER 409 S


Announcements
  1. The seminar will start sharp at 11:35 AM. For each seminar, you need to submit a pdf file of your presentation, at least a day before the seminar. This will be put up on the course web-page, so that others in the course can refer to it - please do not put your student number anywhere in the presentation.
  2. For each seminar, I will need 5 questions from the speaker. The three of these questions should be more or less straightforward and anybody who has paid attention in the talk should be able to answer them. The 4th and 5th question should require some thinking. Note that the design of quiz should be in such a way that it should  not take more than 10 minutes to answer. I need the quiz +  your presentation at least a day in advance - so that I can see the appropriateness of the questions and suggest modifications.
  3. I will evaluate seminars according to the following: content, delivery, clarity, presentation, in-depth knowledge, use of appropriate illustration, use of time,  are the main ideas communicated clearly, choice of questions for the quiz.
  4. Quiz for each seminar will be conducted at the end of the seminar during the class. It shouldn't take more than 10 minutes to answer the quiz.
  5. Please do not worry too much about the time required to deliver your seminar. General guideline is that it should take 30-45 minutes. But some seminars will require more time - and this depends upon the topic and amount of background needed to be covered. The main philosphy in terms of presentation is to ensure that the main ideas are clearly delivered - try avoiding unnecessary details - use illustrations and examples - do not write too much on a slide (at most 5 lines), and do not use too many colors (they become distracting). 

http://www.scs.carleton.ca/~maheshwa