ENEE 759O/CMSC 858T
Fall 2013: Cryptography Against Physical Attacks
Project Information
Students should complete a
research project on a cryptographic topic of your choice, subject to
instructor approval. You may work on the research project individually
or in groups of two or three. Suggested topics are
posted below.
In the first stage of the project you will read papers in the
selected area. Based on that, you will then select a research
problem or direction which you expect to make new progress in by the end
of the semester. I will be available to help you with both these
stages, and expect to be updated about your progress throughout the
semester. You will be required to submit a short project proposal
(before first stage) and a short midterm progress report (before the
second stage), as well as a final report. Due dates:
- Proposal: Tuesday, October 8.
- Progress Report: Tuesday, November 12.
- Final Report: Tuesday, December 10.
Proposal:
The proposal can be informal and should include the general area that you will be researching, a list
of papers that you plan to read, and your goals for the
project. At this stage it is fine for goals to be general, though if
you do have very specific goals in mind, please include them in the
proposal.
There is no set number of papers to be included on your reading list.
This may vary depending on the project and area you choose.
The instructor is available to help you compile an appropriate list of papers.
Progress Report: In the second stage you will specify your goals more
clearly, typically in the form of a specific research problem you plan
to resolve. Outline your planned approach towards satisfying these
goals based on your readings and your study of the area.
The instructor is available to work with you to come up with research problems
in your chosen research area.
Final Report: Your final report will consist of a paper describing your new research
result (including motivation and background), or, in case no new result
was obtained, a literature survey, open problems, and description of
attempted approaches to solve the problem as well as suggestions for the next research step.
General Guidelines: In general there are two main goals for a project in this class:
(1) You should acquire a substantial body of knowledge about the topic of your project. This will involve closely and carefully reading literature on your specific project topic (likely to be several papers). You'll demonstrate this aspect of your project in the "background" section(s) of your project report, which should be a clear synthesis and exposition in your own words of what you learned.
(2) You should gain research experience in this area; i.e. make a serious effort to contribute to the state of knowledge on your project topic by (i) identifying an interesting open question or direction for future research related to your project topic; (ii) coming up with an approach to make progress; and (iii) working to carry out your approach. You'll demonstrate this aspect of your project by explaining in detail what you did for (i), (ii) and (iii) in the rest of your project report.
The ratio of (1) to (2) may vary between different projects. There are some projects that might involve relatively less background (but in that case you will be expected to spend more time -- and give more evidence of time well spent) -- on trying to make research progress; and there are other projects where you'll need to acquire more extensive background.
Suggested Topics
Note that after each topic one or two selected papers are listed. These are not meant to be comprehensive
lists, but just to start you off. Checking the bibliography of the selected papers is a good way to find additional
reading material.
The first set of topics are related to Cryptography against physical attacks. You may also pick other topics related to cryptography or security. See below for an additional list of suggested topics in Cryptography.
- Cryptographic primitives secure against Leakage and Tampering (this is the topic of most of the
paper presentations):
-
Yevgeniy Dodis, Kristiyan Haralambiev, Adriana López-Alt, Daniel Wichs: Cryptography against Continuous Memory Attacks.
- OCL compilers:
-
Shafi Goldwasser, Guy N. Rothblum: How to Compute in the Presence of Leakage.
- Leakage and/or Tampering in Interactive Settings:
-
Elette Boyle, Shafi Goldwasser, Abhishek Jain, Yael Tauman Kalai: Multiparty computation secure against continual memory leakage.
- Tampering compilers for circuits and/or memory:
-
Dana Dachman-Soled, Yael Tauman Kalai: Securing Circuits against Constant-Rate Tampering.
- Leakage compilers for memory:
-
Yevgeniy Dodis, Allison B. Lewko, Brent Waters, Daniel Wichs: Storing Secrets on Continually Leaky Devices.
- Improved models for physical attacks:
-
François-Xavier Standaert, Olivier Pereira, Yu Yu: Leakage-Resilient Symmetric Cryptography under Empirically Verifiable Assumptions.
- Physical attacks on real cryptosystems:
-
Dan Boneh, Richard A. DeMillo, Richard J. Lipton: On the Importance of Eliminating Errors in Cryptographic Computations.
- Impossibility results for cryptography secure against physical attacks:
-
Per Austrin, Kai-Min Chung, Mohammad Mahmoody, Rafael Pass, Karn Seth: On the (Im)Possibility of Tamper-Resilient Cryptography: Using Fourier Analysis in Computer Viruses.
Additional Topics:
- Fully homomorphic encryption:
-
Zvika Brakerski, Vinod Vaikuntanathan: Efficient Fully Homomorphic Encryption from (Standard) LWE.
- Multilinear maps:
-
Sanjam Garg, Craig Gentry, Shai Halevi: Candidate Multilinear Maps from Ideal Lattices.
- Best possible obfuscation:
-
Sanjam Garg, Craig Gentry, Shai Halevi, Mariana Raykova, Amit Sahai, Brent Waters: Candidate Indistinguishability Obfuscation and Functional Encryption for all circuits.
- Functional/Attribute-based encryption:
-
Sergey Gorbunov, Vinod Vaikuntanathan, Hoeteck Wee: Attribute-based encryption for circuits.
- Delegation:
- SNARKs, knowledge assumptions:
-
Nir Bitansky, Ran Canetti, Alessandro Chiesa, Eran Tromer: From extractable collision resistance to succinct non-interactive arguments of knowledge, and back again.
- Delegation in the pre-processing model:
-
Rosario Gennaro, Craig Gentry, Bryan Parno: Non-interactive Verifiable Computing: Outsourcing Computation to Untrusted Workers.
- Complexity-theoretic type work:
-
Rosario Gennaro, Craig Gentry, Bryan Parno, Mariana Raykova: Quadratic Span Programs and Succinct NIZKs without PCPs
-
Yael Tauman Kalai, Ran Raz, Ron D. Rothblum: Delegation for bounded space.
- Knowledge assumptions:
-
Mihir Bellare, Adriana Palacio: The Knowledge-of-Exponent Assumptions and 3-Round Zero-Knowledge Protocols.
- Impossibility results:
-
Dana Dachman-Soled, Yehuda Lindell, Mohammad Mahmoody, Tal Malkin: On the Black-Box Complexity of Optimally-Fair Coin Tossing
- Multiparty computation:
- UC security:
-
Ran Canetti: Universally Composable Security: A New Paradigm for Cryptographic Protocols.
- Efficient 2-party computation:
-
Yehuda Lindell, Benny Pinkas: An Efficient Protocol for Secure Two-Party Computation in the Presence of Malicious Adversaries.
- Adaptively secure multiparty computation:
-
Ran Canetti, Uriel Feige, Oded Goldreich, Moni Naor: Adaptively Secure Multi-Party Computation.
- Non Black-Box techniques:
-
Nir Bitansky, Omer Paneth: From the Impossibility of Obfuscation to a New Non-Black-Box Simulation Technique.