Symmetric Encryption

- Feistel cipher

Symmetric Encryption Algorithms

Symmetric encryption requires that both the sender and the receiver of the message possess the same encryption key. The sender uses a key to encrypt the plaintext and sends the resultant ciphertext to the recipient, who uses the same key (used for encryption) to decrypt the ciphertext into plaintext. Symmetric encryption is also known as secret-key cryptography, as it uses only one secret key to encrypt and decrypt the data. This type of cryptography works well when you are communicating with only a few people. Because the sender and receiver must share the key before sending any messages, this technique is of limited use for the Internet, where individuals who have not had prior contact frequently require a secure means of communication. The solution to this problem is asymmetric encryption (public-key cryptography).

Algorithm Cipher Type Key Size (bits) Block Size (bits) Application Areas Data Encryption Standard (DES) Block 56 bits 64 bits Legacy systems, early encryption standards Triple DES (3DES) Block 112, 168 bits 64 bits Financial services, payment systems Advanced Encryption Standard (AES) Block 128, 192, 256 bits 128 bits Secure communications, storage encryption, government standards RC4 Stream 40 to 2048 bits (variable) - Secure web traffic (HTTPS), Wi-Fi security (WEP/WPA), streaming encryption RC5 Block 0 to 2040 bits (variable) 32, 64, 128 bits Cryptographic libraries, secure communication RC6 Block 128, 192, 256 bits 128 bits Advanced encryption, AES competition finalist Blowfish Block 32 to 448 bits (variable) 64 bits Replacement for DES, secure storage Twofish Block 128, 192, 256 bits 128 bits File and disk encryption, open-source software International Data Encryption Algorithm (IDEA) Block 128 bits 64 bits Secure email (PGP), data encryption Threefish Block 256, 512, 1024 bits 256, 512, 1024 bits Disk encryption (Skein hash function) Serpent Block 128, 192, 256 bits 128 bits High-security applications, AES competition finalist Camellia Block 128, 192, 256 bits 128 bits Secure communications, Japanese encryption standard Tiny Encryption Algorithm (TEA) Block 128 bits 64 bits Lightweight encryption, embedded systems CAST-128 Block 40 to 128 bits 64 bits Various software applications, secure communications CAST-256 Block 128, 160, 192, 224, 256 bits 128 bits Advanced encryption, cryptographic libraries Chacha20 Stream 256 bits - Secure communications, modern encryption protocols Salsa20 Stream 256 bits - Secure communications, cryptographic protocols