An introduction to applied cryptography and information security suitable for programmers of all ages and skill levels.
Cryptography is a tricky subject.
There's an infinitude of ways to get it wrong, but there's only a few ways to get it right. Failures are usually silent, and only evident once it's too late.
This talk will touch on basic cryptographic primitives and tools: just enough to know what they do, when and why you'd want them, and just enough to satisfy basic curiosity.
At the end of this talk, attendees should know how to use the available cryptographic tools to build larger systems that involve cryptography. They should also have some basic understanding of how some common systems compare, and also a sense for detecting and exposing snake oil.
People won't leave the room as newly minted cryptographers, but I hope they'll leave a lot less likely to shoot themselves in the foot.
This talk is aimed at programmers of any skill level that lack crypto chops.
While going through these subjects, I'll touch on several kinds of attacks, illustrated by practical example:
If I have additional time (which I doubt), I will cover timing attacks and how they pop up in practice.