How Not to Learn Cryptography (2014)
I've been working through the Cryptopals Crypto challenges (<a href="https://cryptopals.com" rel="nofollow">https://cryptopals.com</a>) over the last month-and-a-half (almost done with Set 6), and they've been extremely educational.<p>Attacks that I thought were just "theoretical" turned out to be very practical (sometimes even quite simple.) I've always known that one shouldn't roll their own crypto because there's so many ways to shoot yourself -- but holy hell, executing some of these attacks really drive the point through.<p>(Also, I've learned more number theory in the last few weeks than in my whole life!)<p>If anyone's interested, I've been solving them in Go (which turned out to be surprisingly convenient for many reasons), and my solutions (so far) are here: <a href="https://github.com/0xfe/cryptopals" rel="nofollow">https://github.com/0xfe/cryptopals</a>.