PyCrypto - The Python Cryptography Toolkit

Random Number Generation

Do not use RandomPool to generate random numbers. It will be deprecated in the next release. See this thread to find out why.

Mailing list

If you are interested in the future of PyCrypto, please join the mailing list.

Bug tracker

For now, bugs are being tracked on Launchpad.

Source Code

You can browse the work-in-progress source tree (gitweb), or clone it using git by running the following command:

git clone git://git.pycrypto.org:9419/crypto/pycrypto-2.x.git

Note: Do not use this code in production yet!

See "Export Issues" and "Code Submission Requirements" below.

Atom/RSS feeds

You can keep track of the progress of PyCrypto development by subscribing to one of the Atom or RSS commit log feeds.

Releases

None yet. Stay tuned!

I am in the process of taking over the maintenance of the Python Cryptography Toolkit, which was originally written by A. M. Kuchling. I plan to make a new release fairly soon, but I want to take care of some bugs and disscuss a few other issues with packagers and other stakeholders before that happens.

The previous release version, although somewhat dated (and buggy), is available at A. M. Kuchling's original PyCrypto site.

Documentation

Note: This documentation is somewhat outdated.

Development

Export Issues

Unfortunately, cryptography software is still governed by arms control regulations in Canada, the United States, and elsewhere. The controls are somewhat looser for free/open-source software, but they exist nonetheless. I am a Canadan citizen working in Canada, so Canadian export controls apply to me. Due to Canada's close ties to the U.S., cryptography software that is "made in the USA" is subject to different rules than software made anywhere else. From what I understand, I have to follow both U.S. and Canadian export regulations if I "re-export" U.S.-origin cryptography.

At the moment, the rules seem to be compatible with each other, and I have done my best to ensure that I am complying with both sets of regulations, but the whole thing makes me uncomfortable and I have neither the time nor the money to try to push the limits on this issue.

Therefore, I am not accepting new code contributions from U.S. nationals or U.S. residents at this time. The goal is to eventually make the American contribution so small that PyCrypto will no longer be substantially "of U.S. origin" (this may already be the case, but I want to be careful).

Code Submission Requirements

In an effort to clarify PyCrypto's licensing terms and export control status, all new patch submissions must meet the requirements set out in the document, "PyCrypto Code Submission Requirements - Rev. C".

Wishlist

I'll get around to these eventually.