This is the official course website for TTM4205 Secure Cryptographic Implementations during Fall of 2025.
This course was taught for the first time during the fall semester of 2023. The course material and assignments from earlier semesters can be found here: 2023 and 2024. Furthermore, the grade distribution in this course can be found at karakterer.net/course/TTM4205, and I encourage you to check out the student evaluations from 2023 and 2024.
The course covers how to implement, analyse, attack, protect and securely compose cryptographic algorithms in practice.
It goes in depth on how to implement computer arithmetic, attacking implementations using side-channel attacks and fault
injection, exploit padding oracles and low-entropy randomness, utilise techniques to defend against these attacks, and how
to securely design misuse-resistant APIs.
See the full course description at ntnu.edu/studies/courses/TTM4205.
Lecturer: Tjerand Silde
Contact: tjerand.silde@ntnu.no
Office: Electro B225
Webpage: tjerandsilde.no
Lab/Teaching Assistant: Caroline Sandsbråten
Contact: caroline.sandsbraten@ntnu.no
Office: Electro B211
Webpage: carosa.no
Please reach out to be involved in the reference group.
We use Ed as a forum in this course. More details will be available later.
The course materials are the lecture slides, references therein, and the assignments.
We do not require that you buy any books, but recommend the following literature:
Additional great resources in applied cryptography are:
The evaluation in this course will consist of three assignments of 100 points total.
This assignment will contain the following kinds of problems:
The problem set will be available in August.
This assignment will contain side-channel attack (SCA) lab work using the ChipWhisperer Husky
or ChipWhisperer Level 1 equipment, which we will provide to all students who signed up for the
course. You have access to the CRYPTO-LAB in Electro A176 to work on the assignment.
The problem set will be available in August.
This assignment is to write a technical essay about a topic not covered by the
lectures or to cover a topic from the lectures in more depth. It is mandatory for
each group to present their work, but it does not count towards the final grades.
Most important guidelines:
The problem set will be available in August.
Deadlines:
We will use the official NTNU grading scale to assign combined grades.
We have the following sessions in lecture room R73 this semester:
(the schedule might be subject to small changes)
Week | Date | Format | Responsible | Topic | Resources |
---|---|---|---|---|---|
34 | 18/8 | Lecture | Tjerand | Course Introduction | |
34 | 22/8 | Lecture | Tjerand | Randomness 1: Entropy | |
34 | 22/8 | Exercises | Caroline | Exercise Class | |
35 | 25/8 | Lecture | Caroline | Randomness 2: Breaking ECDSA | |
35 | 29/8 | Lecture | Tjerand | Randomness 3: Randomization | |
35 | 29/8 | Exercises | Caroline | Exercise Class | |
36 | 1/9 | Lecture | Tjerand | Legacy Crypto 1: Crypto Wars | |
36 | 5/9 | Lecture | Tjerand | Legacy Crypto 2: Attacks on TLS | |
36 | 5/9 | Exercises | Caroline | Exercise Class | |
37 | 8/9 | Lecture | Tjerand | Post-Quantum Encryption | |
37 | 12/9 | Lecture | Tjerand | Post-Quantum Signatures | |
37 | 12/9 | Exercises | Caroline | Excercise Class | |
38 | 15/9 | Lecture | Tjerand | Padding Oracles 1: CBC and SHA | |
38 | 19/9 | Lecture | Tjerand | Padding Oracles 2: RSA Encryption | |
38 | 19/9 | Lab | Caroline | Exercise Class | |
39 | 22/9 | Lecture | Tjerand | Side-Channel Attack (SCA): Intro | |
39 | 26/9 | Lab | Caroline | SCA Setup Tutorial | |
39 | 26/9 | Lab | Caroline | SCA Lab 1 (2h) | |
40 | 29/9 | Lecture | Tjerand | SCA on Symmetric Key Crypto | |
40 | 3/10 | Lab | Caroline | SCA Lab 2 (4h) | |
41 | 6/10 | Lecture | Caroline | SCA on Public Key Crypto | |
41 | 10/10 | Lab | Caroline | SCA Lab 3 (4h) | |
41 | 13/10 | Lecture | Tjerand | SCA on Post-Quantum Crypto | |
42 | 17/10 | Lab | Caroline | SCA Lab 4 (4h) | |
43 | 20/10 | Lecture | Tjerand | Crypto API Failures | |
43 | 24/10 | Lecture | Tjerand | Commitments and Zero-Knowledge | |
43 | 24/10 | Exercises | Caroline | Exercise Class | |
44 | 27/10 | Lecture | Tjerand | Protocol Composition 1: RSA | |
44 | 31/10 | Lecture | Tjerand | Protocol Composition 2: DLOG | |
44 | 31/10 | Exercises | Caroline | Exercise Class | |
45 | 3/11 | Lecture | Tjerand | Course Summary | |
45 | 7/11 | No Class | |||
46 | 10/11 | Guest Lecture | Tjerand | Guest Lecture 1 | |
46 | 14/11 | Guest Lecture | Tjerand | Guest Lecture 2 | |
46 | 14/11 | Exercises | Caroline | Exercise Class | |
47 | 17/11 | Presentations | Tjerand | Project Presentations | |
47 | 21/11 | Presentations | Tjerand | Project Presentations | |
47 | 21/11 | Exercises | Caroline | Exercise Class |