So you want to roll your own crypto?
A coworker of mine asked: How are people supposed to learn (from mistakes) if they don't roll their own crypto? The short answer is do roll your own crypto, but don't use it in production until it's vetted by professionals. The long answer below might take a few years to hash out. Making mistakes is an unavoidable part of the learning process. I've been rolling crypto for Google production for years, but my code is not bug free and will never be. I found that the cheapest way to learn from mistakes is to learn from other people’s mistakes. I recommend taking Cryptography I , doing CTFs, and solving crypto challenges . This won't take long, and very quickly you'd be pretty dangerous because you'd be able to find many crypto bugs. But it's just the beginning. When I got to Google, I thought I knew crypto because look at all the bugs I found! I was so wrong. It took me years to learn the tradecraft from the real experts which fortunately my employer has ple