Udacity Applied Cryptography Resources

This page collects some resources for my Udacity cs387: Applied Cryptography course.

Course Notes

Course Notes [PDF] (I am very grateful to Daniel Winter for producing these notes, with additional help from Wolfgang Baltes)

Code

Disclaimer: This code is provided for illustrative teaching purposes only! You should not use it to protect government personel records or secret sauce recipies.

This code is all released into the public domain. It was written by David Evans and Job Evers.

Unit 1:
dectobin.py
onetimepad.py

Unit 1 Homework:
bits.py
otp.py
testcrypto.py

Unit 2:
bits.py
random.py

Unit 2 Homework:
cbc_clean.py

Unit 3:
code.py
generator.py

Unit 3 Homework:
hw3_2_util.py
hw3_2_primitive_roots_supplied.py
hw3_2_primitive_roots_solution.py
hw3_4_Rabin_Miller_supplied.py
hw3_4_Rabin_Miller_solution.py
hw3_5_constant_modular_exp_supplied.py
hw3_5_constant_modular_exp_solution.py

Unit 4:
code.py
badkeys.py

Unit 4 Homework:
rsa.py
signatures.py

Unit 5 Homework:
beast_client.py
beast_attack.py

Unit 6:
code.py

Unit 6 Homework:
unit6_util.py
cut_and_choose.py
cut_and_choose_signed.py
orsim.py

Unit 7:
generator.py
ot.py
final.py

Other Courses

Dan Boneh has two excellent on-line cryptography courses: Cryptography I and Cryptography II. They cover many of the same topics as my course, but with more theoretical depth.

Bryan Pendleton wrote a comparison, Comparing the Coursera and Udacity Cryptography classes, which I think is fair and helpful (and positive about both courses).

If you've already taking my course and want to go in more depth and gain a more formal understanding of cryptography, I highly recommend taking Dan Boneh's course next.

Other cryptography courses I've taught:

University of Virginia Courses

Outreach Courses

Engineering Cryptosystems (Four-session introduction to understanding and building secure cryptosystems targeted to software engineers and project managers without previous background in cryptography, developed for MicroStrategy, Inc., and given at the AMC Movie Theater in Tyson's Corner Mall, Falls Church, Virginia in October 2013.)
Cryptography in World War II (4-class course for Jefferson Institute for Life-Long Learning)
Dragon Crypto (2-day cryptography course for middle school students)