As a Java developer and technical evangelist, I am interested in human computer interaction, speech recognition and natural language processing, particularly in low-power applications such as mobile phones and wearable devices.
Starting from first principles, students will learn the fundamentals of cryptography. Prime numbers. Factoring. Random numbers. Simple ciphers. One time pads. Key exchange. Generating an RSA key pair. Signing a message. GPG. Best practices for online security. We'll start with basic maths, factoring, string manipulation, learn how to write and brute force a simple cipher, then work our way up to understanding how modern key-exchange works through short examples and audience participation exercises. After taking this class, participants will gain a better understanding of cryptography and understand how to build simple ciphers.