Tool for encrypting and decrypting messages with the Cadenus cipher, a transposition cipher that uses a keyword and a letter grid.
Cadenus Cipher - dCode
Tag(s) : Transposition Cipher, Grid Cipher
dCode is free and its tools are a valuable help in games, maths, geocaching, puzzles and problems to solve every day!
A suggestion ? a feedback ? a bug ? an idea ? Write to dCode!
The Cadenus cipher is a columnar transposition cipher with an additional rotation of the columns.
The encryption requires a keyword and an alphabet (usually 25 letters).
Example: Encrypt the message CADENUS REORDERS THE MESSAGE LETTERS BY ROTATING AND PERMUTING ITS COLUMNS BY USING A KEY (75 letters) with the keyword KEY (3 letters) and the unshuffled alphabet ABCDEFGHIJKLMNOPQRSTUVXYZ (without W).
Step 1: write the message by rows in a grid of 25 rows and N columns with N the size of the key (without repeated letters).
Step 2: shift each column by a number of steps equal to the value of its key letter (each column then starts with the letter that was in the row labeled by its key letter).
Step 3: sort the columns according to the alphabetical order of the keyword
Step 4: read the rows horizontally
Example:
| Step 1 | Step 2 | Step 3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
If the message size is not a multiple of the alphabet size and the key size, it is possible to use a padding letter.
Step 1: First write the encrypted block by rows in a table with N columns named after the N letters of the keyword sorted alphabetically.
Step 2: Reorder the columns into the original keyword order.
Step 3: Circularly shift each column downwards by a number of steps equal to the value of its key letter (inverse rotation of the encryption).
Step 4: Finally read the grid by rows to recover the plaintext.
Example: Decrypt the message FOEDMOPUNBNOTNHOYHRITTCFSEEFSCOEUVSDYFILEENLRRATGTNCCDPTUOLSAEANIUUSLSEAHRH (75 letters) knowing the keyword KEY (3 letters) and the descending shuffled alphabet ALPHBETZYXVUSRQONMKJIGFDC (without W).
| Step 1 | Step 2 | Step 3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
No explanation seems to have been given. The cipher would work just as well with 26 letters (dCode offers this option).
In the official example from the ACA (American Cryptogram Association), the alphabet used is AZYXVUTSRQPONMLKJIHGFEDCB (with W=V)
The first key, the column permutation keyword, determines, after removing its repeated letters, the number N of columns as well as their final order, obtained by sorting its letters alphabetically.
The second key, the rotation key, is a permutation of the letters of the alphabet: rotating a column consists of bringing to the top of it the row whose label is its key letter.
It is possible to reuse a single keyword for both roles.
Split the text into blocks of 25 Ă— N letters and encrypt each block independently, with the same grid, the same keyword and the same rotations, then concatenate the encrypted texts.
Messages encrypted with Cadenus theoretically have a length that is a multiple of 25 (with 25 being the alphabet size).
The frequency histogram and the index of coincidence are similar to that of the plaintext language.
The probable-word attack is the reference method: choose a supposed plaintext word, write it vertically in slices of N letters, then search for each slice in the columns of the ciphertext by scanning the 25 possible rotations of each column.
Brute force is also conceivable: treating rotations as independent, a period 6 represents 6!Ă—24^6 configurations, i.e. about 140 billion.
dCode retains ownership of the "Cadenus Cipher" source code. Any algorithm for the "Cadenus Cipher" algorithm, applet or snippet or script (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, breaker, translator), or any "Cadenus Cipher" functions (calculate, convert, solve, decrypt / encrypt, decipher / cipher, decode / encode, translate) written in any informatic language (Python, Java, PHP, C#, Javascript, Matlab, etc.) or any database download or API access for "Cadenus Cipher" or any other element are not public (except explicit open source licence). Same with the download for offline use on PC, mobile, tablet, iPhone or Android app.
Reminder: dCode is an educational and teaching resource, accessible online for free and for everyone.
The content of the page "Cadenus Cipher" and its results may be freely copied and reused, including for commercial purposes, provided that dCode.fr is cited as the source (Creative Commons CC-BY free distribution license).
Exporting the results is free and can be done simply by clicking on the export icons ⤓ (.csv or .txt format) or ⧉ (copy and paste).
To cite dCode.fr on another website, use the link:
In a scientific article or book, the recommended bibliographic citation is: Cadenus Cipher on dCode.fr [online website], retrieved on 2026-11-12,