May 13, 2017
Description
Today we use cryptography in almost everywhere. From surfing the web over https, to working remotely over ssh. Although most developers don’t need to implement cryptography primitives, the knowledge and understanding of these building block allows them to better deploy them in their application. In modern crypto we have all the building block to develop secure application. However, we see instances of insecure code everywhere. Most of these vulnerabilities are not because of theoretic shortcomings, but due to bad implementation or a flawed protocol design. Cryptography is a delicate art where nuances matter, and failure to comprehend the subtleties of these building blocks leads to critical vulnerabilities. To add insult to injury most of the resources available are either outdated or wrong, and inarguably, using bad crypto more dangerous than not using it.
In this tutorial we look at the basic building blocks of modern cryptography. We will cover the encryption techniques, hashing mechanisms, and key devastation algorithms. Furthermore we review two of the most widely used protocol suites, SSL and PGP. We conclude by implementing a simplified version of Pretty Good Privacy (PGP), that is used for encryption of texts, e-mails, files, directories, and whole disk partitions.
Instructor Bio
Amirali is a Computer Science PhD student at Northeastern University, and holds a Bachelors in Computer Science from St Andrews University. His research is mostly on cyber security and privacy, and its coverage has appeared on venues such as MIT Technology Review and ACM Tech News, Ars Technica, Threatpost, Vice Motherboard, etc. He has thought and assisted with the Network Security course at Northeastern for more than 4 years.
Pre-Tutorial Instructions
Please follow instructions on the GitHub repository (https://github.com/amiralis/pycon2017_crypto_tutorial).
Pre-requisite knowledge includes: basic knowledge of Python programming language, and basic math (xor, power exponentiation, logarithm). Based on audience capabilities, there may be basic math review.
Other Notes
Food will not be provided, as we do not have sponsors for the event. Lunch options nearby in the Kendall/MIT area include Au Bon Pain, Chipotle, Clover, Champions, and more.
Meetup link: https://www.meetup.com/bostonpython/events/238341376/