3 ms·
I'm not sure what you are trying to say. Are you saying that people should use CPGB? Are you saying that CPGB is better than pcp because you think the author o
by briansmith 10y ago
I'm not sure what you are trying to say.
Are you saying that people should use CPGB? Are you saying that CPGB is better than pcp because you think the author of CPGB is more of an expert than the author of pcp?
Did you notice the pcp author actually tried to write tests, whereas there are no tests in CPGB?
BTW, the last commit to CPGB was on Dec 19, 2011.
I've nothing against CPGB and I'm not familiar with pcp but I think this "expert" thing is ridiculous.
- tptacek 10y agoI'm sorry, I don't follow your objection. What's ridiculous here? My trust for Watson Ladd's crypto code is epsilon less than my trust for Bernstein's code. The expertise I'm appealing to here is pretty straightforward.
- briansmith 10y agoThe appeal to expertise is exactly what I'm objecting to. Let's judge things on their technical merits: tests, clarity of code, correctness, etc. I've talked to way too many people that want to make contributions to improve security software, including crypto software, but get scared away because of the implied and explicit discouragement due to such appeals. It's holding our industry back and slowing us down.
- tptacek 10y agoWow, did you ever pick the wrong (or maybe the perfect) person to push that argument against. I couldn't disagree with you more. People should be discouraged from learning cryptography by building new tools for end-users to encrypt sensitive messages with. They should be encouraged to learn cryptography by actually learning cryptography. In this case, though, all I'm saying is that if you want to read an ECC software package with a GPG-like interface, there actually already is one that was authored by an expert. Whatever you think about newcomer cryptography, expertise has value.
- briansmith 10y agoOne can't really learn cryptography without writing code. IMO, people should write code and share it and get feedback on it, and experts should donate some time to help them improve, so that we can have more experts. And experts should encourage good programming practices: good testing, good design documentation, etc. I've worked on code bases written by experts that put billions of people at risks that were avoidable with proper testing. Conversely, I've seen newcomers write very good code--yes, even crypto code--that was clearly correct because of their code clarity, documentation, and tests. There's a lot of people who are going to interpret your comment--the one at the top of this discussion--as "Newbies shouldn't even try, and definitely shouldn't show their code to anybody." I doubt that's what you intended, but that's unfortunately the message that gets conveyed, judging from the discussions I've had with lots of newcomers. Nobody's going to write perfect crypto code right away. We can't be shooting them down before they even get started.
- tptacek 10y agoNo, your suspicion about the subtext of my comment was legitimate. I do think that. Like you, I've spent a lot of time looking at crypto implemented both by experts (or by teams that include at least one expert) and by non-experts. The conclusion I've come to, quite firmly, is: * The kind of expertise needed to build secure messaging systems is extremely rare, far rarer than expertise with cryptography. * Without expertise in cryptography, the likelihood of implementing a secure cryptosystem is very low, and almost entirely determined by the simplicity of the system. * Secure messaging systems are deceptively complex, even more so than secure channels, which is a problem that has bedeviled software security for more than a decade. I agree: you can't learn cryptography without writing code. But there are lots of different kinds of code one can write. One can invest time in implementing cryptographic attacks, or one can join a project lead by experts and ask lots of questions. But almost nobody does those things, because they aren't splashy. I'll put it to you this way: sci.crypt had long had a norm that amateur efforts to design ciphers were not to be given significant attention. Those ciphers were always inferior and usually comically broken, and spending time on them wasn't just a waste of time for the cryptographers on that newsgroup, but also for the people designing the ciphers. Was that norm "shooting them down before they even get started"? I would like to see a lot more amateur attack code, and a lot less amateur end-user crypto. Not just because the amateur end-user crypto almost invariably puts people at risk, but because designing new end-user crypto tools is a waste of time for the implementors. Again, though: I don't even think the author of this package thinks you should use it. So my real point is just: if you're going to look at an ECC-based GPG-alike that you're not going to use anyways, check out one written by an expert.