# Posts

All the articles I've posted.

## ECDSA Adaptor Signature

An ECDSA Signature can be modified to create an adaptor signature that's only valid when a secret value is used which itself is revealed when the signature is verified.

## 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 upon verification.

## 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.