On Sunday, 29 June 2014 at 17:45:41 UTC, Nick Sabalausky wrote:
The crypto algorithms are very well defined and documented. You don't need to understand the theory behind them in order to implement them. You just need to be able to:

- Read/follow the spec accurately
- NOT invent your own variants/algorithms
- Be pedantic about avoiding the normal sets of potential software exploits (as you would with any software that handles sensitive data).
- Write/use sufficiently pedantic tests
- Be up-to-date on what's algos are considered outdated and questionably secure.

This is a standard "scientist vs engineer" issue. The crypto experts are the scientists who figured it all out. We're the engineers who take their information and use it.

Obviously being well-versed in crypto theory *in addition* to everything above is even better still, but it isn't essential. The five critica above are essential.

There's so much more to securely implementing cryptography than what you listed. I highly recommend reading about side-channel attacks:

https://en.wikipedia.org/wiki/Side-channel_attack

https://www.schneier.com/crypto-gram-9806.html#side

Proper cryptographic libraries are written in such a way to mitigate these types of attacks. It's a complex field of study and something best left to the experts.

Reply via email to