crypto primitives

Roger Dingledine arma at mit.edu
Mon Jul 29 03:38:23 UTC 2002


On Tue, Jul 23, 2002 at 07:46:36AM -0400, Matej Pfajfar wrote:
> First of all, do we actually need to switch libs? As far as I can tell, 
> the openssl website says that it's perfectly OK to release the code under 
> GPL if it uses openssl. The only problem they mention is taking someone 
> else's GPL code and adding openssl stuff to it. The argument is that 
> openssl is not included as standard in all operating systems which some 
> authors say violates the GPL.
> But since it's our code (we haven't nicked it from anyone else!), we can 
> allow ourselves to use openssl. Or did I not read through that correctly?

Yes, the problem is that openssl is not standard on (say) Debian,
meaning we would need to include an extra clause in the license saying
"you can use this with openssl too". Since we have copyright, it doesn't
affect us, you're right. And since openssl comes standard with Red Hat,
people who use Red Hat could use it even with a straight GPL license. But
in general people wouldn't be able to link in straight GPL'd code.

It's not a horrible problem, because anybody can download the code
with the extra license clause, fix it so it doesn't need openssl, and
distribute it with a straight GPL license. But it would be nicer to just
solve the issue entirely.

> Roger suggested looking at the following -
> 
> gnutls - this is a TLS implementation in beta stage, which uses libgcrypt 
> (see below) for the crypto primitives. So it's pretty useless in itself 
> (to us I mean).
> 
> libgcrypt - this is the GnuPG crypto library, underl the GPL. Looks like 
> it contains all we need, am compiling it now.
> 
> NSS - mozilla SSL implementation, seems as if it's got all we need but I 
> am not sure whether it supports DES in OFB mode (or are we switching to 
> block as we discussed, Roger?)
> 
> Any other suggestions would be great. Thanks!

These are the options that I found. I hear nss is more actively developed,
and neither of them have good general SSL implementations yet. But since
we really don't need much in the way of complex crypto operations,
we should be able to go with whichever is more pleasant to work with.

Do they both have aes? (openssl only has it in recent unstable betas)

--Roger



More information about the tor-dev mailing list