blob: f8ed650559d198acd69e92c17e44530cf6eab5c0 [file] [log] [blame]
Sybren A. Stüvel714324a2011-07-10 12:05:33 +02001Python-RSA changelog
2========================================
3
Sybren A. Stüvel368a31f2018-09-16 13:42:15 +02004Version 4.0 - released 2018-09-16
Sybren A. Stüvelbb274082016-03-17 15:56:40 +01005----------------------------------------
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.
Sybren A. Stüvel7619f142018-09-16 12:07:24 +020014- Dropped support for Python 2.6 and 3.3.
15- Dropped support for Psyco.
adamantike38a72552016-03-28 13:12:12 -030016- Miller-Rabin iterations determined by bitsize of key.
Sybren A. Stüvel7ebae9f2017-04-10 12:17:33 +020017 [#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)
Sybren A. Stüvel83e273b2018-02-05 13:37:33 +010022- Add support for SHA-224 for PKCS1 signatures.
23 [#104](https://github.com/sybrenstuvel/python-rsa/pull/104)
Sybren A. Stüvelc2211ee2018-07-10 21:51:14 +020024- Transitioned from `requirements.txt` to Pipenv for package management.
Sybren A. Stüvelcd42a862016-01-13 10:14:06 +010025
Sybren A. Stüvele5839ee2016-03-26 13:47:19 +010026
Sybren A. Stüvelfd70d792016-03-29 15:20:21 +020027Version 3.4.2 - released 2016-03-29
28----------------------------------------
29
30- Fixed dates in CHANGELOG.txt
31
32
umeb813f432016-03-28 13:57:16 +090033Version 3.4.1 - released 2016-03-26
Sybren A. Stüvel61b4ac22016-03-26 13:36:23 +010034----------------------------------------
35
36- Included tests/private.pem in MANIFEST.in
37- Included README.md and CHANGELOG.txt in MANIFEST.in
38
Sybren A. Stüvelcd42a862016-01-13 10:14:06 +010039
umeb813f432016-03-28 13:57:16 +090040Version 3.4 - released 2016-03-17
Sybren A. Stüvelb9fb8932016-01-22 11:04:24 +010041----------------------------------------
42
Hugo2c1d5122017-10-22 18:01:16 +030043- Moved development to GitHub: https://github.com/sybrenstuvel/python-rsa
Sybren A. Stüvel2310b342016-01-22 13:11:22 +010044- Solved side-channel vulnerability by implementing blinding, fixes #19
Sybren A. Stüvel1681a0b2016-01-22 13:54:52 +010045- Deprecated the VARBLOCK format and rsa.bigfile module due to security issues, see
46 https://github.com/sybrenstuvel/python-rsa/issues/13
adamantikea540c7c2016-01-27 12:22:44 -030047- Integration with Travis-CI [1], Coveralls [2] and Code Climate [3]
Sybren A. Stüvel8085da52016-01-27 14:40:48 +010048- Deprecated the old rsa._version133 and rsa._version200 submodules, they will be
49 completely removed in version 4.0.
Sybren A. Stüvel4f2aa1d2016-01-27 18:16:36 +010050- Add an 'exponent' argument to key.newkeys()
Sybren A. Stüvela0401052016-03-17 12:34:20 +010051- 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):
Sybren A. Stüvel6b6d2972016-03-17 13:31:43 +010054- Fixed bugs #12, #14, #27, #30, #49
Sybren A. Stüvelb9fb8932016-01-22 11:04:24 +010055
Sybren A. Stüvelf455a772016-01-27 09:23:45 +010056[1] https://travis-ci.org/sybrenstuvel/python-rsa
adamantikea540c7c2016-01-27 12:22:44 -030057[2] https://coveralls.io/github/sybrenstuvel/python-rsa
58[3] https://codeclimate.com/github/sybrenstuvel/python-rsa
Michael Manganiello97b809a2016-04-23 05:44:26 -030059[4] http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf
adamantikea540c7c2016-01-27 12:22:44 -030060
Sybren A. Stüvelb9fb8932016-01-22 11:04:24 +010061
Sybren A. Stüvelcd42a862016-01-13 10:14:06 +010062Version 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
74Version 3.2.3 - released 2015-11-05
75----------------------------------------
76
77- Added character encoding markers for Python 2.x
78
79
80Version 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
88Version 3.2 - released 2015-07-29
89----------------------------------------
90
91- Mentioned support for Python 3 in setup.py
92
93
94Version 3.1.4 - released 2014-02-22
95----------------------------------------
96
97- Fixed some bugs
98
99
100Version 3.1.3 - released 2014-02-02
101----------------------------------------
102
103- Dropped support for Python 2.5
104
105
106Version 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
114Version 3.1.1 - released 2012-06-18
Sybren A. Stüvel1db004a2012-06-18 15:43:20 +0200115----------------------------------------
116
117- Fixed doctests for Python 2.7
Sybren A. Stüvele36c4632012-06-18 16:05:45 +0200118- Removed obsolete unittest so all tests run fine on Python 3.2
Sybren A. Stüvel1db004a2012-06-18 15:43:20 +0200119
Sybren A. Stüvel4f63b102012-06-17 11:59:25 +0200120Version 3.1 - released 2012-06-17
Sybren A. Stüvel360d0422011-08-10 12:52:59 +0200121----------------------------------------
122
Sybren A. Stüvel4f63b102012-06-17 11:59:25 +0200123- Big, big credits to Yesudeep Mangalapilly for all the changes listed
124 below!
Sybren A. Stüvel360d0422011-08-10 12:52:59 +0200125- Added ability to generate keys on multiple cores simultaneously.
Sybren A. Stüvel4f63b102012-06-17 11:59:25 +0200126- 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
Sybren A. Stüvel360d0422011-08-10 12:52:59 +0200132
133
Sybren A. Stüvelcda89dd2011-08-07 16:09:02 +0200134Version 3.0.1 - released 2011-08-07
135----------------------------------------
136
137- Removed unused import of abc module
138
139
140Version 3.0 - released 2011-08-05
Sybren A. Stüvel714324a2011-07-10 12:05:33 +0200141----------------------------------------
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.
Michael Manganiello97b809a2016-04-23 05:44:26 -0300147
Sybren A. Stüvel714324a2011-07-10 12:05:33 +0200148- Added a lot of doctests
149
150- Added random-padded encryption and decryption using PKCS#1 version 1.5
151
Sybren A. Stüvela3c476e2011-07-24 20:13:07 +0200152- Added hash-based signatures and verification using PKCS#1v1.5
Sybren A. Stüvel714324a2011-07-10 12:05:33 +0200153
Sybren A. Stüvel01ea0282011-07-19 22:31:53 +0200154- Modeling private and public key as real objects rather than dicts.
155
Sybren A. Stüvela3c476e2011-07-24 20:13:07 +0200156- 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
Sybren A. Stüvelf6a10732011-07-20 01:11:34 +0200160
Sybren A. Stüvel714324a2011-07-10 12:05:33 +0200161Version 2.0
162----------------------------------------
Sybren A. Stüvel01ea0282011-07-19 22:31:53 +0200163
Sybren A. Stüvela3c476e2011-07-24 20:13:07 +0200164- Security improvements by Barry Mead.