Course Websites
ECE 407 - Cryptography
Last offered Spring 2025
Official Description
Related Faculty
Course Director
Topics
- Introduction: motivations, descriptions and design principles of cryptography.
- Ancient ciphers: encryption methods in the old days and attacks against them.
- Modern cryptography: rigorous definitions of perfect secrecy; encryption method of one-time pad; formal proof of security.
- Computational security: limitations of perfect secrecy; relaxation of probabilistic polynomial time adversaries and attacks with negligible probability.
- Symmetric-key encryptions: pseudorandomness; chosen plaintext attack; stream cipher and block cipher, AES and DES.
- Message-authentication codes: integrity and confidentiality; chosen ciphertext attack; authenticated encryption.
- Cryptographic hash functions: birthday attack; SHA.
- Number theory: mathematical background of public-key cryptography.
- Public-key encryptions: RSA encryption, El-Gamal encryption, Diffie-Hellman key exchange.
- Digital Signatures: RSA signature, Schnorr Signature, public key infrastructure, elliptic curves.
Lab Projects
There 5 homework assignments, 1 midterm exam and 1 final exam.
Lab Equipment
None
Topical Prerequisites
Prerequisite: CS 225
Texts
Introduction to Modern Cryptography, 3rd edition, Jonathan Katz and and Yehuda Lindell.
References
Slides and references distributed on Canvas and course webpage
Required, Elective, or Selected Elective
Elective
Course Goals
Cryptography uses mathematical algorithms and protocols to ensure the confidentiality, integrity, and authenticity of information. Today, cryptographic principles and systems form an integral part of almost all online activity. The goal of the course is to provide the students fundamentals of modern cryptography, including their definitions, security goals, concrete constructions in practice and formal security proofs. The course prepares the students for applying cryptographic primitives to enhance the security and privacy of data and computations in their future industrial positions.
Instructional Objectives
By the first homework assignment, the students should be able to do the following:
- Identify the vulnerabilities of ancient ciphers and old cryptographic designs (1, 6)
- Understand the rigorous definitions of modern cryptography (1)
- Perform reductions to reason about different variants of security definitions (6)
- Formally prove the security of cryptographic protocols (1,6)
By the second homework assignment, the students should be able to do the following:
- Understand the relaxed definitions of computational security (1)
- Construct secure encryption schemes under various definitions using building blocks such as pseudo-random generators and pseudo-random functions (2)
- Formally prove the security of protocols based on cryptographic assumptions (6)
- Understand the constructions and design principles of ciphers used in practice, such as DES and AES (1, 2)
- Complete the assignment in a team and present the results to other groups (3, 5)
By the third homework assignment and the midterm, the students should be able to do the following:
- Differentiate the guarantees of confidentiality, integrity and availability in cybersecurity (4)
- Design protocols of message authentication code using existing cryptographic primitives and reason about their integrity guarantees under proper security definitions (2, 6, 7)
- Combine both encryptions and message authentication codes to build authenticated encryptions, achieving both confidentiality and integrity (1, 2, 6)
- Understand the security definition of cryptographic hash functions and the concrete instantiations such as SHA2 (1)
By the fourth homework assignment, the students should be able to do the following:
- Understand the limitations of symmetric-key cryptography with a share-secret key (6)
- Apply the mathematical background of number theory to the area of cryptography (1, 2)
- Reason about new cryptographic assumptions used in public-key cryptography such as factoring large numbers and solving discrete-logarithm (6)
- Develop public-key encryption schemes and formally prove their security under cryptographic assumptions (2, 6, 7)
By the last homework assignment and the final exam, the students should be able to do the following:
- Develop digital signature schemes and formally prove their security under cryptographic assumptions (2, 6, 7)
- Implement cryptographic primitives using standard libraries such as OpenSSL (6, 7)
- Understand the public-key infrastructure to establish the hierarchy of trust on the Internet (1)
- Apply appropriate cryptographic primitives to solve various security problems in real-world scenarios (2, 4)
- Understand the functionalities of advanced cryptographic primitives (7)
Schedule and Instructors
Title | Section | CRN | Type | Hours | Times | Days | Location | Instructor |
---|---|---|---|---|---|---|---|---|
Cryptography | A | 76034 | LEC | 3 | 1030 - 1150 | T R | 3013 Electrical & Computer Eng Bldg | David Heath |