4 ms·
Writing your own crypto implementation is just like every other instance of reinventing the wheel, but more so. Namely, don't be a dilettante. It's actually p
by saalweachter 12y ago
Writing your own crypto implementation is just like every other instance of reinventing the wheel, but more so. Namely, don't be a dilettante.
It's actually perfectly OK to reinvent wheels. Reinventing wheels is how people learn to build wheels and eventually invent new, never before seen wheels. Where we as programmers get in trouble is that we frequently reinvent a wheel once, and then drive around on it for the rest of our lives.
If you find cryptography interesting, try your hand at it. But don't just code up the first implementation once, slap it on a web app, and use it to protect your customers PII. Don't be a dilettante. Write lots of crypto implementations, and try to find the flaws in them. Read lots of books, read lots of other people's implementations. Whenever a new exploit of one comes out, try to understand it and try to find similar problems in your own code or other implementations (or figure out why a particular implementation doesn't have that flaw). Write more implementations, read more books, talk to other cryptographers.
It's not a crime to be interested in difficult things, but it is important to recognize that difficult things take a certain level of skill and devotion. Each of us has to decide which difficult things we want to devote our time to and which we want to casually watch from the sidelines.
- deleted 12y ago[deleted]
- lfowles 12y agoTo further the analogy: Most of us don't have the resources or knowledge to properly test our wheels after we reinvent them.