This page has moved: the most up-to-date version can be found at www.astronomicum.com, my new website for medieval sciences. I'm leaving the original version at stringpage so as not to break anyone's bookmarks, but any updates will only be made at the new site.

This is the outline/handout for a class on medieval cryptography I first taught at Pennsic in 2004. Most of the information here is derived from Kahn 1996 (see references).

For the particularly geeky, I wrote a set of functions for the statistical package R to decode or encode ciphers with a key letter, with a word as a key, or as an autokey. There are examples of all these types of cipher below.

If you are curious, but don't have or use R, no worries. First, find an Rweb server like this one. Then, copy the contents of the appropriate file above and paste them into the Rweb window. Finally, type in the correct command for what you want to do. Press the submit button, and after a bit your answer will be at the bottom of the page, after a bunch of R code.

Here are some hints, along with an example for each of the three functions.

section divider

Basic terminology

section divider

The earliest beginnings

Plaintext

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

Cipher

D

E

F

G

H

I

J

K

L

M

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

A

B

C

section divider

Medieval examples

section divider

Renaissance achievements

section divider

History of cryptography

Other material

section divider