[PYTHON-CRYPTO] confused about state of crypto in python

Andrew Archibald aarchiba at YAHOO.COM
Fri Mar 23 22:51:23 CET 2001


On Fri, Mar 23, 2001 at 06:06:51PM -0000, Jason R. Mastaler wrote:
> Greetings,
>
> I'm trying to locate the "standard" implementation of popular
> cryptography algorithms such as Blowfish, Twofish, and IDEA for Python
> but have found this task more daunting than I originally anticipated.

Heh.  Yes, it is daunting; the goal of this list is to solve that problem.

> A quick stroll through the search engines reveals a dizzying array of
> code and modules, and no clear picture as to which packages are
> supported, endorsed by Python, etc.  Some examples,
>
> "mxCrypto", "amkCrypto", "pycrypt", "aescrypt", "twofishmodule", etc..

mxCrypto: superseded by amkCrypto
pycrypt: superseded by mxCrypto
pyaes: not a generic module
twofishmodule: just has twofish

there is also m2crypto, which is used by Zope and is generic.

So you have two choices for a general-purpose crypto wrapper (that I know
of): amkCrypto and m2crypto.  amkCrypto is pretty nice, wrapping things in
a very convenient pythonic way, but this limits its security (python
strings are immutable and cannot be wiped, for example).  I have little
experience with m2crypto, but it seems to be a somewhat thinner wrapper of
OpenSSL.  It also does not allow wiping of data.

I would use amkCrypto.

> This is very confusing when coming from Perl, where the Crypto modules
> are neatly organized in one place (http://search.cpan.org/Catalog/Security/)
> and share a common API.

Is there some convenient API doc online?  What do you think of the API?
Should python's resemble it?

Thanks,
Andrew





More information about the python-crypto mailing list