blob: e715d22c53aeebd910f9a68a399dea414b98a1db [file] [log] [blame]
Python-RSA changelog
========================================
Version 4.0 - in development
----------------------------------------
- Removed deprecated modules:
- rsa.varblock
- rsa.bigfile
- rsa._version133
- rsa._version200
- Removed CLI commands that use the VARBLOCK/bigfile format.
- Ensured that PublicKey.save_pkcs1() and PrivateKey.save_pkcs1() always return bytes.
- Dropped support for Python 2.6
- Dropped support for Psyco
- Miller-Rabin iterations determined by bitsize of key.
[#58](https://github.com/sybrenstuvel/python-rsa/pull/58)
- Added function `rsa.find_signature_hash()` to return the name of the hashing
algorithm used to sign a message. `rsa.verify()` now also returns that name,
instead of always returning `True`.
[#78](https://github.com/sybrenstuvel/python-rsa/issues/13)
Version 3.4.2 - released 2016-03-29
----------------------------------------
- Fixed dates in CHANGELOG.txt
Version 3.4.1 - released 2016-03-26
----------------------------------------
- Included tests/private.pem in MANIFEST.in
- Included README.md and CHANGELOG.txt in MANIFEST.in
Version 3.4 - released 2016-03-17
----------------------------------------
- Moved development to Github: https://github.com/sybrenstuvel/python-rsa
- Solved side-channel vulnerability by implementing blinding, fixes #19
- Deprecated the VARBLOCK format and rsa.bigfile module due to security issues, see
https://github.com/sybrenstuvel/python-rsa/issues/13
- Integration with Travis-CI [1], Coveralls [2] and Code Climate [3]
- Deprecated the old rsa._version133 and rsa._version200 submodules, they will be
completely removed in version 4.0.
- Add an 'exponent' argument to key.newkeys()
- Switched from Solovay-Strassen to Miller-Rabin primality testing, to
comply with NIST FIPS 186-4 [4] as probabilistic primality test
(Appendix C, subsection C.3):
- Fixed bugs #12, #14, #27, #30, #49
[1] https://travis-ci.org/sybrenstuvel/python-rsa
[2] https://coveralls.io/github/sybrenstuvel/python-rsa
[3] https://codeclimate.com/github/sybrenstuvel/python-rsa
[4] http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf
Version 3.3 - released 2016-01-13
----------------------------------------
- Thanks to Filippo Valsorda: Fix BB'06 attack in verify() by
switching from parsing to comparison. See [1] for more information.
- Simplified Tox configuration and dropped Python 3.2 support. The
coverage package uses a u'' prefix, which was reintroduced in 3.3
for ease of porting.
[1] https://blog.filippo.io/bleichenbacher-06-signature-forgery-in-python-rsa/
Version 3.2.3 - released 2015-11-05
----------------------------------------
- Added character encoding markers for Python 2.x
Version 3.2.1 - released 2015-11-05
----------------------------------------
- Added per-file licenses
- Added support for wheel packages
- Made example code more consistent and up to date with Python 3.4
Version 3.2 - released 2015-07-29
----------------------------------------
- Mentioned support for Python 3 in setup.py
Version 3.1.4 - released 2014-02-22
----------------------------------------
- Fixed some bugs
Version 3.1.3 - released 2014-02-02
----------------------------------------
- Dropped support for Python 2.5
Version 3.1.2 - released 2013-09-15
----------------------------------------
- Added Python 3.3 to the test environment.
- Removed dependency on Distribute
- Added support for loading public keys from OpenSSL
Version 3.1.1 - released 2012-06-18
----------------------------------------
- Fixed doctests for Python 2.7
- Removed obsolete unittest so all tests run fine on Python 3.2
Version 3.1 - released 2012-06-17
----------------------------------------
- Big, big credits to Yesudeep Mangalapilly for all the changes listed
below!
- Added ability to generate keys on multiple cores simultaneously.
- Massive speedup
- Partial Python 3.2 compatibility (core functionality works, but
saving or loading keys doesn't, for that the pyasn1 package needs to
be ported to Python 3 first)
- Lots of bug fixes
Version 3.0.1 - released 2011-08-07
----------------------------------------
- Removed unused import of abc module
Version 3.0 - released 2011-08-05
----------------------------------------
- Changed the meaning of the keysize to mean the size of ``n`` rather than
the size of both ``p`` and ``q``. This is the common interpretation of
RSA keysize. To get the old behaviour, double the keysize when generating a
new key.
- Added a lot of doctests
- Added random-padded encryption and decryption using PKCS#1 version 1.5
- Added hash-based signatures and verification using PKCS#1v1.5
- Modeling private and public key as real objects rather than dicts.
- Support for saving and loading keys as PEM and DER files.
- Ability to extract a public key from a private key (PEM+DER)
Version 2.0
----------------------------------------
- Security improvements by Barry Mead.