Skip to content

Latest commit

 

History

History
150 lines (116 loc) · 6.07 KB

README.md

File metadata and controls

150 lines (116 loc) · 6.07 KB

Cryptography-101

The following document lists things you require to start your journey and understand different cryptography research areas. This repo aims to give a step by step guidance to exploring the world of cryptography.

Some underlying concepts which are good to know

Prerequisites: None
Topics:
  • One Time Pad
  • PRP, PRFs, PRG
  • Ciphers, Block Ciphers, MACs
  • Encryption / Decryption
Resources:
  • Cryptography 1 by Dan Boneh: Week 1 to Week 4. Assignments recommended.
  • For more in-depth reading and problems check Dan's book here

Fundamental Mathematics

Prerequisites:
  • Good foundation in mathematics.
Topics:
  • Number Theory and Modular Arithmetic
  • Finite Fields
Resources:

Symmetric Cryptography

Prerequisites:
  • Fundamental Mathematics
  • Encryption/ Decryption
Topics:
  • Key Exchange Protocols: Diffie Hellman
Resources

Asymmetric Cryptography

Prerequisites:
  • Fundamental Mathematics
  • Abstract Algebra
Topics:
  • Public Key Cryptography
  • Trapdoor Permutations, RSA
  • ElGamal
  • Digital Signatures
  • Elliptic Curve Cryptography
  • Pairings
  • BLS Signatures
Resources:

Functional Encryption

Prerequisites:
  • Public Key cryptography
Topics:
  • Attribute-Based Encryption
  • Identity-Based Encryption
  • Functional Encryption
Resources:

Zero Knowledge Proofs

Prequistics:
  • Fields, Number Theory
  • ECC
  • Pairings
Topics Covered:
  • Interactive Protocols
  • Polynomial Commitment Schemes
  • Snarks
Resources:

Homomorphic Encryption

Topics Covered:
  • Bfv scheme
  • Bgv scheme
  • Ckks scheme
  • TFHE
Resources

Programming ZKP


For contributions, fork and create a pull request. Feel free to connect with me on Twitter or LinkedIn for any suggestion/chat.