Skip to content

TTM4205

This is the official course website for TTM4205 Secure Cryptographic Implementations during Fall of 2026.

This course was taught for the first time during the fall semester of 2023. You can find the course material, assignments,
and student evaluations from earlier semesters in the menu, and the grade distribution at karakterer.net/course/TTM4205.

Course Description

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.

Course Staff

Lecturer:   Tjerand Silde
Contact:    tjerand.silde@ntnu.no
Office:      Electro B225
Webpage:   tjerandsilde.no

Teaching Assistant: Jo Remvik
Contact:    jo.v.remvik@ntnu.no

Teaching Assistant: Thomas Houillier
Contact:    tbhouill@stud.ntnu.no

Forum

We use the discussion forum on Canvas in this course. Enrolled students automatically have access to the pages.

Please ask all questions regarding practicalities, the course content, and the assignments to the course staff there.

Reference Group

The reference group consist of the following members (to be updated):

  • Shreyansh Swami (shreyans), mscybsure

Dates for meetings will be announced later, and minutes will be shared.

Course Materials

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:

  1. Serious Cryptography by Jean-Philippe Aumasson at akademika.no
  2. Real-World Cryptography by David Wong at akademika.no

Additional great resources in applied cryptography are:

  • A Graduate Course in Applied Cryptography by Dan Boneh and Victor Shoup at toc.cryptobook.us
  • Introduction to Modern Cryptography by Jonathan Katz and Yehuda Lindell at akademika.no
  • The Hardware Hacking Handbook by Jasper van Woudenberg and Colin O'Flynn at akademika.no

Some of these books, and more, are available in the CRYPTO-LAB located in Electro A175.

Portfolio Assignment

The evaluation in this course consists of three assignments of 100 points total and must be submitted via Canvas.

Weekly Problems (40 points)

This assignment is individual and contains the following kinds of problems:

  • Mathematical problems
  • Coding problems
  • CryptoHack problems

The assignment is available here: TTM4205 Weekly Problems.

The submission deadline is December 4th at 23:59.

ChipWhisperer Lab (30 points)

This is a group assignment and contains side-channel attack lab work using the ChipWhisperer Husky equipment, which
we will provide to all students who signed up for the course. You have access to the CRYPTO-LAB located in Electro A175
to work on the assignment. Each group has to consist of 2 or 3 students and the report must be written in LaTeX.

The assignment is available here: TTM4205 ChipWhisperer Lab.

The submission deadline is December 4th at 23:59.

Technical Essay (30 points)

This is a group assignment 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 grade.

Most important guidelines:

  • Groups of 2 or 3 students each
  • Should be of roughly 8 to 10 pages
  • Must be written in LaTeX
  • Short oral presentations

The assignment is available here: TTM4205 Technical Essay.

Deadlines:

  • Topic/scope/group approval on October 30th at 23:59.
  • Short oral presentations on November 10th, 13th, or 20th
  • Final submission deadline on December 18th at 23:59.

Grading

We will use the official NTNU grading scale to assign combined grades.

Lecture Plan

We have the following sessions this semester, starting Tuesday August 18th:

  • Tuesdays at 12:15-14:00 in H2: Lecture OR Lab
  • Tuesdays at 14:15-16:00 in H2: Exercises OR Lab
  • Fridays at 12:15-14:00 in R10: Lecture

SCA ChipWhisperer Lab Tutorial on September 15th: Caroline Sandsbråten (PhD student at NTNU).

Guest lecture on October 27th: Diego F. Aranha (Aarhus University). Title: "Running a Systems Security course for fun, not profit".

(the schedule is a draft and subject to changes)

Week Date Format Responsible Topic Resources
34 18/8 Lecture x2 Tjerand Intro + From Enigma to Crypto Wars Lecture 1 and Lecture 2
34 21/8 Lecture Tjerand Randomness 1: Entropy Lecture 3
35 25/8 Lecture Tjerand Randomness 2: Breaking ECDSA
35 25/8 Exercises Jo/Thomas Exercise Class
35 28/8 Lecture Tjerand Randomness 3: Randomization
36 1/9 Lecture Tjerand Legacy Crypto and Attacks on TLS
36 1/9 Exercises Jo/Thomas Exercise Class
36 4/9 Lecture Tjerand Padding Oracles 1: CBC and SHA
37 8/9 Lecture Tjerand Padding Oracles 2: RSA Encryption
37 8/9 Exercises Jo/Thomas Exercise Class
37 11/9 Lecture Tjerand Side-Channel Attack (SCA): Intro
38 15/9 Lab Lecture Caroline SCA ChipWhisperer Lab Tutorial
38 15/9 Lab Jo/Thomas SCA Lab
38 18/9 Lecture Tjerand SCA on Symmetric Key Crypto
39 22/9 Lab x2 Jo/Thomas SCA Lab (4 hours)
39 25/9 Lecture Tjerand SCA on Public Key Crypto
40 29/9 Lab x2 Jo/Thomas SCA Lab (4 hours)
40 2/10 Lecture Tjerand Quantum-Safe Encryption
41 6/10 Lab x2 Jo/Thomas SCA Lab (4 hours)
41 9/10 Lecture Tjerand Quantum-Safe Signatures
42 13/10 Lab x2 Jo/Thomas SCA Lab (4 hours)
42 16/10 Lecture Tjerand SCA on Quantum-Safe Crypto
43 20/10 Lecture Tjerand Crypto API Failures
43 20/10 Exercises Jo/Thomas Exercise Class
43 23/10 No Lecture
44 27/10 Guest Lecture Guest Lecture: Diego F. Aranha
44 27/10 Exercises Jo/Thomas Exercise Class
44 30/10 Lecture Tjerand Commitments and Zero-Knowledge
45 3/11 Lecture Tjerand Protocol Composition
45 3/11 Exercises Jo/Thomas Exercise Class
45 6/11 Lecture Tjerand Course Summary
46 10/11 Presentations Project Presentations
46 10/11 Exercises Jo/Thomas Exercise Class
46 13/11 Presentations Project Presentations
47 17/11 Exercises x2 Jo/Thomas Exercise Class (4 hours)
47 20/11 Presentations Project Presentations