(no title)
graham_king_3 | 12 years ago
Every developer needs to touch crypto. Encrypted communications needs to be our default. And yes, of course, we should prefer verified, standard algorithms (NSA Suite B, for example).
It's OK to get it wrong, it's OK to fail forward, even with cryptography. ROT13 will protect you very well, if your attack vector is someone glancing over your shoulder for 1 second. As long as the code is open, and you're honest about what it does, you've made people a little bit safer.
There's a fair amount of gloating around Cryptocat, but it protected people's communications from me, because I didn't know how to break it. So that's better than nothing.
EthanHeilman|12 years ago
We shouldn't, but we should provide tools that allow software engineers to securely design applications without having to be crypto experts, in much the same way I can write python code without being a kernel hacker. Two examples spring to mind: Authenticated https api calls and bcrypt. These both work securely without requiring deep knowledge and they are so easy to setup it is unlikely someone will roll their own.
josephlord|12 years ago
One of the problems is with security and crypto is that the people who really understand it make fairly weak promises such as that it is "Pretty Good Privacy" but the incompetent, greedy or malicious make strong marketing claims about the security that they are offering. Emphasis on incompetent in the Cryptocat case.
Crypto is an area where the Dunning Kruger effect[1] seems both especially strong and especially dangerous.
[1] http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
tptacek|12 years ago
It does not follow from that sentiment that anyone should be able to jump into the cockpit of a Cessna and just figure things out for themselves.
ryan-c|12 years ago
gyardley|12 years ago
Not if 'nothing' is "don't send the message", rather than the "send the message in the clear" that you're assuming.
Bad crypto gives end users false confidence in the security of their messages. They then send messages they normally wouldn't, and suffer the consequences when those messages end up being read by others.
Amateurs can play with crypto all they like for fun, but they have no business releasing a product to end users.
marcosdumay|12 years ago