## Public key[Home] This page outlines a wide range of methods used in encryption.
## Public-key encryption (RSA)The following are the tips related to encryption: **RSA**. Simple RSA Calculation. This is a simple tutorial for RSA key generation.**RSA**. RSA Encryption. This uses RSA key generation and encryption.**RSA (range of keys)**. RSA Encryption. This uses RSA key generation and encryption using a range of key sizes from 512-bits up to 16,384 bit.**RSA with Commutative Keys**. Comm. Commutative encryption allows Bob and Alice to encrypt in any order, and then they can decrypt in any order.**Commutative Keys (with SRA - Shamir, Rivest and Aldeman)**. Comm. Commutative encryption examples.**RSA Decrypt**. RSA. This outlines RSA decryption.**RSA -partially homomorphic cryptosystem: Multiply**. RSA. This outlines RSA as a partially homomorphic cryptosystem for multiplication.**RSA -partially homomorphic cryptosystem: Divide**. RSA. This outlines RSA as a partially homomorphic cryptosystem for integer divide (and using the extended euclidean method for the divide).**Public Key (ASCII format)**. RSA Public Key. Often we have to convert the public key to an ASCII format.**RSA with Weak Prime Numbers (RSALib)**. copper. Weak generation of prime numbers within RSA (using RSALib).**RSA Optimal asymmetric encryption padding (RSA-OAEP)**. RSA OAEP. This uses RSA encryption and integrates a padding scheme. It was defined by Bellare and Rogaway, and has been standardized in PKCS#1 v2 and RFC 2437.**Montgomery reduction algorithm**. Montgomery. This performs multipication using Montgomery reduction algorithm.**Multiply and Square algorithm**. MSM. This performs exponent calculation.
## Public-key encryption (Elliptic Curve)The following are the tips related to encryption: **Elliptic Curve**. Elliptic Curve. Elliptic Curve is a public key method which can also be used to generate a shared key.**Elliptic Curve - Point addition**. Elliptic Curve Point Addition. This shows the addition of two points on an elliptic curve.**Elliptic Curve - Blinding factor**. Elliptic Curve Blinding. This shows the addition of transactions with a blinding factor.**Elliptic Curve Diffie-Hellman (ECDH) with simple parameters**. ECDH. Elliptic Curve Diffie Hellman is used to create a shared key.**Elliptic Curve Diffie-Hellman (ECDH) with secp256k1**. ECDH. Elliptic Curve Diffie Hellman is used to create a shared key.**Elliptic Curve Diffie-Hellman (ECDH) with different curves**. ECDH. Elliptic Curve Diffie Hellman is used to create a shared key using different curves, including secp256k1, p192 and p224.**Elliptic Curve Digital Signature Algorithm (ECDSA)**. ECDSA. Elliptic Curve Digital Signature Algorithm (ECDSA) is used to sign data.**Elliptic Curve Digital Signature Algorithm (ECDSA) with core operations**. ECDSA. Elliptic Curve Digital Signature Algorithm (ECDSA) is used to sign data with core operations.**Edwards-curve Digital Signature Algorithm (EdDSA) with core operations**. EdDSA. Edwards-curve Digital Signature Algorithm (EdDSA) is used to sign data with core operations.**Elliptic Curve (Plot)**. Elliptic Curve (Plot). Elliptic Curve is a public key method which can also be used to generate a shared key. This page outlines a graphic of the curve.**Elliptic Curve (Real plots)**. Elliptic Curve (Real plot). This provides a range of well-defined elliptic curve plots.**Elliptic Curve (Keys)**. Elliptic Curve (Keys). Elliptic Curv is a public key method. This page outline the generation of ECC keys in Bitcoin.**Elliptic Curve Integrated Encryption Scheme (ECIES with Rabbit Encryption)**. Elliptic Curve (Encryption). Elliptic Curv is a public key method. This page outlines how we can use it to encrypt with Rabbit (a light-weight stream cipher).**Elliptic Curve Integrated Encryption Scheme (ECIES with AES Encryption)**. Elliptic Curve (Encryption). Elliptic Curv is a public key method. This page outlines how we can use it to encrypt with AES.**Key pairing over BN-curves**. Key pairing over BN-curves. This page demonstrates key pairing over BN-curves.**Shared key over BN-curves**. Shared key over BN-curves. This page demonstrates key generation over three parties with pairing over BN-curves.**IBE using elliptic curves**. IBE using elliptic curves. This page demonstrates IBE.
## Public-key encryption (Others)The following are the tips related to encryption: **PGP Encryption**. PGP. This uses PGP encryption.**DSA**. DSA Encryption. This uses DSA key and fingerprint generation.**ElGamal**. ElGamal. ElGamal is a public key method which uses discrete logarithms.**Selecting G in ElGamal**. G in ElGamal. ElGamal is a public key method which uses discrete logarithms.**Knapsack Encryption (Theory)**. Knapsack. This outlines Knapsack public encryption**Knapsack Encryption (Example)**. Knapsack. This outlines Knapsack public encryption**Paillier crypto system (JavaScript)**. Paillier. Outlines Paillier crypto system using JavaScript.**Simple Paillier example (Python)**. Paillier. Outlines a simple Paillier crypto system using Python.**Identity Based Encryption (IBE)**. IBE. Outlines Identity Based Encryption.**Cramer-Shoup**. Cramer-Shoup. Outlines Cramer-Shoup public key encryption.**Goldwasserâ€“Micali method: probablitistic encryption**. Goldwasserâ€“Micali. The uses the Goldwasserâ€“Micali and which is a probabilistic encryption met
## Quantum-robust Public Key (Key exchange and encryption)**McEliece cryptosystem**. mce. Outlines McEliece cryptosystem.**Lattice Encryption**. Lattice. This outlines Lattice encryption.**Unbalanced Oil and Vinegar (UOV)**. UOV. Outlines Unbalanced Oil and Vinegar (UOV) cryptosystem.**Generalised Merkle Signature Scheme**. GMSS. Outlines Generalised Merkle Signature Scheme.**Very simple LWE**. LWE. Outlines Learning With Errors.**BGV - (Ring LWE)**. BGV. Outlines BGV.**Public Key Encryption with Learning With Errors (LWE)**. LWE. Outlines public key encryption with Learning With Errors (LWE).**Multibit Encryption with Learning With Errors (LWE)**. LWE. Outlines multibit Encryption encryption with Learning With Errors (LWE).**Homomorphic Encryption with Learning With Errors (LWE)**. LWE. Outlines homomorphic encryption with Learning With Errors (LWE).**Ring Learning With Errors for Key Exchange (RLWE-KEX)**. LWE. Outlines RLWE-KEX.**LWE and Ring LWE**. LWE. Outlines Learning With Errors and RLWE.**NewHope for Key Exchange**. NewHope. Outlines NewHope for shared key generation.**Lattice Encryption: NTRU (Python)**. NTRU. Outlines how NTRU operates for key generation.**Lattice Encryption: Mod P polynomial operations**. Poly. Outlines Mod P polynomial operations.**Supersingular Isogeny Diffie-Hellman for Key Generation**. SIDH. Outlines SIDH.
## Quantum-robust Public Key (Hash-based signature)**Lamport Signatures**. Lamport. Outlines Lamport signatures.**Winternitz Signatures**. Winternitz. Outlines Winternitz signatures.**Merkle Signatures**. Merkle Signature. Outlines Merkle signatures.**Hash to Obtain Random Subset (HORS) Signatures**. HORS Signature. Outlines Hash to Obtain Random Subset (HORS) signatures.**SPHINCS**. SPHINCS. Outlines SPHINCS.
## PresentationThe following is an outline presentation on encryption: |