Introduction

It is hard to recall exactly my first experience with cryptography but I have a vague recollection of a cereal based decoder ring. Not exactly strong encryption but it was fun to discover a world where secrets were kept. It was the mid 80s, I was probably eight.

My next brush with cryptography was the early 90s and the Internet was still out of reach for me. I had access to a modem and BBSes which provided me access to a lot of software. There was no particular need for me to possess cryptography, but it was a curiosity at the time. I remember being puzzled and impressed by Phil Zimmermann's story and PGP.

Later on while at college I was fully into the Internet and my budding career in computers. There were several sidebar conversations in the classroom and I paged through a few books on cryptography. There were also references RSA and Diffie-Hellman all over the place. My strongest memory was first learning about public key cryptography, the math formula and the use of prime numbers. That afternoon in a class rather than paying attention, I wrote my on version of in perl just to see it work.

Now I hardly a day goes by where I am not doing something with cryptography. Of course we don't say cryptography. We talk in terms of certificates and keys. When I first got started professionally I spent lots of time dealing with web servers of certificates of all types. I also spent a fair amount of time dealing with SSH keys. One thing that always stuck with me is how much people avoid trying to learn cryptography. I think because it based in math it frightens people. I want this guide to be definitive a raise the bar for people in the field to learn cryptography instead of shying away from it.