Ragbaby
The Ragbaby Cipher is a monoalphabetic substitution cipher that uses a keyword to scramble the alphabet while preserving the case of letters. It preserves spaces and faithfully encodes/decode letters according to the keyword mapping.
Ragbaby Cipher: Encoding
To encode using the Ragbaby Cipher with a keyword:
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.
Chaotic Substitution
The Chaotic Substitution Cipher is a variation of the classical substitution cipher that introduces dynamic, position-dependent transformations to produce less predictable ciphertext. Unlike a standard Monoalphabetic Substitution Cipher, where each letter maps consistently to a single counterpart, the Chaotic Substitution Cipher alters its mapping behavior based on position, keyword influence, or internal shifting rules.
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.