ANN: yawPyCrypto 0.01 (proof of concept)

Heiko Wundram heikowu at ceosg.de
Fri May 30 19:31:44 EDT 2003


yawPyCrypto (yet another wrapper for PyCrypto) aims to be a more full-featured 
PyCrypto wrapper than e.g. ezPyCrypto is. It allows you to use all standard 
functions ezPyCrypto offers, but with the difference that access to parts of the 
API is factored out into distinct classes. 
 
This enables features like multiple recipient specification of encrypted packets, 
ascii armoring using a custom armoring routine, and several other goodies which 
the interface of ezPyCrypto hides/doesn't allow. Another goodie is that all 
conversions string to tuple and reverse, which PyCrypto requires quite a few, are 
handled using a custom serializer, which is simple enough that there shouldn't be 
any security holes as when using Pickle (which ezPyCrypto uses for most of these 
operations). 
 
The current proof of concept implements the public key functionality completely, 
but doesn't as yet contain support for (stream) ciphers, and as such doesn't 
contain support for packet encryption using ciphers with a randomly generated 
session key, which is encrypted using one/several public keys, and other goodies 
a là GPG. 
 
This will be added/implemented/debugged shortly. 
 
I'm posting this message so that maybe someone out there who'd use this 
package has the chance to post to my wish-list, before I go and write (integrate) 
the rest of the API. The style of programming I'm considering at the moment will 
be similar to the one that's followed in the current proof of concept. 
 
yawPyCrypto 
 
URL: http://ph0enix.homelinux.org/~heiko 
Author: Heiko Wundram <heikowu at ceosg.de> 
License: LGPL - Lesser General Public License 
Dependencies: 
- Python 2.2.2 (or later, it should be easy to make it available for Python versions 
2.1 onwards, but I just don't have the time, and I use 2.2.2 here). 
- PyCrypto 1.9a6 (or later, which AFAICT has changed the interface to stream 
ciphers quite a bit, so I won't do any backports). 
 
Demo code is contained in the file itself, as function _main(). 
 
--  
   
    Heiko Wundram 
    Universität 18 - Zimmer 2206 
    66123 Saarbrücken - Germany 

-------------------------------------------------
This mail sent through IMP: http://horde.org/imp/





More information about the Python-list mailing list