This OSS will cover the number theory and algebra behind public key cryptography focusing on the RSA crypto system and elliptic curve cryptography. The OSS will last approximately 10 weeks and will include 2 implementation projects (one for each cryptosystem examined). Texts:
- An Introduction to Mathematical Cryptography: Hoffstein, Pipher, Silverman.
This book shall heretofore be refered to as Hoff. - Elementary Number Theory: Primes, Congruences, and Secrets: William Stein
This book shall heretofore be refered to as Stein.
The work will be evaluated by Rehana in weekly meetings.
####Week 1, Sep 15: Introduction# The first week will be to brush up on the basic number theory and algebra which are in some ways pre-requisited for this independant study.
- Read the first chapter in Hoff. and the first two in Stein.
- Select two problems from each book to prepare.
####Week 2, Sep 22: Foundations Assymetric Cryptograph: Diffie-Helman and the Discrete Log Problem#
- Read Sections 2.1, 2.2 and 2.3 of Hoff. and 3.2 from Stein.
- Prepare 2 excercises form each book.
####Week 3, Sep 29: The RSA Cryptosystem
- Read sections 3.1, and 3.2 of Hoff, and 3,3 of Stein.
- Prepare 2 excercises from each book
####Week 4, Oct 6: Implement RSA
- Read Section 3.4 of Stein and 3.3 of Hoff.
- Implement (probably in python) a basic RSA system that can encrypt and decrypt text messages
- Write a report explaining how and why it works.
####week 5, Oct 13: Diversion: Primality and Quadratic Reciprocity
- Read Remainder of Chapter 3 in Hoff. (skimming some) and chapter 4 in Stein.
- Prepare 2 excercises from each book.
####week 6, Oct 20: Elliptic Curves: Theory
- Read 5.1 - 5.3 in Hoff. and 6.1 - 6.3 in Stein.
- Prepare 2 problems from each book.
####week 7, Oct 27: Elliptic Curve Cryptography
- Read 5.4 - 5.6 in Hoff. and 6.4, 6.5 in Stein
- prepare 2 problems from each book
####week 8, Nov 3: Elliptic Curve Implementation
- Implement an Elliptic Curve based cryptosystem (probably in python)
- Write a report explaining how and why it works.
####week 9, Nov 10: Special Topics
- Select one of the potential special topics, and choose reading from each book
- prepare 2 problems from each book
####week 10, Nov 17: Special Topics
- Select one of the potential special topics, and choose reading from each book
- prepare 2 problems from each book
####week 11, Nov 24: Special Topics
- Select one of the potential special topics, and choose reading from each book
- prepare 2 problems from each book