Teaching

We aim to understand the theoretical power of cryptography and the practical engineering of secure information systems, from appropriate definitions and proofs of security, through cryptographic algorithm and protocol design, to implementations of real applications with easy-to-use security features. We are also interested in the relationship of our field to others, such as complexity theory, quantum computing, algorithms, machine learning, and cryptographic policy debates.


CURRENT COURSES

6.046J Design and Analysis of Algorithms
Techniques for the design and analysis of efficient algorithms, emphasizing methods useful in practice. Topics include sorting; search trees, heaps, and hashing; divide-and-conquer; dynamic programming; greedy algorithms; amortized analysis; graph algorithms; and shortest paths. Advanced topics may include network flow; computational geometry; number-theoretic algorithms; polynomial and matrix calculations; caching; and parallel computing.


PREVIOUS COURSES

6.875J Cryptography & Cryptanalysis
This course is an upper-level introduction to cryptography. Topics covered include: encryption, pseudorandom generation, digital signatures, two-party protocols, zero-knowledge, and advanced topics, including homomorphic encryption, leakage-resilient cryptography, and obfuscation. The emphasis will be on proof techniques.

6.S898 Evolution of a Proof
This subject has been approved as either an AUS or as a Theoretical Computer Science concentration subject. Efficient proof systems in (1) complexity theory including interactive proofs, efficient arguments, cs-proofs, probabilistically checkable proofs and delegation systems with applications to checking correctness of untrusted computation and memory storage in the cloud and approximation hardness; (2) cryptography: zero knowledge interactive and non-interactive proofs; and (3) quantum computation: interactive proofs and multi-proven interactive proofs with classical and quantum verifiers. The emphasis will be on current state of the art as well as research directions.

6.889 New Developments in Cryptography
The last few years have witnessed dramatic developments in the field of theoretical cryptography. Novel solutions to long standing open problems such as the existence Homomorphic Encryption have been found, new security concerns such as Leakage Resilience have been addressed, and a surge of new tools have been brought into the cryptographic arena. This development is motivated in part by technological advancement such as cloud computing platform and the abundant use of hand held peripheral devices.

6.857 Network and Computer Security
The project paper should be similar to a research paper – it should talk about the problem studied, the previous work (if any), the approach taken, the results found, and conclusions. In particular you should point out your project extends previous work on the subject! The paper should have an excellent bibliography, nice figures, be well-organized, and be well-written. A good paper is probably around 25 pages, though some groups may need more space, and less may be fine in some cases.

6.885 Frontiers of Cryptographic Research (or Advanced Cryptography II)

6.876 Advanced Topics in Cryptography
This fall, 6.876 (which can be repeated for credit) will focus on research in the intersection of Cyptography and Game Theory. In particular, we will emphasize topics which present an opportunity for future research.

6.042 Mathematics for Computer Science
An undergraduate course in An Introduction to Discrete Mathematics as Used in Computer Science

6.046 Design and Analysis of Algorithms
An undergraduate course on An Introduction to the Design and Analysis of Algorithms.

6.875 Cryptography and Cryptanalysis
An advanced pace course on modern cryptography emphasizing the formal foundations of the field.

6.045 Automata, Computability and Complexity
An undergraduate course on introduction to Computability, Languages, Complexity.
The CIS group seeks to develop techniques for securing tomorrow’s global information infrastructure by exploring theoretical foundations, near-term practical applications, and long-range speculative research.

Summer Course