1 Python-RSA changelog 2 ======================================== 3 4 Version 4.0 - released 2018-09-16 5 ---------------------------------------- 6 7 - Removed deprecated modules: 8 - rsa.varblock 9 - rsa.bigfile 10 - rsa._version133 11 - rsa._version200 12 - Removed CLI commands that use the VARBLOCK/bigfile format. 13 - Ensured that PublicKey.save_pkcs1() and PrivateKey.save_pkcs1() always return bytes. 14 - Dropped support for Python 2.6 and 3.3. 15 - Dropped support for Psyco. 16 - Miller-Rabin iterations determined by bitsize of key. 17 [#58](https://github.com/sybrenstuvel/python-rsa/pull/58) 18 - Added function `rsa.find_signature_hash()` to return the name of the hashing 19 algorithm used to sign a message. `rsa.verify()` now also returns that name, 20 instead of always returning `True`. 21 [#78](https://github.com/sybrenstuvel/python-rsa/issues/13) 22 - Add support for SHA-224 for PKCS1 signatures. 23 [#104](https://github.com/sybrenstuvel/python-rsa/pull/104) 24 - Transitioned from `requirements.txt` to Pipenv for package management. 25 26 27 Version 3.4.2 - released 2016-03-29 28 ---------------------------------------- 29 30 - Fixed dates in CHANGELOG.txt 31 32 33 Version 3.4.1 - released 2016-03-26 34 ---------------------------------------- 35 36 - Included tests/private.pem in MANIFEST.in 37 - Included README.md and CHANGELOG.txt in MANIFEST.in 38 39 40 Version 3.4 - released 2016-03-17 41 ---------------------------------------- 42 43 - Moved development to GitHub: https://github.com/sybrenstuvel/python-rsa 44 - Solved side-channel vulnerability by implementing blinding, fixes #19 45 - Deprecated the VARBLOCK format and rsa.bigfile module due to security issues, see 46 https://github.com/sybrenstuvel/python-rsa/issues/13 47 - Integration with Travis-CI [1], Coveralls [2] and Code Climate [3] 48 - Deprecated the old rsa._version133 and rsa._version200 submodules, they will be 49 completely removed in version 4.0. 50 - Add an 'exponent' argument to key.newkeys() 51 - Switched from Solovay-Strassen to Miller-Rabin primality testing, to 52 comply with NIST FIPS 186-4 [4] as probabilistic primality test 53 (Appendix C, subsection C.3): 54 - Fixed bugs #12, #14, #27, #30, #49 55 56 [1] https://travis-ci.org/sybrenstuvel/python-rsa 57 [2] https://coveralls.io/github/sybrenstuvel/python-rsa 58 [3] https://codeclimate.com/github/sybrenstuvel/python-rsa 59 [4] http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf 60 61 62 Version 3.3 - released 2016-01-13 63 ---------------------------------------- 64 65 - Thanks to Filippo Valsorda: Fix BB'06 attack in verify() by 66 switching from parsing to comparison. See [1] for more information. 67 - Simplified Tox configuration and dropped Python 3.2 support. The 68 coverage package uses a u'' prefix, which was reintroduced in 3.3 69 for ease of porting. 70 71 [1] https://blog.filippo.io/bleichenbacher-06-signature-forgery-in-python-rsa/ 72 73 74 Version 3.2.3 - released 2015-11-05 75 ---------------------------------------- 76 77 - Added character encoding markers for Python 2.x 78 79 80 Version 3.2.1 - released 2015-11-05 81 ---------------------------------------- 82 83 - Added per-file licenses 84 - Added support for wheel packages 85 - Made example code more consistent and up to date with Python 3.4 86 87 88 Version 3.2 - released 2015-07-29 89 ---------------------------------------- 90 91 - Mentioned support for Python 3 in setup.py 92 93 94 Version 3.1.4 - released 2014-02-22 95 ---------------------------------------- 96 97 - Fixed some bugs 98 99 100 Version 3.1.3 - released 2014-02-02 101 ---------------------------------------- 102 103 - Dropped support for Python 2.5 104 105 106 Version 3.1.2 - released 2013-09-15 107 ---------------------------------------- 108 109 - Added Python 3.3 to the test environment. 110 - Removed dependency on Distribute 111 - Added support for loading public keys from OpenSSL 112 113 114 Version 3.1.1 - released 2012-06-18 115 ---------------------------------------- 116 117 - Fixed doctests for Python 2.7 118 - Removed obsolete unittest so all tests run fine on Python 3.2 119 120 Version 3.1 - released 2012-06-17 121 ---------------------------------------- 122 123 - Big, big credits to Yesudeep Mangalapilly for all the changes listed 124 below! 125 - Added ability to generate keys on multiple cores simultaneously. 126 - Massive speedup 127 - Partial Python 3.2 compatibility (core functionality works, but 128 saving or loading keys doesn't, for that the pyasn1 package needs to 129 be ported to Python 3 first) 130 - Lots of bug fixes 131 132 133 134 Version 3.0.1 - released 2011-08-07 135 ---------------------------------------- 136 137 - Removed unused import of abc module 138 139 140 Version 3.0 - released 2011-08-05 141 ---------------------------------------- 142 143 - Changed the meaning of the keysize to mean the size of ``n`` rather than 144 the size of both ``p`` and ``q``. This is the common interpretation of 145 RSA keysize. To get the old behaviour, double the keysize when generating a 146 new key. 147 148 - Added a lot of doctests 149 150 - Added random-padded encryption and decryption using PKCS#1 version 1.5 151 152 - Added hash-based signatures and verification using PKCS#1v1.5 153 154 - Modeling private and public key as real objects rather than dicts. 155 156 - Support for saving and loading keys as PEM and DER files. 157 158 - Ability to extract a public key from a private key (PEM+DER) 159 160 161 Version 2.0 162 ---------------------------------------- 163 164 - Security improvements by Barry Mead. 165