# Privacy Enabling Techniques (PETS)

- Institution: IIT Kharagpur
- Department: Computer Science and Engineering
- Teacher: Prof. Debdeep Mukhopadhyay
- Level: Undergraduate
- Language: English
- Subjects: Computer science, Engineering
- Source: [NPTEL](https://nptel.ac.in/courses/106105001)
- Licence: [CC BY-NC-SA](https://nptel.ac.in/faq) (Non-commercial use only.)
- Syllabus: [at the source](https://nptel.ac.in/courses/106105001)
- Who can watch: Tweens profiles and older (sources give no ratings; placed by Invisible Network from the source's own words)

In today’s interconnected digital world, where data plays a pivotal role in shaping various aspects of our lives, the need to safeguard individual privacy has never been more critical. This course is designed to provide you with a deep understanding of the evolving landscape of privacy concerns and equip you with cutting-edge privacy-enabling-techniques (PETs) to protect sensitive information.

Intended audience: UG / PG / PhD students familiar with introductory level cryptography and looking to advance their understanding in industry recommended cryptographic techniques

Prerequisites: Recommended coursework: Foundations of Cryptography (NPTEL Course ID: 106106221)

## Lectures

1. [Lecture 01 : Introduction to PETs](https://invisiblenetwork.ai/learn/nptel/106105001/f77d017ec7a3) (YouTube)
2. [Lecture 02 : Introduction to Homomorphic Encryption](https://invisiblenetwork.ai/learn/nptel/106105001/288a8b31c92c) (YouTube)
3. [Lecture 03 : Semantic Security & Introduction to Bootstrapping](https://invisiblenetwork.ai/learn/nptel/106105001/5b762814dd28) (YouTube)
4. [Lecture 04: Lattices and Homomorphism](https://invisiblenetwork.ai/learn/nptel/106105001/7f06be8941a9) (YouTube)
5. [Lecture 05 : Torus and Torus Polynomials](https://invisiblenetwork.ai/learn/nptel/106105001/5e375c62f8e1) (YouTube)
6. [Lecture 06 : TGLWE and Homomorphism](https://invisiblenetwork.ai/learn/nptel/106105001/979a45e52006) (YouTube)
7. [Lecture 07 : TGSW encryption and Multiplicative Homomorphism](https://invisiblenetwork.ai/learn/nptel/106105001/f1b337c3d9e4) (YouTube)
8. [Lecture 08 : Full Homomorphism in TGLWE - I](https://invisiblenetwork.ai/learn/nptel/106105001/d0ba32eb9cae) (YouTube)
9. [Lecture 09 : Full Homomorphism in TGLWE - II](https://invisiblenetwork.ai/learn/nptel/106105001/5cd28a9a4b26) (YouTube)
10. [Lecture 10 : Modulus Switching and End-to-End example](https://invisiblenetwork.ai/learn/nptel/106105001/a64f78f4063b) (YouTube)
11. [Lecture 11 : CKKS Homomorphic Encryption](https://invisiblenetwork.ai/learn/nptel/106105001/c67953174699) (YouTube)
12. [Lecture 12 : Full Encoding and Decoding in CKKS](https://invisiblenetwork.ai/learn/nptel/106105001/748864179a9e) (YouTube)
13. [Lecture 13 : An Example for Full Encoding and Decoding in CKKS](https://invisiblenetwork.ai/learn/nptel/106105001/2d36a81300b7) (YouTube)
14. [Lecture 14 : Encryption & Decryption in CKKS](https://invisiblenetwork.ai/learn/nptel/106105001/0d7c0f969ab4) (YouTube)
15. [Lecture 15 : Relinearization in CKKS](https://invisiblenetwork.ai/learn/nptel/106105001/a7bb5736c5ef) (YouTube)
16. [Lecture 16 : Rescaling in CKKS](https://invisiblenetwork.ai/learn/nptel/106105001/fbbd3ecf16d9) (YouTube)
17. [Lecture 17 : Bootstrapping in CKKS - Part 1](https://invisiblenetwork.ai/learn/nptel/106105001/c1be1c13832a) (YouTube)
18. [Lecture 18 : Bootstrapping in CKKS - Part 2](https://invisiblenetwork.ai/learn/nptel/106105001/bd6f2bdd01ca) (YouTube)
19. [Lecture 19 : FHE Compilers and Hardware](https://invisiblenetwork.ai/learn/nptel/106105001/ff3108f18067) (YouTube)
20. [Lecture 20 : Application Level Synthesis and Optimization](https://invisiblenetwork.ai/learn/nptel/106105001/92d1b8200e38) (YouTube)
21. [Lecture 21 : Introduction to Multi-party Computation](https://invisiblenetwork.ai/learn/nptel/106105001/5b5954f5ba94) (YouTube)
22. [Lecture 22 : Basic Multi-party computation protocols - Part 1](https://invisiblenetwork.ai/learn/nptel/106105001/3ad1d4daac58) (YouTube)
23. [Lecture 23 : Basic Multi-party computation protocols - Part 2](https://invisiblenetwork.ai/learn/nptel/106105001/7fbab26bdce6) (YouTube)
24. [Lecture 24 : Basic Multi-Party Computation Protocols - Part 3](https://invisiblenetwork.ai/learn/nptel/106105001/76f0d41bbf51) (YouTube)
25. [Lecture 25 : MPC in Floating Point Number System - Part 1](https://invisiblenetwork.ai/learn/nptel/106105001/fa81e593e539) (YouTube)
26. [Lecture 26 : MPC in Floating Point Number System - Part 2](https://invisiblenetwork.ai/learn/nptel/106105001/a23f2c91723f) (YouTube)
27. [Lecture 27 : MPC in Floating Point Number System - Part 3](https://invisiblenetwork.ai/learn/nptel/106105001/380cf79212e9) (YouTube)
28. [Lecture 28 : Oblivious Transfer Constructions](https://invisiblenetwork.ai/learn/nptel/106105001/a7cba426d8ea) (YouTube)
29. [Lecture 29 : Oblivious Transfer for MPC](https://invisiblenetwork.ai/learn/nptel/106105001/81608dcf1256) (YouTube)
30. [Lecture 30 : MPC with Malicious Parties - Part 1](https://invisiblenetwork.ai/learn/nptel/106105001/46b8766a3173) (YouTube)
31. [Lecture 31 : MPC with Malicious Parties - Part 2](https://invisiblenetwork.ai/learn/nptel/106105001/7341ace04385) (YouTube)
32. [Lecture 32 : Proving MPC Security With Ideal/Real Paradigm](https://invisiblenetwork.ai/learn/nptel/106105001/f00f47be12c9) (YouTube)
33. [Lecture 33 : Introduction to Searchable Symmetric Encryption](https://invisiblenetwork.ai/learn/nptel/106105001/dc575652dbb7) (YouTube)
34. [Lecture 34 : SSE Constructions and Leakage Analysis](https://invisiblenetwork.ai/learn/nptel/106105001/60e21e5f02f4) (YouTube)
35. [Lecture 35 : SSE Formal Security Proof](https://invisiblenetwork.ai/learn/nptel/106105001/eabe20d66498) (YouTube)
36. [Lecture 36 : SSE for Conjunctive Queries - Part I](https://invisiblenetwork.ai/learn/nptel/106105001/fb7480389531) (YouTube)
37. [Lecture 37 : SSE for Conjunctive Queries - Part II](https://invisiblenetwork.ai/learn/nptel/106105001/3cf18baa28fb) (YouTube)
38. [Lecture 38 | File Injection Attack](https://invisiblenetwork.ai/learn/nptel/106105001/975111664664) (YouTube)
39. [Lecture 39 : Advanced SSE Construction via Hidden Vector Encryption - Part I](https://invisiblenetwork.ai/learn/nptel/106105001/5f8344ced2ce) (YouTube)
40. [Lecture 40 : Advanced SSE Construction via Hidden Vector Encryption - Part II](https://invisiblenetwork.ai/learn/nptel/106105001/0610bb611992) (YouTube)
41. [Lecture 41 : SSE Scheme for Disjunctive Queries](https://invisiblenetwork.ai/learn/nptel/106105001/03363bbce78c) (YouTube)
42. [Lecture 42 : Functional Encryption - Part-I](https://invisiblenetwork.ai/learn/nptel/106105001/3820c2bb1f13) (YouTube)
43. [Lecture 43 : Functional Encryption - Part II](https://invisiblenetwork.ai/learn/nptel/106105001/7393a50273f3) (YouTube)
44. [Lecture 44 : Introduction to Zero Knowledge Proofs](https://invisiblenetwork.ai/learn/nptel/106105001/7ada50683a14) (YouTube)
45. [Lecture 45 : Sigma Protocols - Part 1](https://invisiblenetwork.ai/learn/nptel/106105001/523abf9fc11e) (YouTube)
46. [Lecture 46 : Sigma Protocols - Part 2](https://invisiblenetwork.ai/learn/nptel/106105001/92dc7cd756ee) (YouTube)
47. [Lecture 47 : Introduction to zk-SNARKs - Part 1](https://invisiblenetwork.ai/learn/nptel/106105001/7eedf92f500d) (YouTube)
48. [Lecture 48 : Introduction to zk-SNARKs - Part 2](https://invisiblenetwork.ai/learn/nptel/106105001/ee056066db19) (YouTube)
49. [Lecture 49 : Introduction to zk-SNARKs - Part 3](https://invisiblenetwork.ai/learn/nptel/106105001/d9b93f102902) (YouTube)
50. [Lecture 50 : Applications to Verifiable Machine Learning](https://invisiblenetwork.ai/learn/nptel/106105001/0b4401b16c6d) (YouTube)
51. [Lecture 51 : Introduction to Differential Privacy](https://invisiblenetwork.ai/learn/nptel/106105001/2aedb77e3e74) (YouTube)
52. [Lecture 52 : Reconstruction Attacks and Privacy Notions](https://invisiblenetwork.ai/learn/nptel/106105001/2d9f532f633b) (YouTube)
53. [Lecture 53 : Formal Definition of Differential Privacy](https://invisiblenetwork.ai/learn/nptel/106105001/0f8d8f06544f) (YouTube)
54. [Lecture 54 : DP Composition and Formalising Randomised Response](https://invisiblenetwork.ai/learn/nptel/106105001/24d786eb68fa) (YouTube)
55. [Lecture 55 : Laplacian Mechanism](https://invisiblenetwork.ai/learn/nptel/106105001/834da2c04ee7) (YouTube)
56. [Lecture 56 : Introduction to Trusted Execution Environments](https://invisiblenetwork.ai/learn/nptel/106105001/01847aa7efa1) (YouTube)
57. [Lecture 57 : Introduction to Intel SGX](https://invisiblenetwork.ai/learn/nptel/106105001/3b54a5141d0a) (YouTube)
58. [Lecture 58 : Introduction to Intel TDX](https://invisiblenetwork.ai/learn/nptel/106105001/8e1dacd5e8d8) (YouTube)
59. [Lecture 59 : Building Systems in the DPDP Era - Part 1](https://invisiblenetwork.ai/learn/nptel/106105001/73a94a6c9fff) (YouTube)
60. [Lecture 60 : Building Systems in the DPDP Era - Part 2](https://invisiblenetwork.ai/learn/nptel/106105001/c15b67baa180) (YouTube)
