Cryptography
Summer 2025
Nico Döttling
Lucjan Hanzlik
Lecturers
Nico Döttling Lucjan Hanzlik
2
Team
▪ Teaching Assistants:
Eugenio Paracucchi ( [email protected] )
Riccardo Zanotto ( [email protected] )
Deepak Bhati ( [email protected] )
▪ Tutors:
Manar Mohamed
Sneha Soney
Saakshi Bhat
3
Organization
▪ Lecture:
▪ Live!
▪ Wednesday and Thursday 16:00 to 17:30ish
▪ We put the (pre-recorded) lectures from previous years online
in the materials section
▪ We have time, so please ask questions!
▪ Tutorials
4
Organization
▪ Exercise Sheets:
▪ 1 Weekly exercise sheet
▪ Entirely complementary material for you to exercise, no hand in
▪ Exam Qualification
▪ Quizzes!
▪ You have to score 50% of the overall achievable points to qualify for the exam
▪ If you score more than 80% of the overall achievable points you will earn a
grade bonus of 0.3 (given that you pass the exam)
▪ Exam Dates (tentatively)
▪ Main Exam: End of July
▪ Re-Exam: Beginning of September
5
Literature
▪ We have a Semesterapparat (check our cms site)
▪ Katz and Lindell: Introduction to Modern Cryptography
(Semesterapparat)
▪ Boneh and Shoup: A Graduate Course in Applied Cryptography
Available Online: https://crypto.stanford.edu/~dabo/
cryptobook/BonehShoup_0_4.pdf
6
Course Structure
7
Course Topics
Symmetric Key Public Key
Cryptography Cryptography
Symmetric Key Public Key
Privacy
Encryption Encryption
Message
Digital
Authenticity Authentication
Signatures
Codes
Advanced Cryptographic Tasks
8
Advanced Lectures building on this Course
Cryptography
Advanced Public Key Algorithms for
Seminars
Encryption Cryptanalysis
Obfuscation, scientifically Coding Theory
9
What will you learn in this Course?
▪ You will learn
▪ How to reason about security against unknown adversaries
(Schneier’s Law: Anyone, from the most clueless amateur to the best cryptographer, can create an algorithm that he himself can’t break.)
▪ How to model security
▪ How to establish that a system is secure under reasonable assumptions
▪ How to use cryptographic building blocks properly
▪ How to spot whether a system is potentially insecure
▪ You will not learn
▪ How to design new cryptographic schemes
▪ How to implement cryptography (don’t!)
▪ Real world attacks which violate model assumptions (e.g. side-channel attacks)
▪ How to argue security of complex systems
▪ Research-level cryptography
10
What is Cryptography?
And where did it come from?
11
What is Cryptography
▪ What is Computer Science?
▪ The study of algorithms, I.e. solving
problems effectively and efficiently
▪ What is Computability/Complexity Theory?
▪ The study of what problems algorithms
cannot solve: Algorithms have limitations!
▪ What is Cryptography?
▪ Harnessing the Limits of Algorithms
▪ This is, at its core, an algorithms course;
Everything in cryptography is about algorithms
▪ Encryption, Decryption? Algorithms
▪ Security Proofs? Oracle Algorithms
▪ Cryptanalysis? Algorithms!
12
Cryptography then…
50 BCE 1948
Secret Key Encryption
m m
m?
50 BCE 1948 1976
Public Key Encryption
m m
…Quantum Computers
17
Quantum Computers
• 1980s: Feynman suggests using “quantum analog
computers” to simulate one quantum system with
another one
• Late 1980s: What problems can quantum digital
computers solve?
• 1993: (Digital) Quantum computers, if real, could
break most public key cryptography used back then
Post-quantum Cryptography
• Private Key Cryptography
• Coding-Based Cryptography
• Lattice-based Cryptography
• Isogeny-based Cryptography
50 BCE 1948 1976 1982
Mental Poker
1982
Cryptography then…
50 BCE 1948 1976 1982
…and Now
Homomorphic Encryption
▪ Classical view of encryption: Digital
Strongbox
▪ Homomorphic encryption: Arbitrary
computations on encrypted data without
decryption
25
Obfuscation
▪ Compiler that hides “all” non-functional
aspects of a program
≡
function add2(a,b) {
sum = 0;
▪ Jack-of-all-trades of Cryptography function add1(a,b) {
return a + b; sum += a;
sum += b;
}
return sum;
}
Obf(add1) Obf(add2)
≈
Read the product reviews: https://www.amazon.de/-/en/Wenger-Swiss-Giant-Knife-Box/dp/
26
That’s all for today
• Next up: Historical Ciphers