Crypto 1

I’ve been taking my first MOOC via Coursera, Crypto 1, taught by Dan Boneh. I’ve just finished up the final, and it’s been a fantastic experience, something I’d recommend to anybody with an interest in the subject.

This course is more about theory that how to implement crypto in the real world, but the theory is very important and shows exactly what drives a lot of the implementation decisions that implementations make. A lot of people think that MOOCs are easy classes, and this one is certainly not: it’s a fairly technical course, full of things like number theory, but it it doesn’t require a deep mathematics background. It also doesn’t require any programming knowledge, but if you do code, there are a number of extra credit assignments where you can put what you learn into practice, doing cool things like breaking RSA. It’s programming-language agnostic, but the examples are all written in Python so I used this course to try to pick it up, and managed to complete all of the programming assignments.

Crypto 1 focuses on symmetric-key crypto and hashes, with some asymmetric thrown in at the end. There is a sequel to this course, Crypto 2, which focuses more on asymmetric-key crypto. I’ll take that one eventually. I’m also going to go through the Coursera catalog and see what other interesting things I can take. Sure, I don’t get official credit, but I love learning.