Tuesday, October 9, 2012

Hash Tags and Ciphers and Keys - Oh, My!!!

At the beginning of September, I discovered a website called Coursera that allows anyone with an Internet connection to take courses from major universities online.  Reading through the list of courses, I found a course about a subject that I find fascinating - Cryptography!!!  Sadly, the Cryptography course began almost two weeks earlier, but then I noticed that Coursera would let me sign up for it anyway.

Did I dare attempt a university level cryptography course almost two weeks late?
Would I be able to keep up or would I be hopelessly lost?

As you can probably guess from the fact that I am writing this blog post, I dared.  And then I immersed myself in watching the video lectures and attempting to do the homework.

Cryptography is a course from Stanford University, taught by Prof. Dan Boneh.  According to the description:
Cryptography is an indispensable tool for protecting information in computer systems. This course explains the inner workings of cryptographic primitives and how to correctly use them. Students will learn how to reason about the security of cryptographic constructions and how to apply this knowledge to real-world applications. ...
The course will include written homeworks and programming labs. The course is self-contained, however it will be helpful to have a basic understanding of discrete probability theory.  
So I've spent the past five weeks learning the history of cryptography, the evolution of encryption algorithms, the introduction of hashing and hash tags, how to generate keys, and how much I've forgotten about discrete probability theory.

The most important thing I've learned is...

When it comes to encryption algorithms, do not roll your own.

One of the most common methods used to protect wi-fi networks, WEP, is horribly insecure.  It would take me about 5-10 minutes to break into a WEP protected network.  The sad thing is that WEP is based on an ISO standard and went through the entire ISO review process. And it STILL is completely insecure.

But throughout the lectures and homework, I found myself smiling.  Why?  Because I enjoy learning and stretching my brain.  The entire cryptography course required brain work, but the professor had informative lectures and the homework was doable, if sometimes difficult.

And now?  I'm signed up for "An Introduction to Interactive Programming in Python" starting next Monday, "Think Again: How to Reason and Argue" in late  November, and "Cryptography II" in January.


  1. Whoa, how very cool! I admire how you jumped into that and are doing so well...and how you've signed up for more complicated classes. My brain is much so I could stand to take a challenging course too, but, even more, it could stand to take a long nap (I believe it's called hibernation...hah).

    1. Hey, do you want to take the class, "Think Again" with me? We could learn how to argue together. :-D


Feel free to agree or disagree, just be polite.