0/ What is Public Key Cryptography? ๐งโโ๏ธโจ
(0/16) ๐งต๐
1/ Public key #cryptography is a cryptographic system that uses a pair of keys, a public key and a private key, to secure communication between individuals, entities, or nodes in a network.
2/ The public key is made available to anyone and is used for verification purposes, while the private key is kept secret by the owner and is used to sign messages or transactions within the system.
3/ Through the use of mathematical algorithms, the sender can encrypt a message using the recipient's public key, which can only be decrypted using the recipient's private key. This allows for secure communication without the need for the sender & recipient to share a secret key.
4/ So, in short, public key #cryptography is a way of securely communicating between individuals or nodes in a network using a pair of keys - a public key and a private key.
5/ One of the key benefits of public key cryptography is that it allows for secure communication without the need for the sender and recipient to share a secret key.
6/ This is done through the use of mathematical algorithms that enable the sender to encrypt a message using the recipient's public key, which can only be decrypted using the recipient's private key.
7/ Public key cryptography was first introduced in 1976 by Whitfield Diffie and Martin Hellman in their paper "New Directions in Cryptography."
8/ Since then, it has become a widely used method for secure communication, particularly in computer security.
9/ In 1978, Ron Rivest, Adi Shamir, and Leonard Adleman introduced the RSA algorithm, which is still widely used today as the basis for both an asymmetric cryptographic system and digital signatures.
10/ Digital signatures are an integral part of blockchain networks, which are built on the foundation of public key cryptography. I will explain those in more detail in tomorrow's threads as well.
11/ But first, let's have a look at RSA. To explain the RSA algorithm, let's use the widely adopted "Alice and Bob" framework.
12/ Starting point: Alice wants to encrypt a message and send it to Bob using an RSA-based asymmetric cryptographic system.
13/ Bob calculates all the parameters of the system by selecting two large prime numbers (p and q), calculating the product n = pq, selecting a number e that is relatively prime to (p-1)(q-1), and calculating its inverse d using the Euclidean algorithm.
14/ The private key in this system is d, while the public key is (n, e). Bob communicates the public key (n, e) to Alice, who can then use it to convert the message m into the ciphertext c: c=m^e mod n.
15/ When Bob receives the ciphertext, he can use his private key d to decrypt it: m=c^d modn. And that's a basic overview of how the RSA algorithm works!
16/ I will introduce more cryptographic primitives over the next few days, so stay tuned! ๐งโโ๏ธโจ
โข โข โข
Missing some Tweet in this thread? You can try to
force a refresh
0/ What are Non-Interactive Zero-Knowledge Proofs (NIZKPs)? ๐งโโ๏ธโจ
(0/10) ๐งต๐
1/ First of all, what are zero knowledge proofs (ZKPs) in general?
ZKPs are a #cryptographic technique that allow individuals or entities to prove to another that a statement is true, without revealing any information beyond the validity of the statement.
2/ One variant of ZKPs are non-interactive zero-knowledge proofs (NIZKPs), which don't require interaction between the certifier and verifier.
0/ What is Homomorphic Encryption (HE)? ๐งโโ๏ธโจ
(0/10) ๐งต๐
1/ HE is a cryptographic tool that allows you to perform certain types of computations directly on the homomorphically encrypted ciphertext, generating the same results as if you performed the operations on the plaintext.
2/ There are two types of HE: partially homomorphic encryption (PHE) & fully homomorphic encryption (FHE). PHE allows for a limited number of operations on the ciphertext (e.g. addition or multiplication), while FHE allows for any computation to be performed on the ciphertext.
1/ Ring signatures are a privacy technology that aims to keep user's identities private when making (signing) transactions in public #blockchain networks
2/ In ring signature schemes, a group of users, called the "ring," can sign a message anonymously using their personal secret keys.
1/ Hash pointers are a type of pointer that point to a specific location in a data structure, specifically a block in a blockchain. They are an essential part of the structure and security of blockchains.
2/ To understand hash pointers, it's helpful to know what pointers are more generally. Pointers are variables that store the address of another variable, allowing you to indirectly access and manipulate the value of a variable by referring to its memory location.
1/ A hash function is a function that converts data into a fixed-size output, also known as a hash.
2/ Cryptographic hash functions are a type of hash function that are designed to be one-way functions, meaning it is computationally infeasible to find the original input from the hash output.