The "Playing with Historical Ciphers" Program

Download a copy of the "Playing with Historical Ciphers Application" here. Once downloaded, you can simply right-click the icon and choose "Open" to run it. Note: the "Load" button on the applet was disabled on 3/5/14 and will be completely removed in the near future -- simply copy and paste encrypted text directly into the application window instead.


This application can be used to encode or decode messages with various historical ciphers (i.e., the Caeser, Scytale, Affine, Vigenere, Substitution, and Playfair ciphers), provided you know the key for each.

The keys must be entered in a certain format for the applet to work. The following gives examples of each key type:

    Caeser: key = "2" (letters are shifted two letters to the right)

    Scytale: key = "7" (a rod whose circumference is 7 letters long has been used)

    Affine: key = "5x+22" (the linear function f(x)=5x+22 (mod 26) has been used)

    Vigenere: key = "MYKEYWORD" (the traditional keyword); If you are trying to crack a Vigenere Cipher without the keyword, you might find the "Do Frequency Analysis" and the "Display only every nth value starting at position k" buttons very useful...

    Substitution: key = "CBADEFGHIJKLMNOPQRSTUVWXZY" (swaps A's and C's, also swaps Y's and Z's)

    Hill: key = "5,1,11,22" (corresponds to the encrypting matrix whose first column contains 5, 1 and whose second column contains 11, 22)

    Playfair: key = "MYKEYWORD" (the traditional keyword)

Below are links to some encrypted messages you might explore: :

100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130

200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230

300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330