Young Cryptography Students

This document is meant for middle and high school students who might be interested in cryptography, and is a companion to my Math Rules Cyberspace talk.

My Philosophy

I don't believe teaching students should be about making them do busy work.

I kind of believe what Noam Chomsky says about schooling; that it should not be compared to filling a bottle with water, but rather to helping a flower to grow in its own way.

If a job, teacher or school makes you do work you hate, then you'll do the absolute minimum to get by, and then go play with your friends.

But if a job, teacher or school interests you, then you'll find time to do the work. Next time you find yourself staying up until three in the morning because you can't stop doing something, make a note of it. Think whether you can turn this into a job, because that's something you truly love, and loving something will give you an advantage over everyone else.

If you want to be at the top of your field, an expert, then you will have to devote yourself to it. The world is too big, and people too specialized, for you to be both an expert and well-rounded. That kind of motivation cannot be instilled from without; it must come from within. You will have to sacrifice for it, but it will be worth it.

Elementary Code Making

The multiple human needs and desires that demand privacy among two or more people in the midst of social life must inevitably lead to cryptology wherever men thrive and wherever they write. Cultural diffusion seems a less likely explanation for its occurrence in so many areas, many of them distant and isolated. -- David Kahn

When I was in middle school, I wanted to be able to speak to my friends without adults hearing us use profanity.

I knew I could replace one letter with another, but that tended to make for unpronouncable encrypted messages.

So I made up a basic code, where I swapped only vowels with vowels and consonants with consontants.

"MAE ICU ZWIJOG", I recall. "MAE ICU GERZ". I honestly don't remember what they mean. I'm pretty the first two words are "YOU ARE", but the last word is probably something I'd get in trouble for saying here.

Another thing I've heard happening in China is that young teens have taught themselves to intersperse "Sun", "Moon", "Stars", and other words between each words of what they're saying. They apparently do this and talk so quickly that adults can't understand them.

Non-Crypto Things

If you want to learn, you can start by getting yourself excited by it.

You'll note that the first part of my talk was to get you motivated. This is important; motivation is, if not only thing you'll need, one of the most important.

So here's a few things you can start with.

Cryptology

Now that you know what a one-time pad is, you also know the purpose of the numbers stations like this one.

Always search the web for applets or software that do something that would be too tedious to do by hand, or that would take a long time to program, before doing it by hand (unless you just want to really understand how it works - if it's not totally clear, doing it once by hand will clarify your understanding).

Actually breaking codes is very tedious work; learn how it works, then use computers and save your energy for productive things, because a simple little mistake can ruin your work, and computers will be much more accurate than you.

Consider looking for smart phone apps to do what you want. For example, there is MyEnigma, an enigma machine simulator for your iPhone (video demo).

Cryptanalysis Software

I've never actually used any of these, but here's some links I dug up.

Modern Stuff

Try not to get into modern cryptography until you are ready. If you do dip your toe in and find it too hard, don't worry, that's normal. Public key is really mathy, and very subtle. Block ciphers are kind of statistical and black magic.

But if you're really motivated, here's the scoop.

Actual Use

Don't actually expect this kind of cryptography to protect you from professionals trying to read your secrets. Don't expect to actually understand most of the subtleties for about ten years or so (five if you only study this).

It's almost always a bad idea to do crypto yourself (except as a learning exercise), unless you do it where a professional tool wouldn't work (for example, on pencil and paper).

Here's what people who know what they're doing use:

College

If you go into math, specialize in discrete math. But be warned that any job you may get will require you to work with computers, and that you will not get to use this math until you reach the higher levels.

If you go into computer science, also expect not to use your cryptography right away, except in plugging together already-existing solutions.

So I recommend a bachelor's degree in computer science, and then consider going back some time later for a graduate degree in math.

There are not many good cryptographers around, and most companies do not need them. But you probably live in Silicon Valley, which is where most of the companies are, so great!

The need for cryptographers will only increase. In the future, everything will be encrypted; plaintext will be the exception.

Expect to get paid very well. It's not especially hard to find them, but there's fewer of them than web development jobs (which don't pay well). That's the price of specializing.

Conclusion

Use your new powers wisely.

Remember your kindred spirits; the bonds of like-mindedness are greater than any others, though the barriers of borders, languages, and traditions obscure this simple truth.

Once you scrape away the accidents of birth, you will find that Pythagoras, Knuth and Laozi are not as different from one another as you are from some of your more thoughtless fellow citizens.

Honor your teachers - those who gave of themselves so that you may be what you will become - whether you met them face-to-face or not.

Email me if you have any questions.