E0 297: Cryptographic Hardware Accelerators (August 2026)

 

Instructor: Utsav Banerjee

Lecture Timings: Monday & Wednesday 11:30am-12:30pm

Lab / Tutorial Timings: Tuesday 2:30pm

Location: First Floor Auditorium (ESE 201)

Teaching Assistants: TBD

 

Course Description: This is an advanced graduate-level course on the design and implementation of cryptographic hardware accelerators. This course will cover co-design of circuits, architectures and algorithms for cryptography with different power, performance, area, energy efficiency and security requirements. Various state-of-the-art implementation techniques and design trade-offs will be introduced using a combination of lectures, design assignments and a final project.

Prerequisites: Both E0 284 (Digital VLSI Circuits) and E3 231 (Digital System Design with FPGAs).

Credits: 2:1

Syllabus: Introduction to Symmetric Key and Public Key Cryptography, Advanced Encryption Standard (AES), Secure Hash Algorithm (SHA), Light-Weight Cryptography, Multi-Precision Integer Modular Arithmetic, Rivest-Shamir-Adleman (RSA), Elliptic Curve Cryptography (ECC), Circuit-Algorithm-Architecture Co-Optimizations, Efficient Hardware Implementations, Timing and Power Side-Channel Analysis, Algorithm-Level and Architecture-Level Side-Channel Countermeasures.

References: Journal Articles, Conference Papers, Preprints and Cryptography Standards.

 

Grading: The grade will be based on three design assignments, two quizzes, a paper review, a final project and class participation. Assignments must be submitted by 11:59pm on the day they are due. Late submissions will not be accepted for grading. The final grade will be calculated tentatively based on the following weights: Class Participation (10%), Paper Review Assignment (10%), Quiz 1 (10%), Quiz 2 (20%), Design Assignments (15%) and Final Project (35%). This course will have no final exam.

Design Assignments: There will be 3 well-defined RTL design assignments to be completed individually using prescribed open-source digital simulation / synthesis tools. These will provide hands-on experience with the design, analysis and implementation aspects of cryptographic hardware acceleration. The design assignments for this term are as follows: 1. AES-256 Block Cipher, 2. Keccak-f[1600] Permutation, and 3. Modular Exponentiation for 15360-bit RSA.

Course Materials: Lecture slides, tutorials, assignments, projects and reading materials will be shared using a Microsoft Teams group which will be accessible only to registered students.

 

Schedule:

Lecture Topic References
1 Introduction and Course Overview
2 Basics of Cryptographic Protocols
3 Symmetric Key Cryptography (Part 1)
4 Symmetric Key Cryptography (Part 2)
5 Implementation of AES (Part 1) NIST FIPS 197
6 Implementation of AES (Part 2) NIST SP 800-38A, NIST SP 800-38D
7 Implementation of SHA2 and SHA3 NIST FIPS 180-4, NIST FIPS 202
8 Implementation of ASCON NIST SP 800-232
9 Lightweight Ciphers KATAN, SIMON / SPECK, PRESENT, Trivium
10