[python-crypto] Add AES to amkCrypto?

M.-A. Lemburg mal at lemburg.com
Wed Jan 31 19:37:30 CET 2001

PC Drew wrote:
> Wednesday, January 31, 2001, 8:32:27 AM, you wrote:
> >>
> >> I didn't know that his API was the defacto standard, but I like the
> >> way he has it organized.  I'm not saying that we should start from the
> >> drawing board, I'm only saying that we should document a formal API
> >> for writing crypto algorithms and publish it (on python.org?).  Then
> >> trying to get that in the Python distribution.  You're saying it's the
> >> defacto standard, all I'm proposing is that we actually make a
> >> standard and use Andrew's code as the framework.
> MAL> You mean wrap Andrew's docs as HTML file ? That should be
> MAL> possible (his docs are written in LaTeX).
> A little bit more than that, but yeah.  I need to look at his
> documentation again, but I want to formally document the API and then
> post it.  In addition to that, I want to have a standard, cross
> platform install (if possible), similar to that of the XML SIG
> install.  I want to create a crypto abstraction layer to be something
> like this:
> ciphertext = encrypt("DES", plaintext)
> (obviously not exactly like that, but you get my drift) so that people
> can easily change this to be:
> ciphertext = encrypt("AES", plaintext)
> when the need arises.  All of these ideas are just that.  That's why I
> want to create a SIG for this...to discuss all of these ideas.

Seems like a good idea.

To create a SIG, you'll need to write a short summary of what the
SIG should have a goal and why we need it. Then post this summary
to the meta-sig to have it discussed.

If all goes well, then a new list will be created. Ah, yes, you'll
also need a SIG maintainer who sets up the web-page etc.

See the meta-sig archvies for examples on how this is done.

> MAL> We could then have a python.org page for it much like the
> MAL> database API page and probably also move this mailing list
> MAL> there as crypto-sig.
> >> MAL> There's really no need to design yet another API...
> >>
> >> MAL> As for integrating AES into amkCrypto, I think the best way is
> >> MAL> to wait until OpenSLL has support for it and then integrate
> >> MAL> that support into amkCrypto.
> >>
> >> Just out of curiosity, why do you think that?  I don't know anything
> >> about the development of OpenSSL so I don't know how they do things.
> >> Why wouldn't it be prudent to "just do it"?
> MAL> Because the maintainers of OpenSSL are really smart guys and
> MAL> know a lot about writing code which runs as fast as possible.
> MAL> Maintaining such code (usually a combination of C and assembler)
> MAL> to run on multiple platforms isn't a simple task at all, but they are
> MAL> doing a great job at it.
> So how does that library work, and how does it correspond to
> amkCrypto?  Doe the OpenSSL guys write it in C and then someone wraps
> it for Python?  If so, then what's the difference between that and
> amkCrypto?

amkCrypto is the combination of Andrew's pycrypt lib (which also
includes a quite bit of C code) and mxCrypto (which is a wrapper
of the ciphers and hashes in OpenSSL) which I wrote some time

The algorithms which Andrew implemented in C are mostly also
available in OpenSSL, but usually run much faster due. Eric
Young wrote the original code base for OpenSSL which was formerly
known as SSLeay.

> MAL> If you don't want to wait, though, go ahead and wrap the
> MAL> AES C code into a Python module using the same APIs as the
> MAL> other ciphers in amkCrypto. People will then be able to upgrade
> MAL> to the OpenSSL based ciphers later on.
> I'm thinking about that...see above questions though.

Marc-Andre Lemburg
Company:                                        http://www.egenix.com/
Consulting:                                    http://www.lemburg.com/
Python Pages:                           http://www.lemburg.com/python/

------------------------ Yahoo! Groups Sponsor ---------------------~-~>
eGroups is now Yahoo! Groups
Click here for more details

More information about the python-crypto mailing list