1001Ferramentas
⚙️Security

Nihilist Cipher Encoder

Encodes text with the Nihilist cipher: every letter becomes its Polybius square coordinate, with I and J sharing a cell, added to a repeating numeric key.

Cifrado

Coordinates plus a repeating keyword

The Nihilist cipher came out of 19th century Russian political prisoners and still turns up in classical cryptography challenges. What confuses newcomers is the output: a run of numbers like 36 39 66 54 49, some of them above one hundred. There is nothing exotic going on. It is coordinate addition, and you can follow the arithmetic by hand without much effort.

Two conversions are chained. Message and key both go through the same 5x5 Polybius square with no J, where each letter becomes a two digit number, row in the tens place and column in the units: H is 23, C is 13. The key repeats cyclically across the message and the pairs are added, so 23 plus 13 gives 36. HELLO under the key CIPHER comes out as 36 39 66 54 49. Since the smallest sum is 11 plus 11 and the largest is 55 plus 55, every number lands between 22 and 110, which is the cipher's fingerprint.

The key keeps letters only: J becomes I and every other character is dropped, so CIPHER-2024 gives exactly the same result as CIPHER. The message loses spaces and punctuation too. This page encrypts only; to reverse it, subtract the key numbers and read each remainder as a row and a column. And like any cipher with a short repeating key, it gives way to Kasiski style analysis, so treat it as history homework rather than protection. It all runs in your browser.

Frequently asked questions

Why do some numbers have three digits?
Because they are sums. The largest coordinate is 55, so two corner letters add up to 110. Anything between 22 and 110 is normal output.
Does the key have to match the message length?
No. It repeats cyclically until the message is covered. A short key makes attacks easier, because the repetition pattern shows through in the number sequence.
Can I decrypt on this page?
No, it only encodes. To decrypt, convert your key to coordinates, subtract number by number, and read each result as a row and column in the 5x5 square.

Related Tools