This lesson is still being designed and assembled (Pre-Alpha version)

DeapSECURE Lesson 5: Cryptography for Privacy-Preserving Computation

Key Points

HPC for Advanced Cryptography
  • First key point. Brief Answer to questions. (FIXME)

A Brief Introduction to Python
  • Python is a high-level, interpreted, general-purpose programming language.

  • Key data types are integers, floats (real numbers), and strings.

  • List and array are container data types to store a large amount of data.

  • The for statement is useful to repeat actions by looping over a list of values.

  • The ifelifelse construct allows program to execute commands conditionally.

  • There are vast number of libraries which makes Python a productive computing platform.

Data Encoding and Encryption Using Python Libraries
Breaking Modified AES-256 Encryption
  • First key point. Brief Answer to questions. (FIXME)

Homomorphic Encryption --- A Primer
  • First key point. Brief Answer to questions. (FIXME)

Paillier Cryptosystem for Homomorphic Encryption
  • Paillier cryptosystem permits addition of two ciphertexts, or one ciphertext and one plaintext, or multiplication of one ciphertext and one plaintext.

Privacy-Preserving Computation with Homomorphic Encryption
  • First key point. Brief Answer to questions. (FIXME)

Image Encryption for Privacy-Preserving Processing
  • You can use phe.paillier Python module to encrypt and decrypt images using Paillier Homomorphic Encryption.

Supplementary Info: Homomorphic Encryption Implementations
  • Some implementations of FHE include Microsoft SEAL, PALISADE, and IBM

Outro: Applications of Homomorphic Encryption
  • Homomorphic encryption can be used to perform machine learning or compute aggregates without revealing private data.

Glossary

TODO

Python Learning Resources

From Data Gymnasia: https://mathigon.org/course/programming-in-python/basics

Cheat sheets (very useful to have while coding): https://ehmatthes.github.io/pcc/cheatsheets/README.html