NODE 27048551Python Cryptography Toolkit v1.0.0
Andrew Kuchling <andrewk@dexotek.ca>Thu, 7 Dec 95 13:58:51 PST
I've just uploaded version 1.0.0 of the Python Cryptography Toolkit, a
collection of cryptographic routines for the Python programming language.
It's at ftp://ftp.cwi.nl/pub/pct/pycrypt100.tgz. All my code is public
domain; some of the algorithm implementations are GPLed.
The Toolkit now contains various cryptographic algorithms such
as DES, IDEA, MD5, etc. I will fix bugs in the software, and may add
or remove the odd module if some startling new research result comes
out, but things should be pretty stable from now on.
The algorithms available are:
Hash functions: Haval, MD2, MD4, MD5, SHA.
Private-key encryption:
Blowfish, DES, DES3 (Triple DES), Diamond, IDEA, Alleged RC4,
32-bit RC5, REDOC III.
Public-key: Digital Signature Standard, ElGamal, RSA. (There's a
non-functional ESIGN module included, too; I'll finish it
for a subsequent release.)
Python is an interpreted scripting language; see
http://www.python.org for more information, the source code, and
binaries. It includes arbitrary-sized integers, so the public-key
algorithms are implemented in pure Python; this entails a speed
penalty, but makes the code more valuable for educational purposes.
A sample usage of a hash algorithm (MD5) is:
>>> import md5
>>> hash=md5.new()
>>> hash.update(message)
>>> hash.digest()
'\235\361\034\357\217MX\2246\226\367\366Ebx\326'
A sample use of an encryption algorithm (IDEA, in this case) is:
>>> import idea
>>> obj=idea.new('This is a key456', idea.ECB)
>>> message="The answer is no"
>>> ciphertext=obj.encrypt(message)
>>> ciphertext
'\2325$\343=)d\341^\025<\344\013\204 T'
>>> obj.decrypt(ciphertext)
'The answer is no'
Questions, comments, or suggestions are welcomed at the
address below.
Andrew Kuchling
andrewk@cst.ca
NODE 2726f854Re: Python Cryptography Toolkit v1.0.0
futplex@pseudonym.com (Futplex)Thu, 7 Dec 95 23:46:19 PST
Andrew Kuchling <andrewk@cst.ca> writes:
> I've just uploaded version 1.0.0 of the Python Cryptography Toolkit, a
> collection of cryptographic routines for the Python programming language.
> It's at ftp://ftp.cwi.nl/pub/pct/pycrypt100.tgz.
[...]
> The Toolkit now contains various cryptographic algorithms such
> as DES, IDEA, MD5, etc.
[...]
> Questions, comments, or suggestions are welcomed at the
> address below.
Sounds good. Here's some nitpicking:
(1) If you don't mind announcing that you've exported the software from
Canada to the Netherlands, why not just put it up for ftp at a Canadian
site ?
(2) Acronym overload: try to avoid calling your toolkit "PCT", since M$
already has some security protocol called PCT....
-Futplex <futplex@pseudonym.com>
NODE 386c24afRe: Python Cryptography Toolkit v1.0.0
Andrew Kuchling <andrewk@dexotek.ca>Fri, 8 Dec 95 11:25:55 PST
Futplex <futplex@pseudonym.com> wrote:
> (1) If you don't mind announcing that you've exported the software from
> Canada to the Netherlands, why not just put it up for ftp at a Canadian
> site ?
Simply because I don't have anywhere to put it. This e-mail account
is at my workplace, and my employer doesn't run an anonymous FTP site. I
also don't have an account with a local ISP, just because I haven't bothered
to get one yet. Once I do, I'll certainly make the code available there.
> (2) Acronym overload: try to avoid calling your toolkit "PCT", since M$
> already has some security protocol called PCT....
Yeah, I know; my code has been around for about 6 months, and I only
found out about MS's protocol a few weeks ago. Hmmm... Python Cryptography
_Package_? Kit? Collection? Stuff?
Andrew Kuchling
andrewk@cst.ca