Elliptic Curves in Cryptography
Fall 2011
Elliptic curves play a fundamental role in modern cryptography. They can be used to implement encryption and signature schemes more efficiently than "traditional" methods such as RSA, and they can be used to construct cryptographic schemes with special properties that we don't know how to construct using "traditional" methods.
In this course we will discuss the mathematics of elliptic curves and their applications in cryptography. We will study cryptosystems based on elliptic curves and discuss their security, and we will study algorithmic aspects of elliptic curves related to cryptosystem construction and security.
Administrative
Course
syllabus (and readings)
Course
overview (grading, textbooks, coursework, exams)
Instructor:  David Mandell Freeman, dfreeman at cs.stanford.edu 
Course Assistant:  Mark Zhandry, zhandry at cs.stanford.edu 
Lectures:  Monday, Wednesday, 4:155:30pm, Building 380, Room 380D. 
Website:  http://cs259c.stanford.edu 
Questions for Staff:  cs259caut1112staff@lists.stanford.edu 
Discussion Group:  Piazza (for discussion with CAs and other students). Sign up for a Piazza account.
Please use Piazza for questions about homework assignments. 
Homework
Due: Oct. 10, in class
Please take the online survey by Monday, October 3.
Update 9/27: Fixed typo in #3(d).
Update 9/30: Clarified statement of #5 (the operation was not defined when one of the inputs is O); clarified #5(a).
Update 10/04: Fixed due date of #1 (Monday, not Sunday). Clarified #3(c), #3(e), and #10(b).
Update 10/07: Clarified #7 (d should be nonzero).


Due: Oct. 26, in class.
Your solution to #8 must be saved as a SAGE worksheet and emailed to Mark. Update 10/14: Modified notation in #6.
Update 10/17: Removed trivial problem in #3 and reordered parts. Update 10/19: Changed notation in #9 to agree with lecture notes. Update 10/25: Clarified #7 and #9. 

Due: Nov. 9, in class
Update 10/28: Problems 8 and 9 added, fixed typo in 7b.
Update 11/02: Clarified #8. Update 11/05: n should be prime in #8. Update 11/08: Clarified #7a. (R is any point in E(F_p).) 

Due: Nov. 30, in class
Update 11/11: Fixed typos in #2, #4d.

Final Project
The final project for the course is an expository paper on some aspect of elliptic curve cryptography.