Tool to decrypt/encrypt Alberti's cipher, a medieval cipher with 2 alphabets using a dial/wheel/disk to encrypt/decrypt.
Alberti Cipher - dCode
Tag(s) : Poly-Alphabetic 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 Alberti cipher is a polyalphabetic cipher system that uses two mobile concentric disks which can rotate.
Encryption uses a disk with two alphabets, one fixed (stabilis) one moving (mobilis). By rotating a disk, it shifts an alphabet to the next letter.
To encrypt, the disk is set in one position, the initial shift (which can be zero) corresponds to the number of letters shifted at the beginning.
Example: The disk is composed of ABCDEFGHIJKLMNOPQRSTUVWXYZ for the large outer ring, and abcdefghijklmnopqrstuvwxyz for the small inner ring. A is in line with a, B is inline with b, etc. Rotating a disk by 2, then A is in line with c, and the initial shift becomes 2.
Each letter of the plain text found on the outer ring, is replaced by the corresponding one (the one aligned) in the inner ring.
By default, every 4 characters (4 = period), the disk is rotated clockwise of 1 letter (1 = periodic increment), this changes the substituting alphabet.
Example: Encrypt DCODE with the parameters: initial shift: 1, periodic increment: 2, period: 3.
Alphabets are such as ABCDEFGHIJKLMNOPQRSTUVWXYZ is aligned with bcdefghijklmnopqrstuvwxyza.
The period begins, D is coded by e, C by d, O by p, the period (length 3) ends, the disk is rotated by 2 letters.
Alphabets are now aligned like this: ABCDEFGHIJKLMNOPQRSTUVWXYZ with defghijklmnopqrstuvwxyzabc, the new period begins, etc.
The encrypted message is edpgh
Le decryption needs the disk (or the 2 alphabets) and the parameters: initial position, period and shift.
To cipher a message, the disk is set with the corresponding initial shift. Each letter is identified on the inner disk, and is coded by the letter aligned in the outer disk.
By default, every 4 characters (4 = period), the disk is rotated counter-clockwise of 1 letter (1 = periodic increment).
Example: The parameters are: initial shift: 1, periodic increment: 2, period: 3, and the cipher message edpgh.
Alphabets are such as ABCDEFGHIJKLMNOPQRSTUVWXYZ is aligned with bcdefghijklmnopqrstuvwxyza
The period begins, e is decoded by D, d by C, p by O, the period (length 3) ends, the disk is rotated by 2 letters.
Alphabets are now aligned like this: ABCDEFGHIJKLMNOPQRSTUVWXYZ with defghijklmnopqrstuvwxyzabc, the new period begins, etc.
The original plain text is DCODE
The ciphered message has a polyalphabetic index of coincidence.
In its original version, the message has only these letters: ABCDEFGHIKLMNOPQRSTVXYZ and &, no J, U or W
The mention of De Cifris refers to the treaty published by Alberti presenting his cipher.
The outer disk (stabilis) is usually ABCDEFGILMNOPQRSTVXZ1234, but there is also ABCDEFGHIKLMNOPQRSTVXYZ2 or ABCDEFGHIKLMNOPQRSTVXYZ- (which are rarer).
The inner disc (mobilis) is less well defined and several versions coexist:
— usqomkhfdbacegilnprtxz&y (De componendis cifris - Archivio di Stato Venezia CCX VI 1, Ferraioli Ms. 360-1, Vaticanus Latinus 5118, Vaticanus Latinus 5357)
— vsqomkhfdbacegilnp-rtxz7 (De componendis cifris - Marcianus 4702)
— zyxuronmilhgedcba&qtpsfk (De componendis cifris - Chigi M II 49)
— xihcnzvrypagqldfts&moebk (De componendis cifris - Riccardianus 927)
— mqihfdbacegklnprtuz&xyso (English & Italian Wikipedia)
— c&bmdgpfznxyvtoskerlhaiq (Ars Cryptographica)
One can crack Alberti by brute-forcing all combinations of period, initial shift and periodic increment. Use the 'Bruteforce attack' button.
Leon Battista Alberti would have invented this wheel around 1460.
dCode retains ownership of the "Alberti Cipher" source code. Except explicit open source licence (indicated Creative Commons / free), the "Alberti Cipher" algorithm, the applet or snippet (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, breaker, translator), or the "Alberti Cipher" functions (calculate, convert, solve, decrypt / encrypt, decipher / cipher, decode / encode, translate) written in any informatic language (Python, Java, PHP, C#, Javascript, Matlab, etc.) and all data download, script, or API access for "Alberti Cipher" are not public, same for offline use on PC, mobile, tablet, iPhone or Android app!
Reminder : dCode is free to use.
The copy-paste of the page "Alberti Cipher" or any of its results, is allowed (even for commercial purposes) as long as you credit dCode!
Exporting results as a .csv or .txt file is free by clicking on the export icon
Cite as source (bibliography):
Alberti Cipher on dCode.fr [online website], retrieved on 2024-10-04,