CIS 700, Fall 2014
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.
- Project title
- Group members (1-3 people)
- Problem: What problem are you trying to solve or what question are
you trying to answer and why?
- Approach: How are you going to do it? Give a tentative schedule
- Expected results, backup results, and stretch results: Give the
results you expect to be able to get by the end, describe your
backup plans for an impressive report even if your research doesn't
work (you can write a survey paper in the area) and give the
awesomest outcome you might expect.
- References: A handful of the main references you plan to use.
10 minutes for 1-person groups, 15 minutes for 2 people, 20 minutes for 3 people.
- Christian, Yaou
- Jonathan, Noam
- Shaanan, Luke
- Daniel, David, Nick
- 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:
- Related work
- Future work
Look through the programs of Crypto 2014, Eurocrypt 2014, or the ePrint Archives and find something that interests you.
- Side-channel attacks (Applied)
Re-implement a recent side-channel attack.
- Side-channel attack defenses (Applied)
Implement a proposed defense against side-channels and measure its efficacy.
- (Applied) Fix my "Factoring as a Service" scripts to run with the current version of CADO-NFS.
- (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.
- (Applied math) How "good" are the NFS polynomials for public keys on the internet?
- (Mathematical) Mersenne Factorization Factory by Kleinjung, Bos, and Lenstra 2004
- Discrete log
Study recent improvements in discrete log algorithms.
Study kleptography in theory or in practice.
- Weak keys (Applied+math)
Acquire cryptographic keys and look for key generation vulnerabilities.
- Privacy-enhancing technologies (Protocol analysis/implementation)
- Multilinear maps (Theory)
Study candidate multilinear maps.