CS 259C/Math 250: Elliptic Curves in Cryptography

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:15-5:30pm, Building 380, Room 380-D.
Website: http://cs259c.stanford.edu
Questions for Staff: cs259c-aut1112-staff@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.

--
Project proposal: due November 18, by email
Full paper: due Dec. 15

Here are some of the best final papers from the course: