Honestly, the best thing you can do when it comes to writing crypto code is _not_ write crypto code. It's far better to instead use pre-existing, trusted, scrutinized, audited code. You'll probably be better served looking for a Python interface to OpenSSL, which will provide you with all the algorithms you'll want and then some.
pyopenssl might be what you're looking for, it might not. I've never used it, but that looks like the place to start. -- http://mail.python.org/mailman/listinfo/python-list