Master's Degree in Data Science · Sapienza University of Rome
Data Privacy and Security
An interactive companion to Prof. Daniele Venturi's Fall 2025 course. Eight chapters and twenty-four lectures, rebuilt as pages with reader-driven animations, interactive worked examples and exercises whose answers can be revealed.
Much of cryptography is easier to understand in motion. Bits are XORed, blocks are chained, a state matrix is permuted, noise is added to a query answer and a blockchain forks before its branches converge. A PDF can show only one frame at a time. These pages let the reader advance each process step by step.
All chapter pages follow the same structure, so familiarity with one page carries over to the others:
- Each chapter presents the failure or attack before the construction designed to prevent it, giving the security definition a concrete purpose.
- The Alice, Bob and Eve figures from the slides are redrawn as animations that advance one step on demand and never run automatically.
- Labs let a changed input make a construction visibly succeed or fail: reusing a one-time pad key, passing a structured image through Electronic Codebook (ECB) mode and lowering $\varepsilon$ until a differentially private histogram becomes useless.
- Security games are written out in full, because in provable security the definition is the content.
- The exercises have revealable answers; several correspond to the course's exam projects.
These pages accompany the official slides in the parent folder. Only material in Venturi's slides is examinable. Where the pages and the slides differ in emphasis, the slides are authoritative. The / key opens search; arrow keys step through any animation that has focus.
The CourseChapters
ReferenceSupporting Pages
ReferenceLecture Schedule
The official Fall 2025 schedule, with the chapter for each lecture. Lecture 7 was an invited lecture by Richard Stallman on free software and freedom in the digital society; it sits outside the chapter structure.
| # | Date | Topics | Chapter |
|---|---|---|---|
| 1 | 23/09/25 | Introduction to the course. Modern cryptography. Message confidentiality and authenticity. Symmetric encryption. Perfect secrecy and Shannon's impossibility result. | 1 |
| 2 | 26/09/25 | The AES (Advanced Encryption Standard) blockcipher. Modes of operation: Electronic Codebook (ECB), Cipher-Block Chaining (CBC), Cipher Feedback (CFB), Output Feedback (OFB) and Counter (CTR). Chosen-Plaintext Attack (CPA) security for symmetric encryption. | 1 |
| 3 | 30/09/25 | Message authentication codes and unforgeability. CBC-MAC and its security. Collision-resistant hash functions. | 1 |
| 4 | 02/10/25 | Merkle-Damgård and SHA-1 (Secure Hash Algorithm 1). The sponge construction and SHA-3. Hash-Based Message Authentication Code (HMAC). Chosen-Ciphertext Attack (CCA) security. Combining encryption and authentication. | 1 |
| 5 | 07/10/25 | A brief tour of Minicrypt: one-way functions, Pseudorandom Generators (PRGs), Pseudorandom Functions (PRFs), Pseudorandom Permutations (PRPs). Beginning of asymmetric cryptography: brush-up on number theory. | 2 |
| 6 | 09/10/25 | RSA and ElGamal encryption and their security. Diffie-Hellman assumptions. Pairings and bilinear groups. Digital signatures, RSA-FDH (RSA full-domain hash). Public-Key Infrastructure (PKI) and X.509. Identity-based encryption. | 2 |
| 7 | 13/10/25 | Free software and freedom in the digital society (invited lecture by Richard Stallman). | None |
| 8 | 16/10/25 | Key exchange protocols. Diffie-Hellman key exchange. Security in the Canetti-Krawczyk model. ISO 9697. IPsec (IP security) and IKE (Internet Key Exchange): SKEME (Secure Key Exchange Mechanism) and Sign-and-MAC (SIGMA). MQV (Menezes-Qu-Vanstone) and Hashed MQV (HMQV). | 3 |
| 9 | 21/10/25 | Key derivation functions using HMAC. Passwords. Bloom filters. Password-based encryption. Password-authenticated key exchange. TLS (Transport Layer Security) and TLS 1.3. | 3 |
| 10 | 23/10/25 | Post-quantum cryptography. Lattices and hard problems: Short Integer Solution (SIS) and Learning with Errors (LWE). Basic lattice-based primitives. Lattice trapdoors. | 4 |
| 11 | 28/10/25 | Falcon. Canonical identification schemes and Crystals-Dilithium. Regev public-key encryption. The Fujisaki-Okamoto transform and Crystals-Kyber. | 4 |
| 12 | 30/10/25 | Fully-homomorphic encryption and advanced cryptographic applications. | 4 |
| 13 | 04/11/25 | Identity-Based Encryption (IBE) and Attribute-Based Encryption (ABE) from lattices. Differential privacy and approximate differential privacy. Properties. Randomized responses. The Laplace and Gaussian mechanisms. | 4 + 5 |
| 14 | 06/11/25 | Advanced composition. The exponential mechanism and its applications. | 5 |
| 15 | 11/11/25 | The SmallDB mechanism. Information-theoretic lower bounds. Traitor tracing and computational lower bounds. Differential privacy and game theory. | 5 |
| 16 | 13/11/25 | Introduction to Bitcoin. Basic design principles. | 6 |
| 17 | 18/11/25 | Mining pools and attacks. | 6 |
| 18 | 25/11/25 | Security of Bitcoin. Lightning networks. | 6 |
| 19 | 27/11/25 | Altcoins: Ethereum, Cardano, Algorand, Litecoin. | 7 |
| 20 | 02/12/25 | Altcoins: Filecoin, Zerocash. | 7 |
| 21 | 04/12/25 | Introduction to multi-party computation. Coin tossing and oblivious transfer. | 8 |
| 22 | 09/12/25 | Yao's protocol for semi-honest and malicious adversaries. | 8 |
| 23 | 11/12/25 | Secret sharing. MPC with honest majority. | 8 |
| 24 | 16/12/25 | Redactable blockchain. | 8 |
NotesProvenance and Caveats
The source slides sit in the parent directory, downloaded from the course site on 22 August 2026.
The long-standing URL danieleventuri.altervista.org/dps.shtml still
serves Fall 2023 HTML and performs a client-side JavaScript redirect to the
current site at dventuri83.github.io/projects/2_dps/. Tools that do not
execute JavaScript (curl, wget, most scrapers) silently
get the stale page. Collecting these slides requires a real browser.
Relative to the 2023 edition, Chapter 3 is now Key exchange protocols, and Chapter 4 is a new Post-quantum cryptography chapter replacing the former big-data-and-cloud material. Proofs of storage and verifiable computation have been dropped as standalone topics; identity-based and attribute-based encryption now appear as lattice applications. The Katz-Lindell reference is the third edition (2025).
A student of the course wrote these companion pages. The mathematics is restated in standard form, independent of the slide text, partly because slide superscripts do not survive text extraction and partly because a definition is easier to trust written out in full. Any errors are the student author's alone. When in doubt, the PDFs are authoritative.
ReferenceResources
Free references that cut across several chapters.
- Crypto 101. A free programmer-first cryptography course; the closest match to the material of Chapters 1 to 3.
- The Joy of Cryptography (Rosulek). A free undergraduate textbook, definition-driven in the style of the security definitions in Chapters 1 and 2.
- A Graduate Course in Applied Cryptography (Boneh and Shoup). A free reference PDF for the provable-security definitions used throughout the course.
- Practical Cryptography for Developers (Nakov). Code-first crypto with Python examples; useful alongside the labs.
- CryptoHack. Interactive cryptography challenges at the level of this course's attack labs.
- CrypTool-Online. Browser-based cipher demos; run the ciphers of Chapter 1 without installing anything.
- Programming Differential Privacy. Code-first differential privacy; the executable counterpart of Chapter 5.
- Bitcoin whitepaper. The primary source for the blockchain chapters.
- Ethereum developer docs. Official docs on accounts, the EVM (Ethereum Virtual Machine), gas and consensus, backing the Ethereum material in Chapter 7.
- MP-SPDZ. A teaching framework for secure multiparty computation, implementing the secret-sharing protocols of Chapter 8.
Further reading:
- Katz and Lindell (2015), Introduction to Modern Cryptography, the course's reference text.
- Vadhan (2017), The Complexity of Differential Privacy, Chapter 7 of Tutorials on the Foundations of Cryptography (Yehuda Lindell, ed.), Springer.
- Halevi (2017), Homomorphic Encryption, Chapter 5 of the same volume.
- Forney, Introduction to Finite Fields.
- Kościelny, Kurkowski and Srebrny (2013), Modern Cryptography Primer.
- Sweigart, Hacking Secret Ciphers with Python.