Early std.crypto

bcs bcs at example.com
Fri Nov 25 21:31:09 PST 2011


On 11/22/2011 08:16 AM, Piotr Szturmaj wrote:
> bcs wrote:

>> How many people in the D community have the experience and know-how to
>> review the security of an implementation? If there are less than 2 or 3
>> people who can do that, can we afford to include native kernels? We
>> can't have just one and if we have only two and one leaves for some
>> reason the code becomes un-maintainable for lack of a reviewer. *I*
>> wouldn't be comfortable with less than about 4-5.
>
> I know Regan Heath who wrote some crypto code for Tango. Also, I suspect
> that D _will_ gain more (crypto) contributors, especially after joining
> GCC.

"Wrote some crypto code" is a rather weak recommendation. Depending on 
how you interpret it, that would recommend *me*. A better recommendation 
would be "Mr Y gets paid by security company X to do crypto analysis" or 
"Mrs Z has published several well review papers on vulnerabilities in 
this kind of code".

> Minimum number of contributors/reviewers requirement in open-source
> project is at least unfortunate in my opinion. Nevertheless, I respect
> your thoughts. But imagine what could happen if Walter waited for
> contributors instead of starting D project on his own?
>
> Please realize that we do not implement every possible crypto algorithm
> at once. We need to start with something like hashing, then add
> encryption and other cryptographic primitives.

I have no problem with that comment. My concern revolves around the 
point that the implementation of cryptographic primitives has security 
implications. I'm worried that we don't have the resources to 
demonstrate that our implementation is at least as good as the currently 
available implementation. I'd rather Phobos not include a given 
primitive than contain one of unknown quality. What I'd like to see is 
that the crypto package quickly contain interfaces for all the 
primitives we can find pre-vetted Boost licensed implementations for. At 
that point I would have no issue with as methodical and meticulous 
effort to divest ourselves of external dependencies as we can get access 
to the expertises needed to vet our own implementations (to the same 
level as the code they are replacing).

Yes, I'm intentionally being paranoid here but this is security and 
paranoia is part of the job description darn-it.


More information about the Digitalmars-d mailing list