MACM 442, MATH 800, CMPT 881 Cryptography Fall 2006, Michael Monagan Lectures: Tuesdays & Thursdays, 9:30-11:20pm in K9509 Instructor: Michael Monagan: monagan@cecm.sfu.ca Office: TLX 10501 Office hours: Mon 9-10am, Wed 10-11am CECM lab: P 8495, (604) 291-5617. Webpage: You will find a link to the course web page from my home page at http://www.cecm.sfu.ca/personal/monaganm/ I will post assignments, solutions, and Maple worksheets there. Software: We need to use a package which supports long integer arithmetic. We will use Maple. The university has a site license. Maple is installed on the PCs and MACs in the assignment lab, the CECM lab, university open labs and the library. Maple is available from the microcomputer store for purchase at a reduced price for students - bring you student ID. On the course web page I have put a Maple worksheet entitled MapleNotes.mws, which contains notes and examples on using Maple. Textbook: ``Cryptography: Theory and Practice'' by Douglas Stinson. We will use the 3rd edition. We will cover chapters 1, 3, 5, 6, 2, 8, 4, 7 in that order. Reference: ``Handbook of Applied Cryptography'' by Alfred J. Menezes, Paul C. van Oorschot and Scott A. Vanstone. This is a standard reference on the subject: it is available free of charge, for personal use only, on-line at http://www.cacr.math.uwaterloo.ca/hac/ Content: o Classical cryptography. o The Data Encryption Standard and Advanced Encryption Standard. o The RSA public key cryptosystem and attacks on RSA. o Algorithms for integer primality testing and integer factorization. o Finite fields and the ElGammal cryptosystem and attacks on ElGammal. o Algorithms for the discrete logarithm problem. o The One-Time-Pad and pseudo-random number generation. o Quadratic residues and probabilistic encryption. o Secure hash functions and digital signature schemes. Assessment: Assignments: There will be six or seven assignments. Final Exam: Take home final, Friday December 8th. Grading: MATH 800 MACM 442 CMPT 881 Assignments 50% 60% 50% Final exam 30% 40% 30% Project 20% - 20% Cheating Policy: All cases of cheating will be reported to the chair and registrar. If you are caught cheating on an assignment you will get zero for that assignment. Caught twice you will get 0 for all assignments. Caught cheating on the project you will get 0 for the project. Caught cheating on the final you will get 0 on the final.