encoding_decoding_vigenere
Encrypt or decrypt text using the Vigenère polyalphabetic cipher with a keyword. Designed for puzzles, CTFs, and learning; not for secure encryption.
Instructions
Vigenère Cipher (Encode / Decode). Encrypt or decrypt text with the classical Vigenère polyalphabetic cipher, using a letter keyword that shifts each character by a repeating, position-dependent amount. Set operation to encode or decode and supply key. This is a historical cipher with no real cryptographic strength — use it for puzzles, CTFs, and learning, not to protect secrets; use encoding_decoding_caesar for a single fixed shift or encoding_decoding_rot13 for the fixed ROT13/ROT47 variants. The key is normalized to letters only and upper-cased; non-letter key characters are stripped. Runs locally on the input you provide: read-only, non-destructive, contacts no external service, and is rate-limited. Returns the transformed text plus the normalized key, a human-readable info string, and a letter-frequency / key-strength analysis.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The plaintext (encode) or ciphertext (decode) to transform. Must not be blank. | |
| operation | Yes | Whether to encrypt (encode) or decrypt (decode) the text. | |
| key | Yes | The keyword that drives the shifts. Non-letters are stripped and it is upper-cased; must contain at least one letter. A 1-letter key degrades to a Caesar cipher. | |
| preserve_case | No | Keep each letter's original upper/lower case when true; otherwise invert it. | |
| preserve_non_alpha | No | Pass spaces, digits and punctuation through unchanged when true; drop them when false. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| success | No | Always true on a 200 response. | |
| input | No | The original text, echoed back. | |
| operation | No | The operation performed: encode or decode. | |
| key | No | The normalized key actually used (letters only, upper-cased). | |
| preserve_case | No | The preserve_case flag that was applied. | |
| preserve_non_alpha | No | The preserve_non_alpha flag that was applied. | |
| result | No | The encrypted or decrypted output text. | |
| info | No | Human-readable summary of the key and its relative strength. | |
| analysis | No | Letter-frequency and key-strength breakdown of the text. |