CIS 700, Fall 2014
Final Project

For the research project, you should try to do something nontrivial, tractable, and open. If you're more theoretical, you can try to prove an extension of existing work, or do a theoretical analysis of something related to cryptography. If you're more applied, you can design and analyze a protocol to solve some new problem, implement an interesting algorithm, or do a cryptography-related experimental or measurement study.

If you have any questions about scope, or want ideas or suggestions, feel free to send an email or come to office hours.

Project Proposal (due 11/3)

Please write a 1-page proposal listing the following and submit to Canvas.


10 minutes for 1-person groups, 15 minutes for 2 people, 20 minutes for 3 people.


  1. Peter
  2. Christian, Yaou
  3. Jonathan, Noam
  4. Shaanan, Luke
  5. Daniel, David, Nick


  1. Shruthi
  2. Mayank
  3. Chris
  4. Sudarshan
  5. Arpit
  6. Richard, Dennis, Terry

Final Paper (due 12/17)

Your final report should be written in the style of an academic paper, typeset in LaTeX, 10-15 pages. The usual components of a paper are:

Project Ideas

  1. Look through the programs of Crypto 2014, Eurocrypt 2014, or the ePrint Archives and find something that interests you.

  2. Side-channel attacks (Applied)

    Re-implement a recent side-channel attack.


  3. Side-channel attack defenses (Applied)

    Implement a proposed defense against side-channels and measure its efficacy.

  4. Factoring

    1. (Applied) Fix my "Factoring as a Service" scripts to run with the current version of CADO-NFS.
    2. (Mathematical) [Crandall and Pomerance] Given a large integer N, come up with two distinct, irreducible, degree 3 polynomials f(x), g(x) with coefficients bounded by N^(1/6) and an integer m such that f(m) = g(m) = 0 mod N. Work out how this would improve the number field sieve.
    3. (Applied math) How "good" are the NFS polynomials for public keys on the internet?
    4. (Mathematical) Mersenne Factorization Factory by Kleinjung, Bos, and Lenstra 2004

  5. Discrete log

    Study recent improvements in discrete log algorithms.


  6. Kleptography

    Study kleptography in theory or in practice.


  7. Weak keys (Applied+math)

    Acquire cryptographic keys and look for key generation vulnerabilities.


  8. Privacy-enhancing technologies (Protocol analysis/implementation)

  9. Multilinear maps (Theory)

    Study candidate multilinear maps.