## Public/Private key[Home] This page outlines a wide range of methods used in encryption.
## Public-key encyption methods (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**. RSA. This outlines RSA as a partially homomorphic cryptosystem.**Public Key (ASCII format)**. RSA Public Key. Often we have to convert the public key to an ASCII format.
## Public-key encyption methods (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.**Elliptic Curve**. Elliptic Curve. Elliptic Curv is a public key method which can also be used to generate a shared key.**Elliptic Curve (Plot)**. Elliptic Curve (Plot). Elliptic Curv is a public key method which can also be used to generate a shared key. This page outlines a graphic of the curve.**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.**Identity Based Encryption (IBE)**. IBE. Outlines Identity Based Encryption.**Cramer-Shoup**. Cramer-Shoup. Outlines Cramer-Shoup public key encryption.
## Secret-key encyption methodsThe following are the tips related to encryption: **DES**. DES. DES encryption algorithm is block cipher and uses a 64-bit block and a 64-bit encryption key.**3DES**. 3DES. DES encryption algorithm is block cipher and uses a 64-bit block and a 64-bit encryption key (of which only 56 bits are actively used in the encryption process). Unfortunately DES has been around for a long time, and the 56-bit version is now easily crackable (in less than a day, on fairly modest equipment). An enhancement, and one which is still fairly compatible with DES, is the 3-DES algorithm. It has three phases, and splits the key into two. Overall the key size is typically 112 bits (2x54 bits - with a combination of the three keys - of which two of the keys are typically the same). The algorithm is EncryptK3( DecryptK2( EncryptK1(message), where K1 and K3 are typically the same (to keep compatibility).**3DES (with clear text keys)**. 3DES. This example generates the 3DES key clear text keys.**RC2**. RC2. RC2 ("Rivest Cipher") is a block cipher, and is seen as a replacement for DES. It was created by Ron Rivest in 1987, and is a 64-bit block code and can have a key size from 40 bits to 128-bits (in increments of 8 bits). The 40-bit key version is seen as weak, as the encryption key is so small, but is favoured by governments for export purposes, as it can be easily cracked. In this case the key is created from a Key and an IV (Initialisation Vector). The key has 12 characters (96 bits), and the IV has 8 characters (64 bits), which go to make the overall key.**AES**. AES. AES (or Rijndael) is a new block cipher, and is the new replacement for DES, and uses 128-bit blocks with 128, 192 and 256 bit encryption keys. It was selected by NIST in 2001 (after a five year standardisation process). The name Rijndael comes from its Belgium creators: Joan Daemen and Vincent Rijmen.**AES (Python)**. AES. This implements AES using Python for a number of AES modes.**Blowfish**. Blowfish. Bruce Schneier created Blowfish with a general-purpose private key block cipher encryption algorithm.**Blowfish (with CBC)**. Blowfishcbc. With CBC we split the message into blocks and encrypt each block. The input from the first stage is the IV (Initialisation Vector), and the input to the following stages is the output from the previous stage. In this example we will use Blowfish to encrypt, using CBC.**Twofish**. Twofish. Bruce Schneier created Twofish with a general-purpose private key block cipher encryption algorithm.**Skipjack**. Skip jack. Skipjack is a block cipher, using private-key encryption algorithm, and designed by NSA.**Camellia**. Camellia. Camillia is a block cipher created by Mitsubishi and NTT.**RC4**. RC4. RC4 is a**stream cipher**used in WEP (in wireless encryption).**RC4 (repeating IV)**. RC4. This illustrates how we can EX-OR two values with the same IV value.**A5/1**. A5. This uses the A5/1 algorithm.**A5/3 (Kasumi)**. Kasumi. This uses the A5/3 (Kasumi) algorithm.**Pohlig-Hellman**. Pohlig. This uses the Pohlig-Hellman algorithm.**Fernet**. Fernet. This outlines Fernet encryption**Fernet (Auto key)**. Fernet. This outlines Fernet encryption**Fernet (Decoding token)**. Fernet Decode. This outlines Fernet decoding of the token**Affine**. Affine. Affine is a**stream cipher**which uses an equation to encrypt.**XTEA**. XTEA. XTEA is a**block cipher**.**All-or-nothing**. AONT. The All-or-nothing created hash messages, of which all the messages are required to rebuild the original message..**Range of methods**. OpenSSL. This includes the encryption of a wide range of methods.**SSL**. SSL. This outlines the debug information returned from an SSL/TLS connection.**Heartbleed (Theory)**. Heartbleed. This outlines the Heartbleed vulnerability.**Heartbleed (Demo)**. Heartbleed. This provides a demo of the Heartbleed vulnerability.**Heartbleed (Network)**. Heartbleed. This provides a capture of network traffic and IDS detection for Heartbleed.**Heartbleed (View Session)**. Heartbleed. This provides a capture of session information.
## Stream ciphers**ChaCha20**. ChaCha20. ChaCha is a**stream cipher**and is three-times faster than AES.**RC4**. RC4. RC4 is a**stream cipher**used in WEP (in wireless encryption).**RC4 (repeating IV)**. RC4. This illustrates how we can EX-OR two values with the same IV value.**Affine**. Affine. Affine is a**stream cipher**which uses an equation to encrypt.
## Light-weight crypto**XTEA**. XTEA. XTEA is a light-weight**block cipher**.**PRESENT**. PRESENT. Present is a light-weight**block cipher**.**SIMON**. SIMON. SIMON is a light-weight**block cipher**.**SPECK**. SPECK. SPECK is a light-weight**block cipher**.**SPONGENT**. SPONGENT. SPONGENT is a light-weight**hashing function**.**Lesamnta-LW**. Lesamnta-LW. Lesamnta-LW is a light-weight**hashing function**.**QUARK**. QUARK. QUARK is a light-weight**hashing function**.**PHOTON**. PHOTON. PHOTON is a light-weight**hashing function**.**Chaskey (MAC)**. Chaskey. Chaskey is a light-weight**MAC function**.
## Mobile networks (crypto)**A5/1**. A5. This uses the A5/1 algorithm.**A5/3 (Kasumi)**. Kasumi. This uses the A5/3 (Kasumi) algorithm.**Snow**. Snow. This uses the Snow stream cipher algorithm.**Zuc**. Zuc. This uses the Zuc stream cipher algorithm.
## PresentationThe following is an outline presentation on encryption: |