Acrostic

The Acrostic Cipher is a form of substitution cipher that encodes plaintext by mapping it into words or blocks such that certain letters (usually the first letters of each block) form the original message when read sequentially. It combines simple substitution with structured presentation, often used for secret messages hidden in poems, lists, or block-formatted text.

In this implementation, the plaintext is split into blocks of fixed size for readability, and a key is used to determine the substitution pattern for letters.

Monoalphabetic Substitution

The Monoalphabetic Substitution Cipher is one of the simplest and most fundamental encryption techniques. It works by replacing each letter in the plaintext with a corresponding letter from a fixed substitution alphabet. Unlike polyalphabetic ciphers, the mapping remains constant throughout the entire message, meaning each plaintext letter always maps to the same ciphertext letter.

Progressive Key

The Progressive Key Cipher is a variation of the classical polyalphabetic substitution cipher that extends the Vigenère Cipher by introducing a progressive shift to the key itself. Instead of repeating the keyword unchanged, each repetition of the key is incrementally shifted, causing the encryption pattern to evolve as the message progresses.

Bellaso

The Bellaso Cipher is a classical polyalphabetic substitution cipher invented by Giovanni Battista Bellaso in the 16th century. It extends the principles of the earlier Caesar Cipher by using a repeating keyword to vary the shift for each letter, effectively creating a polyalphabetic encryption system. Each letter in the plaintext is shifted by the value of the corresponding letter in the keyword, repeated as necessary to match the plaintext length.

Pollux

The Pollux Cipher is a classical encryption technique that blends keyed substitution with positional manipulation to provide polyalphabetic behavior. It utilizes a keyword to generate a keyed alphabet and can optionally apply padding to ensure the plaintext aligns with the cipher’s structural rules.

Slidefair

The Slidefair Cipher is a classical cipher that combines keyed substitution with a sliding mechanism to diffuse plaintext characters. It relies on a keyword to generate a keyed alphabet, and uses numeric or positional shifts to rearrange letters, introducing both substitution and transposition characteristics in a single step.

Quagmire IV

The Quagmire IV Cipher is the most advanced member of the classical Quagmire cipher family, combining multiple keyed alphabets with a dynamic indicator system. It extends the ideas of Quagmire I, II, and III by using a fully keyed plaintext alphabet, a fully keyed cipher alphabet, and a repeating indicator key derived from the keyword itself. This results in a highly complex polyalphabetic substitution system.

Quagmire III

The Quagmire III Cipher is a classical polyalphabetic substitution cipher that extends the Quagmire family by using two keyed alphabets along with a repeating indicator keyword. Unlike Quagmire I and Quagmire II, which only key one side of the substitution, the Quagmire III Cipher uses a keyed plaintext alphabet and a keyed cipher alphabet, significantly increasing complexity and resistance to analysis.

Quagmire II

The Quagmire II Cipher is a polyalphabetic substitution cipher that builds upon the foundation of the Quagmire I Cipher but introduces a variation in how the cipher alphabet is generated. Unlike Quagmire I, where the first keyword defines the base alphabet in standard order, Quagmire II uses the first keyword to create a mixed cipher alphabet, while the second keyword continues to control the dynamic shifts for each plaintext letter. Padding characters like X are used to fill incomplete blocks if needed.

Quagmire I

The Quagmire I Cipher is a polyalphabetic substitution cipher designed to increase the security of classical ciphers by introducing a mixed alphabet keyed on a second keyword. It builds upon the Caesar Cipher concept, but instead of a fixed shift, each plaintext letter is encrypted using a shifting alphabet determined by a primary key (the first keyword) and a secondary key (the second keyword), which rotates the cipher alphabet for each letter. Padding characters like X are used to complete plaintext blocks when necessary.