A beginner-friendly introduction to cryptography concepts
A very gentle intro into the world of cryptography
A short explanation on how RSA works
An introductory dive into the world of elliptic curves, forming the basis for understanding useful cryptographic mechanisms
Building upon our previous knowledge of elliptic curves, we explore how to encrypt and sign information
Hashing functions are an essential cryptographic primitive. Join me in a deep dive into what they are, and what they are used for!
A gentle introduction to some very useful schemes: key exchange, commitment schemes, zero-knowledge proofs, verifiable random functions
A quick look at some slightly more elaborate signature schemes than usual
Short summary of some important aspect of security in cryptography
A deeper dive into core concepts of groups, and a fascinating application: homomorphic encryption
Polynomials play an important role in many cryptographic applications. This article is dedicated to giving a brief intro to the topic
Combining polynomials and digital signatures brings forth a cool new functionality, in the form of Threshold Signatures!
A brief introduction to pairings, an important tool in modern cryptography
Following our presentation of pairings, we look at a couple more applications enabled by this new tool
An expansion upon the ideas behind simpler commitment schemes, providing important tools for more complex constructions down the road
We take a leap into the world of zero-knowledge proofs by exploring one of the many ZKP protocols out there: Bulletproofs
Before moving on into more complex zero knowledge proofs, we need to introduce a new model: arithmetic circuits!
This second round of zero knowledge proofs will take us on a journey to understand a more general framework. Hang tight!
Let’s get practical, and build some arithmetic circuits!
Following from SNARKs, we now explore another type of knowledge proofs tailored for scalability
Before moving onto the latest frontier of cryptography — post-quantum cryptography — , we need to lay down some more groundwork!
Now that we know about rings, we need a hard problem to work out some cryptography from them — enter Ring Learning With Errors!
Time to build some cryptographic methods out of rings and their associated hard problems
To close things off, we look at homomorphic encryption again, this time on rings!