Math 116 : Mathematical Cryptology

Winter 2009

Administrivia

Venue MS 5147
Time 10-10:50am
Lectures MWF (Mondays, Wednesdays and Fridays)
Discussions T (Tuesdays)

Instructor Teaching Assistant
Name Iftikhar Burhanuddin Brett Hemenway
Office MS 5338 MS 3915E
Office Hours MWF 12:30-1:30 or by appt. T 11-12 W 1-2
e-mail burhanud at math.ucla.edu bretth at math.ucla.edu

Course description

Math 116 is a 4 unit course, with 3 hours of lecture and 1 hour of discussion.

Introduction to mathematical cryptology using methods of number theory, algebra, probability. Topics include symmetric and public-key cryptosystems, one-way functions, signatures, key exchange, groups, primes, pseudoprimes, primality tests, quadratic reciprocity, factoring, rho method, RSA, discrete logs.

This class will serve as an introduction to the wonderful world of number theory and cryptography. Students will be exposed to basic cryptographic techniques and to applications of these techniques to domains such as digital signatures, identification, key establishment, secret sharing, security protocols, electronic cash, games, etc. While the lectures will focus on the theory, a part of the assignments will have a programming bent. The intention is to guide students to see how algorithms on paper are turned into programs which solve problems in practice. Students in the class are expected to be familiar with computer programming.

Textbook

Introduction to Cryptography with Coding Theory, Second edition
Wade Trappe and Lawrence C. Washington

Errata

Syllabus

The syllabus, which is subject to change, will touch on some of the following topics.

  • I. Introduction Chapters 1-3: Overview, Classical Cryptosystems, Basic Number Theory.
  • II. Symmetric Key Cryptosystems [Time Permitting] Chapters 4-5: The Data Encryption Standard, The Advanced Encryption Standard: Rijndael.
  • III. Public Key Cryptosystems Chapters 6-7: The RSA Algorithm, Discrete Logarithms.
  • IV. Hash Functions Chapters 8: Hash Functions.
  • V. Applications Chapters 9-13: Digital Signatures, Security Protocols, Digital Cash, Secret Sharing Schemes, Games.
  • VI. Zero-Knowledge Techniques Chapter 14: Zero-Knowledge Techniques.
  • VII. Elliptic Curves [Time permitting] Chapter 16: Elliptic Curves.

Assignments, Exams

There will be about 7 homework assignments, which will be assigned roughly every 1-2 weeks and will be due at the beginning of Friday's lecture. No late homework will be accepted. There will be an additional assignment to maintain a personal topical blog on Moodle and the content of the blog will be graded at the end of the quarter. Also at the end of the quarter, the assignment with the lowest score will be dropped and the remaining assignments will count toward the grade.

There will be one in-class midterm exam, which will be held on Monday, February 09. If you are unable to take the exam at the scheduled time, you must contact the instructor before the exam time. No make-up exams will be given, instead your other components will be weighted more, provided the absence is due to a legitimate reason, which will require appropriate documentation.

The final exam will be held on Wednesday, March 18 from 11:30am-2:30pm and the syllabus for the exam will be the entire content of the course. Failure to take the final will result in a failing grade.

There will a project (term=quarter) paper due on the last day of class. Students can form groups of size 1 or 2 to work on the project. The paper should be treated as "quarter" of a good scientific publication. It should include a solid introduction to the problem the paper discusses, initial results (computational or otherwise), future directions of research and references. Further details will be announced in class.

The course letter grades will be determined based on the class distribution of the total points. The grade breakdown is as follows: assignments: 30%, midterm: 20%, paper: 20% and final: 30%.

Scores of the assignments, midterm and final exam will be posted on my.ucla.

Moodle

Course news, handouts, lecture audios, slides, assignments, details on submission, etc. will be posted on the course Moodle. Students are encouraged to use the discussion forums on Moodle to ask questions about the course, etc.

Academic Honesty

Students are encouraged to collaborate with fellow students on general strategies for homework, but solutions should be written up and programming assignments should be worked on alone. Seeking help from outside the class room (such as friends, discussion forums on the Web) is not appropriate. The homework should list the fellow students with whom the solutions were discussed. Cheating and plagarism on the assignments and exams will result in disciplinary action. Please consult the documents related to Academic Integrity, Student Conduct for details.

Special Needs

OSD students contact the instructor as soon as possible to discuss any special arrangements.