progrium/pyjwt — pull request #51 by mark-adams (2014-12-19 02:12:43+00:00)
Title: Switch to cryptography for RSA and ECDSA algorithms

Currently, pyjwt uses `PyCrypto` (last release 2013-10) and `ecdsa` in order to support RSA and ECDSA algorithms. Instead of dealing with two dependencies, I propose switching to using the [cryptography](cryptography.io) library for the following reasons:
* Better performance (RSA performance is [30% faster](https://bitbucket.org/markadams/py-crypto-speed-test) than in PyCrypto
* More trusted codebase. The cryptography library uses OpenSSL for most of its cryptographic functions which is trusted, very familiar, and well maintained.
* Single library for both RSA and ecdsa support
* cryptography is more actively maintained. (PyCrypto hasn't seen any updates in over a year)

The attached commits swap out PyCrypto and ecdsa for cryptography. There are no public API changes to pyjwt. All existing test cases pass without issue.