{"uid":"cap_vm0Z_st-MHYOhwg75ARJZ","slug":"vigenere-cipher-encode-decode-48bc6da5","name":"Vigenere Cipher Encode/Decode","description":"Vigenere cipher encode or decode with a key, or estimate the key length of a ciphertext by index of coincidence.","url":"https://text-ciphers.x402tookit.com/vigenere?utm_source=zero.xyz","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET"],"type":"string"},"queryParams":{"type":"object","required":["text"],"properties":{"key":{"type":"string","description":"Key letters (required for encode and decode)"},"mode":{"type":"string","description":"encode (default), decode or keylength"},"text":{"type":"string","description":"Plain or cipher text (up to 3000 characters)"}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"key":{"type":["null","string"]},"asOf":{"type":["null","string"]},"mode":{"type":["null","string"]},"input":{"type":["null","string"]},"output":{"type":["null","string"]},"secure":{"type":["boolean","null"]},"source":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"summary":{"type":["null","string"]},"verdict":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"disclaimer":{"type":["null","string"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}}}}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.02","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.02/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_DB-amBTQzHzbpeguNohbI","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.02","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Encodes or decodes text using the Vigenère cipher with a key, or estimates the key length of a ciphertext using the index of coincidence method.","exampleAgentPrompt":"Encode the message 'ATTACKATDAWN' using the Vigenère cipher with the key 'LEMON', please.","exampleUseCases":[{"title":"Encode secret message with keyword","prompt":"Encrypt the message 'MEETMEATMIDNIGHT' using the Vigenère cipher with the key 'SHADOW' and give me the ciphertext."},{"title":"Decrypt intercepted Vigenère ciphertext","prompt":"I have this Vigenère-encrypted text: 'RIJVS UYVJN XSPIB' and I know the key is 'CRYPTO' — can you decode it back to plaintext?"},{"title":"Estimate key length of unknown ciphertext","prompt":"I have a suspicious ciphertext and I don't know the key — can you run a key length estimation on it using the index of coincidence? The text is 'QPWKALVRXCQZIKPVSGZWAVRGKEFVZWNTBZGLCPFQOEBM'."}],"resultDescription":"Returns a JSON object containing the mode used, the input text, the output (encoded or decoded text, or estimated key length), the key (if applicable), and metadata fields such as summary, source, and disclaimer. For keylength mode, the output field contains the estimated key length derived from index of coincidence analysis.","failureModes":["Missing 'text' query parameter returns an error","Missing 'key' parameter when mode is encode or decode causes failure","Text exceeding 3000 characters may be rejected or truncated","Invalid mode value (not encode, decode, or keylength) causes an error","Non-alphabetic characters may not be supported depending on mode"],"whenToPreferThis":"Choose this endpoint when you need to perform Vigenère cipher operations specifically — encoding plaintext with a keyword, decoding ciphertext with a known key, or analyzing an unknown ciphertext to estimate its key length via index of coincidence. Prefer this over Caesar/ROT endpoints when you need a polyalphabetic (keyword-based) cipher rather than a simple shift cipher. It's ideal for puzzle-solving, educational cryptography demos, CTF challenges, and historical cipher tasks involving the Vigenère method.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-21T12:30:13.895Z","isFirstParty":false,"canonicalSlug":"vigenere-cipher-encode-decode-48bc6da5"}