Data Protection (Fall 2025)
Class slides and notes
Slides:
- Introduction. Symmetric Encryption (I). Slides (Handout) (You can skip the Shannon entropy slides.)
- Symmetric Encryption (II). Message Authentication. Slides (Handout)
- Hash Functions. Authenticated Encryption. Slides (Handout)
- Mathematical Background. Slides (Handout)
- Public Key Encryption. Slides (Handout)
- Digital Signatures and Certificates. Slides (Handout)
- Security Models for Encryption and Signatures. Slides (Handout)
- Zero Knowledge Slides (Handout)
- Distributed Protocols Slides (Handout)
Notes:
- Symmetric Key Cryptography. (HTML) (PDF) (You can skip the formal part of the LFSR.)
- Public Key Cryptography. (HTML) (PDF) (You can skip the theoretical sections 1.7 and 1.8.)
- Security Models. (HTML) (PDF) (You can completely skip this chapter and use only the slides.)
- Zero Knowledge. (HTML) (PDF)
- Distributed Cryptography. (HTML) (PDF)
(The details of the implementations are not so important.)
Lab Work:
- Lab 1: Practical Stream Ciphers (HTML) (PDF) (Send by email a short report and the scripts before October 14!)
- Labs 2 and 3: Hash functions and MACs (HTML) (PDF) (Prolongation attacks (Sections 4.1 and 4.2): Send a short report and the scripts before October 28!)
- Lab 4: Public Key Encryption (HTML) (PDF) Auxiliary files: My public key, Test public key, Test private key, Test ciphertext
- Lab 5: Signatures and certificates (HTML) (PDF) (Send the digitally signed short report before December 9!)
Auxiliary files: rc4enc.cpp,
bytes_01FFxx.dat, bytes_03FFxx.dat, bytes_04FFxx.dat, bytes_05FFxx.dat,
bytes_06FFxx.dat, bytes_07FFxx.dat, bytes_08FFxx.dat, bytes_09FFxx.dat,
bytes_0AFFxx.dat, bytes_0BFFxx.dat, bytes_0CFFxx.dat, bytes_0DFFxx.dat,
bytes_0EFFxx.dat, bytes_0FFFxx.dat
(Merkle Trees (Section 5): Send a short report and the scripts before November 11!)
Use the test files to test your code, and send me by email a message encrypted with my public key.
(Send also by email a short report and the scripts before November 25!)
Auxiliary files: Root CA certificate, Parameters file, Official CRL file,
File set #1, File set #2, File set #3
Exercises:
-
(Some exercises will appear here)
Miscellaneous
Final Exam:
The final exam consists of some exercises and questions covering the contents of the course notes, and including the basic ideas worked out during the practical works.
You can bring the notes or a summary of them, but you are not allowed to use any computer or similar electronic device.
Class recordings (Fall 2020)
- Class 15/09/20: Introduction and Stream Ciphers.
-
Class 22/09/20: Block Ciphers and Practical Work (Stream Ciphers).
recorded class (I) recorded class (II) -
Class 29/09/20: Modes of Operation, Message Authentication and Hash Functions.
recorded class (I) recorded class (II) recorded class (III) -
Class 06/10/20: Applications of Hash Functions, Authenticated Encryption and Practical Work (MACs and Hash Functions).
recorded class (I) recorded class (II) -
Class 13/10/20: Introduction to Public Key Cryptography and Practical Work (MACs and Hash Functions, continued).
recorded class (I) recorded class (II) -
Class 20/10/20: Practical Public Key Encryption Schemes, Homomorphic Encryption, Digital Signatures.
recorded class (I) recorded class (II) -
Class 27/10/20: Digital Signatures, Certificates and Practical Work (Public Key Crypto).
recorded class (I) recorded class (II) recorded class (III) -
Class 03/11/20: Security Models for Encryption.
recorded class (I) recorded class (II) -
Class 10/11/20: Security Models for Signatures. Security assumptions and statements. Final work list.
recorded class (I) recorded class (II) recorded class (III) -
Class 17/11/20: Zero Knowledge Protocols
recorded class (I) recorded class (II) recorded class (III) -
Class 24/11/20: Compound ZK Proofs and Applications
recorded class (I) recorded class (II) recorded class (III) -
Class 01/12/20: Distributed Protocols
recorded class (I) recorded class (II) recorded class (III)