Posts
All the articles I've posted.
Proxy Re-Encryption
Proxy Re-Encryption allows an untrusted third party to modify a ciphertext that was encrypted under key A to be decryptable with a different key B without learning anything about the plaintext or the private keys involved.
Stealth Address
A Stealth Address is an address that can be derived by any third party but only controlled by the owner of the linked private key.
Adaptor Signature
An Adaptor Signature allows for the creation of a partial signature that can be turned into a full signature by applying a secret value which itself is revealed once the full signature is publicly shared.
Lagrange Interpolation
Lagrange Interpolation is used to reconstruct any degree n polynomial using at least n + 1 of its evaluations.
ECDSA Adaptor Signature
An ECDSA Signature can be modified to create an adaptor signature that's only valid when a secret value is incorporated which itself is revealed when the adapted signature is publicly shared.
Two-Party ECDSA
2P-ECDSA is a protocol that allows two parties to jointly create digital signatures over messages via a shared private key that neither party has full access to or control over.
Elliptic Curve Digital Signature Algorithm
ECDSA is used to create digital signatures over messages which can be non-interactively verified.
Pedersen Commitment Scheme
A Commitment Scheme is a mechanism to ensure that a value that was committed to can't be changed after the fact.
Hash-Based Commitment Scheme
A Commitment Scheme is used when one wants to guarantee that a value that was chosen can't be changed afterwards.
Oblivious Transfer
The Oblivious Transfer Protocol allows a sender to transmit one of various messages to a receiver without the receiver learning which message was sent.
Blind Signature
Blind Signatures allow for a message to be masked such that it can be signed by a third party without it learning what gets signed.
BLS Signature Aggregation
BLS Signatures can be aggregated which results in faster and computationally cheaper verifications of such a batch of signatures.
BLS Signature
BLS Signatures use Elliptic Curve Pairings to create very small, aggregatable digital signatures that can also be used as a building block in Zero-Knowledge Proof constructions.
Elliptic Curve Pairing
An Elliptic Curve Pairing is a function that maps two Elliptic Curve Points to an element of another group like a finite field.
Shamir's Secret Sharing
Shamir's Secret Sharing allows for a secret to be shared among multiple protocol participants out of which a threshold have to collaborate to reconstruct it.
Ring Signature
Ring Signatures allow for a signer to hide a valid signature among a collection of other "mock signatures" that were produced by "co-signers" such that it's impossible to determine who produced the valid signature.
Chaum-Pedersen Protocol
The Chaum-Pedersen Protocol allows a prover to interactively prove to a verifier that they know a secret value without revealing it.
Schnorr Adaptor Signature
A Schnorr Signature can be modified to create an adaptor signature that only verifies when a secret value is applied which itself is revealed once the adapted signature is publicly shared.
Schnorr Signature Aggregation
The Schnorr Signature Protocol can be setup such that the secret key is shared among a group of participants so that all need to collaborate to produce a valid signature.
Schnorr Signature
The Schnorr Signature Protocol allows a prover to non-interactively prove to a verifier that they know a secret value without revealing it.
Schnorr Identification Protocol
The Schnorr Identification Protocol allows a prover to interactively prove to a verifier that they know a secret value without revealing it.
ElGamal Encryption
ElGamal Encryption is an asymmetric cryptosystem that allows for the exchange of encrypted messages over an insecure channel.
Computational Security
With Computational Security we analyze how likely it is that a cryptographic construction will be broken in the real world.
Entropy
Entropy is a way to quantify how much uncertainty a probability distribution exhibits.
Information-Theoretic Security
With Information-Theoretic Security we analyze if a cryptographic construction is theoretically impossible to break.
One-Time Pad
The One-Time Pad is a symmetric cipher that when used properly can be proven to be unbreakable.
Security Notion
A security notion is a standardized way to convey security guarantees of cryptographic constructions.
Probability
Probability is an important topic in Cryptography as it allows for the expression and calculation of likelihoods.
XOR
Given it's invertibility and perfect balance, XOR is used in a lot of cryptographic constructions.
Substitution and Permutation
To ensure strong Confusion and Diffusion properties, ciphers utilize Substitutions and Permutations.
Confusion and Diffusion
Confusion and Diffusion are two properties that should be incorporated into ciphers to make them secure against statistical attacks and other methods of Cryptanalysis.
Random Number Generator
Randomness is one of the core building blocks in Cryptography which is usually derived via a Random Number Generator.
Elliptic Curve Diffie-Hellman
Elliptic Curve Diffie-Hellman is used to derive a shared secret over an insecure channel.
Message Authentication Code
MACs are used to ensure that a message originated from the correct sender and hasn't been tampered with.
Hash Function
Hash Functions are used to map arbitrary-length data to fixed-size values in a collision-resistant- and non-reversible way.
A High-level Overview of Modern Cryptography
This is an introductory blog post for everyone interested in modern Cryptography.
How to implement LP-Tokens in Cairo
Learn how to implement LP-Tokens in Cairo.
How to implement LP-Tokens in Solidity
Learn how to implement LP-Tokens in Solidity.
How to implement LP-Tokens
Learn what LP-Tokens used in DeFi Protocols are and how they work.
How to calculate percentages in Solidity
Learn how you to implement percentage calculations in Solidity.
The all-new CryptoDevHub
Explore what has changed and how you can use it to learn Blockchain development.
Cryptography Wiki
An actively maintained collection of notes I created throughout my learning journey.
Cryptolab Repository
From scratch implementations of Cryptographic primitives and protocols.
Cryptography Resources
A curated list of resources useful when studying Cryptography and its applications.