Chris Pollett >
Students > [Bio] [Blog] |
CS297 ProposalImplementing and Testing Three Lattice-Based CryptosystemsMichaela Molina (michaela.molina@sjsu.edu) Advisor: Dr. Chris Pollett Description: Implement three lattice-based cryptosystems in Rust: the first by Miklos Ajtai which is based off a cryptographic hash and has a worst-to-average case reduction, the second by Hoffstein, Piper, and Silverman called NTRU which is public key and does not have a worse-to-average case reduction, and the third by Regev which is public key and has a worse-to-average case reduction. Focus on the last two systems. Run benchmarking of the different systems. Implement some worse to average case reduction algorithm. Schedule:
Deliverables: The full project will be done when CS298 is completed. The following will be done by the end of CS297: 1. Write a short program that demonstrates 3 functions from crate; Create slides to explain what the function does, and how to compile Rust; create no more than 8 slides. Completed: See "Deliverable 1" 2.Implement md5 in Rust, show tests to show that it works. 3.Implement Impagliazzo-Naor hash function, run tests, and make a distribution graph ([Dwork1997]) 4.Implement modular polynomial ring multiplication, division, inverse from [Hoffstein1996] 5. CS 297 report References: [Ajtai1996] "Generating hard instances of lattice problems." Miklos M. Ajtai. Proceedings of the twenty-eighth annual ACM symposium on Theory of computing. Association for Computing Machinery, New York, NY, United States. 1996. [Dwork1997] "Positive applications of lattices to cryptography." Cynthia Dwork. Mathematical Foundations of Computer Science 1997. MFCS 1997. Lecture Notes in Computer Science, vol 1295. Springer, Berlin, Heidelberg. https://doi-org.libaccess.sjlibrary.org/10.1007/BFb0029948 [Hoffstein1998] "NTRU: A ring-based public key cryptosystem." Jeffrey Hoffstein, Jill Pipher, and Joseph H. Silverman. International Algorithmic Number Theory Symposium. Springer, Berlin, Heidelberg. 1998. [Regev2009] "On lattices, learning with errors, random linear codes, and cryptography." Oded Regev. Journal of the ACM (JACM) 56.6. Association for Computing Machinery, New York, NY, United States. 2009. |