Free Online Cryptography Course

Dan Boneh of Stanford University is offering a free online cryptography course. The course runs for six weeks, and has five to seven hours of coursework per week. It just started last week.

ETA 11/14: A second part of the course will be starting on 21 January 2013.

Posted on November 13, 2012 at 6:15 AM • 18 Comments

Comments

Matt PalmerNovember 13, 2012 6:31 AM

Recommended! I just completed this course a few weeks ago (they must run several of them in a row).

It's very good - at least as good as the cryptography I studied in my masters degree. A nice focus on security proofs, alongside practical implementation considerations.

There is also a Cryptography II course starting next January/February which looks at more advanced public key crypto stuff that wasn't covered in the first one.

RyanNovember 13, 2012 6:33 AM

Also recommended. I took the course on its first offering (I believe the current one is the 3rd or 4th). Unfortunately, family drama prevented me from having time to complete it, but I do plan to dig into it again. Lots of fun and a good knowledge builder.

Andrew BuisNovember 13, 2012 7:35 AM

Taking it right now. Finally thankful for the advanced math that my CS degree required. Other than the math proofs and notation, he is pretty easy to follow.

Jan DoggenNovember 13, 2012 8:42 AM

"The course will include written homeworks and programming labs."
What programming language?

NNovember 13, 2012 9:06 AM

Re: Which programming language, I think it's agnostic, the first gives you some strings and tells you to come back with a decryption.

Manuel DelgadoNovember 13, 2012 9:09 AM

Just FYI, a group of members of the faculty at the Computer Science College at Universidad Polit├ęcnica de Madrid maintain an "Information Security Encyclopedia" at the following address:

http://www.intypedia.com/

It is (mostly) in Spanish and now counts with 14 videos devoted to a wide variety of topics.

Matt PalmerNovember 13, 2012 9:33 AM

Jan,

programming seemed to be generally in Python, but you could use whatever you wanted. As N said, the programming was used to find an answer - you did not submit the code itself.

Matt PalmerNovember 13, 2012 9:35 AM

Oh - and the programming assignments were entirely optional. You got extra credits for doing them. I didn't bother as I had little time available for the course, although I generally read through them to understand what was being asked. I still passed the course without doing them.

KenNovember 13, 2012 11:20 AM

I highly recommend exploring all of the courses which Coursera has to offer.

I recently took Charles Severance's "Internet History, Technology, and Security" and absolutely loved it.

Sergio MiguelNovember 13, 2012 12:42 PM

Quite recommendable!.
Very good teacher, very good exercises, although they are completely optional.
But I spend much more time than it was foreseen in the beginning (5h -8h per week). I doubled the time per week, but a lot of fun!.

aaaaNovember 13, 2012 2:12 PM

I did it first time it was offered and the course was very good. This is how university courses should look like. I definitely plan to do other courses done by the same lecturer (once they will be ready).

Dirk PraetNovember 13, 2012 2:39 PM

@ Jan Doggen

Programming assignments just give you extra credits. But if you have the time to pick up some basic programming skills, whether it be shell script, Python or something else, I wholeheartedly recommend doing so as it makes the entire course even more interesting.

Carl 'SAI' MitchellNovember 13, 2012 4:05 PM

The Handbook of Applied Cryptography is available from the author for free, and is likely a good supplement to a course like this.
cacr.uwaterloo.ca/hac/

qNovember 13, 2012 11:29 PM

This is a very high-quality course (I took it in spring 2012). There is a second course planned to go online at the end of January 2013, focused not on cryptographic primitives but on higher-level protocols built of them. I'm looking forward to it.

Matthias St. PierreNovember 14, 2012 10:46 AM

I completed Crypto I two or three weeks ago and I can affirm that it was a lot of fun. Dan Boneh has a fine sense of humor and his lectures are entertaining. I always enjoyed when he was talking about the 'poor adversary' or the 'poor virus' whenever he showed that their chance to break some crypto algorithm was 'negligible'.

I very much recommend to do the programming assignments, too! They are sophisticated, but you miss half of the fun if you don't do them. (For example, one task was to 'hack' a live toy web server and use it as padding oracle to decrypt a given message)

orcmidNovember 18, 2012 2:16 PM

I completed Introduction to Cryptography 1 (2012-003), the third offering in 2012.

I agree with all of the commenters. This is an extraordinary course and it sets a high bar for other course presenters. (Fortunately, this was my first course on Coursera and so finding lower-quality material since did not turn me away.)

In my case, I started the course twice before I completed it -- another advantage of the arrangement -- do-overs are perfectly acceptable.

What I noticed is that the second time I studied more that watched and read, and I was able to deepen some of the concepts, especially around security arguments and also the related number theory, so the second time was more rewarding than the first.

I attempted one of the programming exercises, but I fell far behind on that one and did not attempt any others.

Samples, when given, are generally in Python, and there are references to useful Python and C/C++ libraries to use in working some of the problems.

I want to be able to do the programming work but, for me, that was too much to deal with at one time.

I am registered for Introduction to Programming 2 starting in January. I knew this was coming and that added to my determination to finally get all the way through Part 1. Part 2 will get deeper into PKE, password-based authentication, and other more-recent topics that Dan Boneh and colleagues are keen on.

Leave a comment

Allowed HTML: <a href="URL"> • <em> <cite> <i> • <strong> <b> • <sub> <sup> • <ul> <ol> <li> • <blockquote> <pre>

Photo of Bruce Schneier by Per Ervland.

Schneier on Security is a personal website. Opinions expressed are not necessarily those of Co3 Systems, Inc..