You say you didn’t learn cryptography in high school or college? And you didn’t learn it on your own, as some of us did?
It isn’t too late!
In that case you’ve probably never heard of the Vigenère Cipher, so you’ll need some context to understand the rest of this post. What do you do?
You’ll probably resort to Wikipedia, right?
That will work, more or less. The Wikipedia entry is accurate enough, in its way, but it’s pretty misleading. It’s very history-oriented, which I normally approve of, as that provides context. The problem is that it’s so long that most people stop after reading the first part. I’ve had students come away with the wrong impression; they miss all of the (rather simple) mathematics involved here. So here’s your choice:
- You can adopt the original 16th-Century approach of the Vigenère Square, or tabula recta, which requires writing out a tedious table of 676 cells. It’s easy enough, but, as I say, tedious. I suppose you do learn one thing by writing it all out: you do observe the (rather simple) pattern of the 26 alphabets. Today, of course, the computer can do the work, but it’s still annoying, as you’re looking at almost raw data rather than a (rather simple) formula:
You can look up how to use this square. It’s easy enough, but if you don’t have it with you and don’t have a computer, it will take you an unnecessary amount of time to write out all 676 cells.
- You can adopt the modern approach, which is to use this formula:
Now, I will admit that this formula requires a small amount of prior knowledge (which you, dear reader, might not yet have). So I wouldn’t normally teach it on the first day of cryptography — though I certainly could, and students would learn it really quickly.
My point is just this: the formula is short, easily learned, and provides considerable insight into what’s going on. The 676-cell table is bulky, annoying, and provides little insight without a lot of analysis. So why are some people stuck in the past, continuing to use the out-of-date table? Inquiring minds want to know.