ANN: yawPyCrypto 0.1.1

Heiko Wundram heiko at
Sun Aug 17 04:05:37 CEST 2003

As announced earlier this week, a maintenance release for yawPyCrypto is
now out, which finally adds doc-strings for all classes/methods, and
which supports a new module called KeyCipher, which adds support for
stream encryption using public key cryptography.

The new classes have not been well tested, as I did not have the time to
implement a test-suite for them yet, but I would encourage anyone out
there using yawPyCrypto to upgrade anyway, and to mail me any errors
they might encounter.

yawPyCrypto is available at:


yawPyCrypto is a wrapper for a big part of PyCrypto's cryptographic
functionality, which provides a much simpler, unified interface on top
of the underlying classes. yawPyCrypto aims at exposing as much of the
functionality available through PyCrypto as possible, while still making
it easy for the programmer to use the functionality.

yawPyCrypto offers:

An abstract key class which allows you not only to store and reload keys
from a string (extensions to e.g. wrap data in ascii-armored format are
included), but also to associate key arguments with a key. These key
arguments can be any valid Python object, which is serialized and signed
by the key (if the key contains a public key).

An abstract cipher stream class which allows you to do stream encryption
with block ciphers (or stream ciphers), hiding the underlying
complexities of only being able to encrypt whole blocks. The output
stream format contains information on the encrypted data (such as the
encryption algorithm and chaining mode used, this should be safe to
distribute), and a hash of the encrypted data (which is checked on
load). yawPyCrypto streams are secured in the sense that they work
around known problems with several algorithms.

A high-level cipher stream class which uses public key functionality to
encrypt data with a session key, which is stored in the stream. The
stream layout is almost identical to a normal cipher stream.

Several other wrapper classes, which are being described in the online
documentation (generated by epydoc).

yawPyCrypto depends on the serialization library Flatten, also available
from there.

yawPyCrypto has officially been marked beta as of this release (all
earlier releases were marked alpha), and new version information has
been introduced in all files (<major>.<minor>p<patchlevel>).

Author:  Heiko Wundram <heiko at>
Depends: PyCrypto 1.9a6 (should run on earlier versions), Python 2.3
Runs on: Should be OS-Independent, only tested on Debian unstable.
Release: 2003/08/17 (Version 0.1.1, beta)

Available jobs:

- Backport yawPyCrypto to earlier Python versions (I will do this, but
as I use 2.3 exclusively at the moment, at some much later stage)
- Correct all the stupid mistakes I have in my doc-strings
- Create a full-blown test-suite for all classes

More information about the Python-list mailing list