Wednesday, January 31, 2007

Programmer's Almanac: Feb 1, 2007

Today is the birthday of Johannes Trithemius, born in 1462 in Germany. Trithemius is remembered for writing three books on cryptography and hidden messages called Steganographia. These books were written in encrypted Latin, and for many centuries were thought to contain magical incantations. His writings have played an important role in the development of cryptography.

One of Trithemius' crytpographic algorithms can be decoded with this line of perl (Trithemius didn't use ASCII, though):

s/([A-Z])/$c=(ord $1)-$i++; $i%=26; $c+=26 if $c<65;>


By today's standards, Trithemius's cryptography was very basic -- however decoding them has proven to be quite a challenge. The final book, Book III, was decoded in 1998 by Jim Reeds of AT&T Labs. It's an amazing read to see how Reeds did it -- he apparently didn't know Latin.

The technique called steganography, named after Trithemius' book, means hiding messages so that only the recipient knows there is a message. For example, messages can be encrypted in digital images, sound files, and even spam (maybe someone is sending me lots of messages).

Trithemius quote: Speak of things public to the public, but of things lofty and secret only to the loftiest and most private of your friends. Hay to the ox and sugar to the parrot."
- 1848


(c) 2007, Jorge Monasterio

No comments: