CIS 556, Fall 2015
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 10/30)

Please write a 1-page proposal listing the following and submit to Canvas. (One per group.)


Presentations will be held during class time on 12/1 and 12/8. Presentations should be 8 minutes per group, slides or chalkboard. Provide an overview of the problem you're trying to solve and your results.

  1. Hung, Bipeen
  2. Michael C.
  3. Sara
  4. Josh, Marcella, Josh
  5. Sangdon
  6. Matthew J.
  7. Brenden
  8. Matt, Ajay
  1. Benson, Kevin, Meyer
  2. Zhan Xiong, Lianhan
  3. Philip
  4. Jake, Lucas, Michael R.
  5. Anastasiya
  6. Michelle
  7. JJ, Ray, Atul
  8. Brian

Final Paper (due 12/8)

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/accepted papers of Crypto 2015, Eurocrypt 2015, Asiacrypt 2015 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. (Mathematical) Mersenne Factorization Factory by Kleinjung, Bos, and Lenstra 2014
    2. (Mathematical) Batch NFS by Bernstein and Lange 2014
    3. (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.
    4. (Applied) Build SieveCoin. (Talk to Nadia or Luke for more details.)

  5. Discrete log (Math)

    Study recent advances 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. (Coordinate with Nadia and Luke if you're interested.)


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

  9. Ideal lattices/Post-quantum cryptography (Theory/math)

    Study constructions and attacks on ideal lattices

  10. The ongoing saga of multilinear maps (Theory)

    Study candidate multilinear maps and cryptanalyses.