On 6/29/14, 12:19 AM, Adam Wilson via Digitalmars-d wrote:
On Sat, 28 Jun 2014 23:08:51 -0700, Charles <[email protected]> wrote:

Is there a native D crypto library like Crypto++?

No. And for good reason. Building a cryptography library is an extremely 
dificult proposition. Even
after you've completed the build, you still face a trust problem. You need to 
convince people that
your library is not subject to a myriad of side-channel attacks. The only way 
to do that is to
battle-test is, which requires that people use it in the first place. The 
philosophy of the D
community is to binding to more trusted and tested libraries.

I currently am working on one such binding to the Botan library called Titanium.

https://github.com/ellipticbit/titanium
https://github.com/randombit/botan/

Botan isn't as battle-tested as OpenSSL or Crypto++ but it was designed from 
the ground up to
mitigate or prevent the kind of problems that OpenSSL is currently 
experiencing, and was implemented
by someone who has done multiple Cryptographic Module Verifications for NIST. I 
personally went with
Botan because it's relatively easy to create bindings for the languages I use 
and API is relatively
sane for a crypto library (I'm looking at you OpenSSL).

A safe rule of thumb with crypto code / libraries: If the thought of writing that type of code doesn't scare you for at least a dozen or so reasons, you don't know enough to tread in that playground. Or you're one of the damned few people on the planet qualified and are already working on one.

Reply via email to