Hands-on Cryptography with Python (plus Blockchains)

Course Description

Learn essential concepts of cryptography as it is used on the modern Internet, including hashing, symmetric encryption, and asymmetric encryption. Then perform hands-on projects calculating hashes and encrypting secrets with RSA, and compete to solve challenges including cracking Windows and Linux password hashes, short and poorly-chosen RSA keys.

No previous programming experience required.

The best computer to bring is a 64-bit Linux machine, real or virtual. However, the Python projects can also be done on a Mac. I will have a few loaner computers available.

As you can see below, the course will include hands-on projects with blockchains, using Multichain, Ethereum, and Bitcoin.