ChaCha20

The ChaCha20 Cipher is a modern symmetric stream cipher designed by Daniel J. Bernstein as an improvement over earlier stream ciphers like RC4. It operates by generating a secure pseudorandom keystream using a combination of a 256-bit key, a 96-bit nonce, and a counter. This keystream is then XORed with the plaintext to produce ciphertext. ChaCha20 is known for its speed, simplicity, and strong security properties, and is widely used in modern protocols such as TLS and VPN systems.

RC4

RC4 (Rivest Cipher 4) is a symmetric stream cipher designed to encrypt data by generating a pseudorandom keystream that is combined with plaintext using bitwise XOR operations. Unlike block ciphers such as AES or DES, RC4 operates on data one byte at a time, making it fast and simple to implement. It was widely used in protocols like SSL/TLS and WEP, though it has since fallen out of favor due to discovered vulnerabilities.

Rabbit

The Rabbit Cipher is a high-speed stream cipher designed for efficient software implementation. Unlike block ciphers such as AES or DES, Rabbit generates a continuous keystream that is combined with plaintext using XOR operations to produce ciphertext. Originally developed in 2003 and later submitted to the eSTREAM project, Rabbit is known for its balance of performance and security, making it suitable for real-time encryption scenarios.

DES

The DES Cipher (Data Encryption Standard) is a symmetric block cipher that encrypts data in 64-bit blocks using a 56-bit key. DES was developed in the 1970s and standardized by the U.S. National Bureau of Standards. It applies 16 rounds of a Feistel network with substitution and permutation steps to securely transform plaintext into ciphertext. While largely replaced by AES for modern security, DES remains an important example of classical symmetric encryption.

AES

The AES Cipher (Advanced Encryption Standard) is a widely used symmetric block cipher designed to securely encrypt data. AES operates on 128-bit blocks using keys of 128, 192, or 256 bits and applies a series of substitution-permutation rounds to transform plaintext into ciphertext. It is a standard encryption algorithm in modern cryptography, replacing older systems like DES and 3DES due to its higher security and efficiency.

3DES

The 3DES Cipher (Triple Data Encryption Standard) is a symmetric block cipher that applies the DES algorithm three times to each block of data, significantly increasing security compared to single DES. It operates on fixed-size blocks and uses a key that is internally expanded to 24 bytes. In this implementation, the cipher supports multiple operation modes such as ECB, CBC, CFB, and OFB, along with configurable padding schemes and output formats.

AMSCO

The AMSCO Cipher is a transposition cipher that rearranges the letters of a message using a keyword and an alternating cell pattern. Unlike simple columnar transposition, AMSCO alternates between placing one and two characters in each cell, following a continuous pattern (1-2 or 2-1) across the entire message.

Stylesheet

The Stylesheet Cipher is a layered substitution system inspired by cascading logic rather than mechanical encryption devices. Instead of applying a single rigid transformation, the cipher applies ordered visual rules to plaintext, allowing the message to be manipulated in structured passes. Each rule modifies the text according to position, character class, or pattern. When multiple rules overlap, precedence determines the final result.

Zodiac

The Zodiac Cipher refers to a set of ciphers used by the infamous Zodiac Killer in the late 1960s to send encrypted messages to newspapers and authorities in Northern California. These ciphers combine substitution, symbols, and, in some cases, simple transposition, creating challenging puzzles that drew widespread attention from cryptographers and amateur sleuths alike.

Tap Code

The Tap Code is a substitution cipher that encodes letters based on their position in a 5x5 Polybius square, typically combining the letters I and J. Each letter is represented by two numbers: the row and column where it appears in the square. These numbers are then expressed as a series of taps, with the number of taps indicating the row and column.