Skip to content
Newer
Older
100644 595 lines (413 sloc) 20.5 KB
3caf710 @dlitz Update ChangeLog
authored
1 2.5
2 ===
3 * Added PKCS#1 encryption schemes (v1.5 and OAEP). We now have
4 a decent, easy-to-use non-textbook RSA implementation. Yay!
5
6 * Added PKCS#1 signature schemes (v1.5 and PSS). v1.5 required some
7 extensive changes to Hash modules to contain the algorithm specific
8 ASN.1 OID. To that end, we now always have a (thin) Python module to
9 hide the one in pure C.
10
11 * Added 2 standard Key Derivation Functions (PBKDF1 and PBKDF2).
12
13 * Added export/import of RSA keys in OpenSSH and PKCS#8 formats.
14
15 * Added password-protected export/import of RSA keys (one old method
16 for PKCS#8 PEM only).
17
18 * Added ability to generate RSA key pairs with configurable public
19 exponent e.
20
21 * Added ability to construct an RSA key pair even if only the private
22 exponent d is known, and not p and q.
23
24 * Added SHA-2 C source code (fully from Lorenz Quack).
25
26 * Unit tests for all the above.
27
28 * Updates to documentation (both inline and in Doc/pycrypt.rst)
29
30 * All of the above changes were put together by Legrandin (Thanks!)
31
32 * Minor bug fixes (setup.py and tests).
33
62247ca @dlitz Release v2.4.1
authored
34 2.4.1
35 =====
36 * Fix "error: Setup script exited with error: src/config.h: No such file or
37 directory" when installing via easy_install. (Sebastian Ramacher)
38
3211429 @dlitz Update ACKS and ChangeLog
authored
39 2.4
40 ===
41 * Python 3 support! (Thorsten E. Behrens, Anders Sundman)
42 PyCrypto now supports every version of Python from 2.1 through 3.2.
43
44 * Timing-attack countermeasures in _fastmath: When built against
45 libgmp version 5 or later, we use mpz_powm_sec instead of mpz_powm.
46 This should prevent the timing attack described by Geremy Condra at
47 PyCon 2011:
48 http://blip.tv/pycon-us-videos-2009-2010-2011/pycon-2011-through-the-side-channel-timing-and-implementation-attacks-in-python-4897955
49
50 * New hash modules (for Python >= 2.5 only): SHA224, SHA384, and
51 SHA512 (Frédéric Bertolus)
52
0b370a7 @dlitz Update ChangeLog
authored
53 * Configuration using GNU autoconf. This should help fix a bunch of
54 build issues.
55
56 * Support using MPIR as an alternative to GMP.
57
3211429 @dlitz Update ACKS and ChangeLog
authored
58 * Improve the test command in setup.py, by allowing tests to be
59 performed on a single sub-package or module only. (Legrandin)
60
0b370a7 @dlitz Update ChangeLog
authored
61 You can now do something like this:
62
63 python setup.py test -m Hash.SHA256 --skip-slow-tests
64
3211429 @dlitz Update ACKS and ChangeLog
authored
65 * Fix double-decref of "counter" when Cipher object initialisation
66 fails (Ryan Kelly)
67
68 * Apply patches from Debian's python-crypto 2.3-3 package (Jan
69 Dittberner, Sebastian Ramacher):
70 - fix-RSA-generate-exception.patch
71 - epydoc-exclude-introspect.patch
72 - no-usr-local.patch
73
0b370a7 @dlitz Update ChangeLog
authored
74 * Fix launchpad bug #702835: "Import key code is not compatible with
75 GMP library" (Legrandin)
76
77 * More tests, better documentation, various bugfixes.
3211429 @dlitz Update ACKS and ChangeLog
authored
78
724977c @dlitz Update ChangeLog
authored
79 2.3
80 ===
81 * Fix NameError when attempting to use deprecated getRandomNumber()
82 function.
83
84 * _slowmath: Compute RSA u parameter when it's not given to
85 RSA.construct. This makes _slowmath behave the same as _fastmath in
86 this regard.
87
88 * Make RSA.generate raise a more user-friendly exception message when
89 the user tries to generate a bogus-length key.
90
91
fd52927 @dlitz Update ChangeLog
authored
92 2.2
93 ===
94
95 * Deprecated Crypto.Util.number.getRandomNumber(), which had confusing
96 semantics. It's been replaced by getRandomNBitInteger and
97 getRandomInteger. (Thanks: Lorenz Quack)
98
99 * Better isPrime() and getPrime() implementations that do a real
100 Rabin-Miller probabilistic primality test (not the phony test we did
101 before with fixed bases). (Thanks: Lorenz Quack)
102
103 * getStrongPrime() implementation for generating RSA primes.
104 (Thanks: Lorenz Quack)
105
106 * Support for importing and exporting RSA keys in DER and PEM format.
107 (Thanks: Legrandin)
108
109 * Fix PyCrypto when floor division (python -Qnew) is enabled.
110
111 * When building using gcc, use -std=c99 for compilation. This should
112 fix building on FreeBSD and NetBSD.
113
114
033fc93 @dlitz Release version 2.1.0
authored
115 2.1.0
116 =====
f05263c @dlitz Fix building PyCrypto on Win64 using MS Visual Studio 9.0.
authored
117
118 * Fix building PyCrypto on Win64 using MS Visual Studio 9.
119 (Thanks: Nevins Bartolomeo.)
120
121
7673679 @dlitz Update ChangeLog
authored
122 2.1.0beta1
123 ==========
124
125 * Modified RSA.generate() to ensure that e is coprime to p-1 and q-1.
126 Apparently, RSA.generate was capable of generating unusable keys.
127
128
b728ce5 @dlitz Update ChangeLog
authored
129 2.1.0alpha2
130 ===========
131
132 * Modified isPrime() to release the global interpreter lock while
133 performing computations. (patch from Lorenz Quack)
134
f2dc305 @dlitz Update ChangeLog
authored
135 * Release the GIL while encrypting, decrypting, and hashing (but not
136 during initialization or finalization).
137
b728ce5 @dlitz Update ChangeLog
authored
138 * API changes:
139
140 - Removed RandomPoolCompat and made Crypto.Util.randpool.RandomPool
141 a wrapper around Crypto.Random that emits a DeprecationWarning.
142 This is to discourage developers from attempting to provide
143 backwards compatibility for systems where there are NO strong
144 entropy sources available.
145
146 - Added Crypto.Random.get_random_bytes(). This should allow people
147 to use something like this if they want backwards-compatibility:
148
149 try:
150 from Crypto.Random import get_random_bytes
151 except ImportError:
152 try:
153 from os import urandom as get_random_bytes
154 except ImportError:
155 get_random_bytes = open("/dev/urandom", "rb").read
156
157 - Implemented __ne__() on pubkey, which fixes the following broken
158 behaviour:
159 >>> pk.publickey() == pk.publickey()
160 True
161 >>> pk.publickey() != pk.publickey()
162 True
163 (patch from Lorenz Quack)
2fbf6db [project @ akuchling-20030322003518-3d04a3d206de3434]
akuchling authored
164
f2dc305 @dlitz Update ChangeLog
authored
165 - Block ciphers created with MODE_CTR can now operate on strings of
166 any size, rather than just multiples of the underlying cipher's
167 block size.
168
169 - Crypto.Util.Counter objects now raise OverflowError when they wrap
170 around to zero. You can override this new behaviour by passing
171 allow_wraparound=True to Counter.new()
172
173
812e017 @dlitz Bump to version 2.1.0alpha1
authored
174 2.1.0alpha1
175 ===========
0913cc7 @dlitz Update ChangeLog
authored
176
177 * This version supports Python versions 2.1 through 2.6.
178
179 * Clarified copyright status of much of the existing code by tracking
180 down Andrew M. Kuchling, Barry A. Warsaw, Jeethu Rao, Joris Bontje,
f6e2e9f @dlitz Update ChangeLog
authored
181 Mark Moraes, Paul Swartz, Robey Pointer, and Wim Lewis and getting
182 their permission to clarify the license/public-domain status of their
0913cc7 @dlitz Update ChangeLog
authored
183 contributions. Many thanks to all involved!
184
405a974 @dlitz Update ChangeLog and TODO
authored
185 * Replaced the test suite with a new, comprehensive package
186 (Crypto.SelfTest) that includes documentation about where its test
187 vectors came from, or how they were derived.
0913cc7 @dlitz Update ChangeLog
authored
188
405a974 @dlitz Update ChangeLog and TODO
authored
189 Use "python setup.py test" to run the tests after building.
0913cc7 @dlitz Update ChangeLog
authored
190
405a974 @dlitz Update ChangeLog and TODO
authored
191 * API changes:
b41b1e0 [project @ akuchling-20051130003136-46251f33241838ee]
akuchling authored
192
405a974 @dlitz Update ChangeLog and TODO
authored
193 - Added Crypto.version_info, which from now on will contain version
194 information in a format similar to Python's sys.version_info.
0913cc7 @dlitz Update ChangeLog
authored
195
405a974 @dlitz Update ChangeLog and TODO
authored
196 - Added a new random numbers API (Crypto.Random), and deprecated the
197 old one (Crypto.Util.randpool.RandomPool), which was misused more
198 often than not.
0913cc7 @dlitz Update ChangeLog
authored
199
405a974 @dlitz Update ChangeLog and TODO
authored
200 The new API is used by invoking Crypto.Random.new() and then just
201 reading from the file-like object that is returned.
0913cc7 @dlitz Update ChangeLog
authored
202
405a974 @dlitz Update ChangeLog and TODO
authored
203 CAVEAT: To maintain the security of the PRNG, you must call
204 Crypto.Random.atfork() in both the parent and the child processes
205 whenever you use os.fork(). Otherwise, the parent and child will
206 share copies of the same entropy pool, causing them to return the
207 same results! This is a limitation of Python, which does not
208 provide readily-accessible hooks to os.fork(). It's also a
209 limitation caused by the failure of operating systems to provide
210 sufficiently fast, trustworthy sources of cryptographically-strong
211 random numbers.
0913cc7 @dlitz Update ChangeLog
authored
212
405a974 @dlitz Update ChangeLog and TODO
authored
213 - Crypto.PublicKey now raises ValueError/TypeError/RuntimeError
214 instead of the various custom "error" exceptions
0913cc7 @dlitz Update ChangeLog
authored
215
405a974 @dlitz Update ChangeLog and TODO
authored
216 - Removed the IDEA and RC5 modules due to software patents. Debian
217 has been doing this for a while
0913cc7 @dlitz Update ChangeLog
authored
218
405a974 @dlitz Update ChangeLog and TODO
authored
219 - Added Crypto.Random.random, a strong version of the standard Python
220 'random' module.
0913cc7 @dlitz Update ChangeLog
authored
221
405a974 @dlitz Update ChangeLog and TODO
authored
222 - Added Crypto.Util.Counter, providing fast counter implementations
223 for use with CTR-mode ciphers.
0913cc7 @dlitz Update ChangeLog
authored
224
405a974 @dlitz Update ChangeLog and TODO
authored
225 * Bug fixes:
0913cc7 @dlitz Update ChangeLog
authored
226
405a974 @dlitz Update ChangeLog and TODO
authored
227 - Fixed padding bug in SHA256; this resulted in bad digests whenever
228 (the number of bytes hashed) mod 64 == 55.
0913cc7 @dlitz Update ChangeLog
authored
229
405a974 @dlitz Update ChangeLog and TODO
authored
230 - Fixed a 32-bit limitation on the length of messages the SHA256 module
231 could hash.
0913cc7 @dlitz Update ChangeLog
authored
232
405a974 @dlitz Update ChangeLog and TODO
authored
233 - AllOrNothing: Fixed padding bug in digest()
0913cc7 @dlitz Update ChangeLog
authored
234
405a974 @dlitz Update ChangeLog and TODO
authored
235 - Fixed a bad behaviour of the XOR cipher module: It would silently
236 truncate all keys to 32 bytes. Now it raises ValueError when the
237 key is too long.
0913cc7 @dlitz Update ChangeLog
authored
238
405a974 @dlitz Update ChangeLog and TODO
authored
239 - DSA: Added code to enforce FIPS 186-2 requirements on the size of
240 the prime p
241
242 - Fixed the winrandom module, which had been omitted from the build
243 process, causing security problems for programs that misuse RandomPool.
244
245 - Fixed infinite loop when attempting to generate RSA keys with an
246 odd number of bits in the modulus. (Not that you should do that.)
0913cc7 @dlitz Update ChangeLog
authored
247
248 * Clarified the documentation for Crypto.Util.number.getRandomNumber.
249
250 Confusingly, this function does NOT return N random bits; It returns
251 a random N-bit number, i.e. a random number between 2**(N-1) and (2**N)-1.
252
253 Note that getRandomNumber is for internal use only and may be
254 renamed or removed in future releases.
255
405a974 @dlitz Update ChangeLog and TODO
authored
256 * Replaced RIPEMD.c with a new implementation (RIPEMD160.c) to
257 alleviate copyright concerns.
258
259 * Replaced the DES/DES3 modules with ones based on libtomcrypt-1.16 to
260 alleviate copyright concerns.
261
262 * Replaced Blowfish.c with a new implementation to alleviate copyright
263 concerns.
264
265 * Added a string-XOR implementation written in C (Crypto.Util.strxor)
266 and used it to speed up Crypto.Hash.HMAC
267
268 * Converted documentation to reStructured Text.
269
270 * Added epydoc configuration Doc/epydoc-config
271
272 * setup.py now emits a warning when building without GMP.
273
274 * Added pct-speedtest.py to the source tree for doing performance
275 testing on the new code.
276
277 * Cleaned up the code in several places.
278
b41b1e0 [project @ akuchling-20051130003136-46251f33241838ee]
akuchling authored
279
28510c6 [project @ akuchling-20050509213250-d16d22d7300c44a2]
akuchling authored
280 2.0.1
281 =====
282
ca57523 [project @ akuchling-20050614072235-b866add766df766a]
akuchling authored
283 * Fix SHA256 and RIPEMD on AMD64 platform.
28510c6 [project @ akuchling-20050509213250-d16d22d7300c44a2]
akuchling authored
284 * Deleted Demo/ directory.
ca57523 [project @ akuchling-20050614072235-b866add766df766a]
akuchling authored
285 * Add PublicKey to Crypto.__all__
28510c6 [project @ akuchling-20050509213250-d16d22d7300c44a2]
akuchling authored
286
287
20d7f34 [project @ akuchling-20040814064547-83a6d4811505b355]
akuchling authored
288 2.0
289 ===
c44bccd [project @ akuchling-20031219222425-b2ffbae528141f6e]
akuchling authored
290
291 * Added SHA256 module contributed by Jeethu Rao, with test data
292 from Taylor Boon.
293
294 * Fixed AES.c compilation problems with Borland C.
295 (Contributed by Jeethu Rao.)
f55e77a [project @ akuchling-20040506200233-bd3d91f3b52a06ef]
akuchling authored
296
711759f [project @ akuchling-20040814053128-7dd0ae490e55909e]
akuchling authored
297 * Fix ZeroDivisionErrors on Windows, caused by the system clock
298 not having enough resolution.
299
f55e77a [project @ akuchling-20040506200233-bd3d91f3b52a06ef]
akuchling authored
300 * Fix 2.1/2.2-incompatible use of (key not in dict),
301 pointed out by Ian Bicking.
302
303 * Fix FutureWarning in Crypto.Util.randpool, noted by James P Rutledge.
304
c44bccd [project @ akuchling-20031219222425-b2ffbae528141f6e]
akuchling authored
305
2fbf6db [project @ akuchling-20030322003518-3d04a3d206de3434]
akuchling authored
306 1.9alpha6
307 =========
308
309 * Util.number.getPrime() would inadvertently round off the bit
310 size; if you asked for a 129-bit prime or 135-bit prime, you
311 got a 128-bit prime.
312
a43a918 [project @ akuchling-20030405030339-a9b9f87ecb052f1a]
akuchling authored
313 * Added Util/test/prime_speed.py to measure the speed of prime
314 generation, and PublicKey/test/rsa_speed.py to measure
315 the speed of RSA operations.
25c6a1b [project @ akuchling-20030404023742-cfb9f99da7396ebc]
akuchling authored
316
317 * Merged the _rsa.c and _dsa.c files into a single accelerator
318 module, _fastmath.c.
319
5305fff [project @ akuchling-20030404225919-939985cdd158288b]
akuchling authored
320 * Speed improvements: Added fast isPrime() function to _fastmath,
321 cutting the time to generate a 1024-bit prime by a factor of 10.
322 Optimized the C version of RSA decryption to use a longer series
323 of operations that's roughly 3x faster than a single
324 exponentiation. (Contributed by Joris Bontje.)
25c6a1b [project @ akuchling-20030404023742-cfb9f99da7396ebc]
akuchling authored
325
a59d32d [project @ akuchling-20030404043120-aa3525a64e021693]
akuchling authored
326 * Added support to RSA key objects for blinding and unblinding
327 data. (Contributed by Joris Bontje.)
328
6d96fef [project @ akuchling-20030523193133-1d3dcfea4fa3993e]
akuchling authored
329 * Simplified RSA key generation: hard-wired the encryption
330 exponent to 65537 instead of generating a random prime;
331 generate prime factors in a loop until the product
332 is large enough.
a43a918 [project @ akuchling-20030405030339-a9b9f87ecb052f1a]
akuchling authored
333
5c1a5d0 [project @ akuchling-20030404043615-1825725f0edaa6ca]
akuchling authored
334 * Renamed cansign(), canencrypt(), hasprivate(), to
335 can_sign, can_encrypt, has_private. If people shriek about
336 this change very loudly, I'll add aliases for the old method
337 names that log a warning and call the new method.
338
25c6a1b [project @ akuchling-20030404023742-cfb9f99da7396ebc]
akuchling authored
339
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
340 1.9alpha5
341 =========
a8a47a7 [project @ amk-19981214021948-ae4d136d34b577c7]
amk authored
342
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
343 * Many randpool changes. RandomPool now has a
344 randomize(N:int) method that can be called to get N
345 bytes of entropy for the pool (N defaults to 0,
346 which 'fills up' the pool's entropy) KeyboardRandom
347 overloads this method.
5fc3c03 [project @ moraes-20021101013422-4183169bb5ae0427]
moraes authored
348
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
349 * Added src/winrand.c for Crypto.Util.winrandom and
350 now use winrandom for _randomize if possible.
351 (Calls Windows CryptoAPI CryptGenRandom)
5fc3c03 [project @ moraes-20021101013422-4183169bb5ae0427]
moraes authored
352
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
353 * Several additional places for stirring the pool,
354 capturing inter-event entropy when reading/writing,
355 stirring before and after saves.
5fc3c03 [project @ moraes-20021101013422-4183169bb5ae0427]
moraes authored
356
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
357 * RandomPool.add_event now returns the number of
358 estimated bits of added entropy, rather than the
359 pool entropy itself (since the pool entropy is
360 capped at the number of bits in the pool)
5fc3c03 [project @ moraes-20021101013422-4183169bb5ae0427]
moraes authored
361
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
362 * Moved termios code from KeyboardRandomPool into a
363 KeyboardEntry class, provided a version for Windows
364 using msvcrt.
5fc3c03 [project @ moraes-20021101013422-4183169bb5ae0427]
moraes authored
365
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
366 * Fix randpool.py crash on machines with poor timer resolution.
6056c25 [project @ akuchling-20030302041542-af00b6754af970a1]
akuchling authored
367 (Reported by Mark Moraes and others.)
e873f2f [project @ akuchling-20020906015358-a5d981c4c6ae5a7d]
akuchling authored
368
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
369 * If the GNU GMP library is available, two C extensions will be
370 compiled to speed up RSA and DSA operations. (Contributed by
371 Paul Swartz.)
53bbfc7 [project @ akuchling-20030301002607-a77cb4c379bd8aaa]
akuchling authored
372
373 * DES3 with a 24-byte key was broken; now fixed.
374 (Patch by Philippe Frycia.)
375
e873f2f [project @ akuchling-20020906015358-a5d981c4c6ae5a7d]
akuchling authored
376
9474a50 [project @ akuchling-20020619200712-cad045141fcd3c17]
akuchling authored
377 1.9alpha4
378 =========
379
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
380 * Fix compilation problem on Windows.
cfb925f [project @ akuchling-20020830013228-4d049843e304dfd4]
akuchling authored
381
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
382 * HMAC.py fixed to work with pre-2.2 Pythons
383
384 * setup.py now dies if built with Python 1.x
385
9474a50 [project @ akuchling-20020619200712-cad045141fcd3c17]
akuchling authored
386
394f166 [project @ akuchling-20020611191139-06b0643963436a68]
akuchling authored
387 1.9alpha3
388 =========
389
390 * Fix a ref-counting bug that caused core dumps.
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
391 (Reported by Piers Lauder and an anonymous SF poster.)
392
394f166 [project @ akuchling-20020611191139-06b0643963436a68]
akuchling authored
393
aa98fb4 [project @ akuchling-20020424212853-73ec5d3f9c2c3a8e]
akuchling authored
394 1.9alpha2
395 =========
396
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
397 * (Backwards incompatible) The old Crypto.Hash.HMAC module is
398 gone, replaced by a copy of hmac.py from Python 2.2's standard
399 library. It will display a warning on interpreter versions
400 older than 2.2.
401
402 * (Backwards incompatible) Restored the Crypto.Protocol package,
403 and modernized and tidied up the two modules in it,
404 AllOrNothing.py and Chaffing.py, renaming various methods
405 and changing the interface.
406
407 * (Backwards incompatible) Changed the function names in
408 Crypto.Util.RFC1751.
409
410 * Restored the Crypto.PublicKey package at user request. I
411 think I'll leave it in the package and warn about it in the
412 documentation. I hope that eventually I can point to
413 someone else's better public-key code, and at that point I
414 may insert warnings and begin the process of deprecating
415 this code.
416
417 * Fix use of a Python 2.2 C function, replacing it with a
418 2.1-compatible equivalent. (Bug report and patch by Andrew
419 Eland.)
420
421 * Fix endianness bugs that caused test case failures on Sparc,
422 PPC, and doubtless other platforms.
a177d30 [project @ akuchling-20020524212803-61f355dbc5fbed39]
akuchling authored
423
394f166 [project @ akuchling-20020611191139-06b0643963436a68]
akuchling authored
424 * Fixed compilation problem on FreeBSD and MacOS X.
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
425
426 * Expanded the test suite (requires Sancho, from
427 http://www.mems-exchange.org/software/sancho/)
f5580c2 [project @ akuchling-20020523205017-99f45a1a805d342a]
akuchling authored
428
a177d30 [project @ akuchling-20020524212803-61f355dbc5fbed39]
akuchling authored
429 * Added lots of docstrings, so 'pydoc Crypto' now produces
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
430 helpful output. (Open question: maybe *all* of the documentation
431 should be moved into docstrings?)
432
433 * Make test.py automatically add the build/* directory to sys.path.
434
435 * Removed 'inline' declaration from C functions. Some compilers
436 don't support it, and Python's pyconfig.h no longer tells you whether
437 it's supported or not. After this change, some ciphers got slower,
438 but others got faster.
439
440 * The C-level API has been changed to reduce the amount of
441 memory-to-memory copying. This makes the code neater, but
442 had ambiguous performance effects; again, some ciphers got slower
443 and others became faster. Probably this is due to my compiler
444 optimizing slightly worse or better as a result.
4f3c629 [project @ akuchling-20020501023434-db3483bd5cea772d]
akuchling authored
445
d7975e1 [project @ akuchling-20020517204551-2f4935413d362e06]
akuchling authored
446 * Moved C source implementations into src/ from block/, hash/,
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
447 and stream/. Having Hash/ and hash/ directories causes problems
448 on case-insensitive filesystems such as Mac OS.
aa98fb4 [project @ akuchling-20020424212853-73ec5d3f9c2c3a8e]
akuchling authored
449
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
450 * Cleaned up the C code for the extensions.
451
452
f62916d [project @ akuchling-20020404063314-df7c131904544253]
akuchling authored
453 1.9alpha1
454 =========
455
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
456 * Added Crypto.Cipher.AES.
216d53c [project @ akuchling-20020417191234-3397e6bbf8e92a58]
akuchling authored
457
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
458 * Added the CTR mode and the variable-sized CFB mode from the
bd728de [project @ akuchling-20020423035929-2b56e73c7ba7ed99]
akuchling authored
459 NIST standard on feedback modes.
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
460
461 * Removed Diamond, HAVAL, MD5, Sapphire, SHA, and Skipjack. MD5
462 and SHA are included with Python; the others are all of marginal
463 usefulness in the real world.
464
465 * Renamed the module-level constants ECB, CFB, &c., to MODE_ECB,
466 MODE_CFB, as part of making the block encryption modules
467 compliant with PEP 272. (I'm not sure about this change;
468 if enough users complain about it, I might back it out.)
469
470 * Made the hashing modules compliant with PEP 247 (not backward
471 compatible -- the major changes are that the constructor is now
472 MD2.new and not MD2.MD2, and the size of the digest is now
473 given as 'digest_size', not 'digestsize'.
474
475 * The Crypto.PublicKey package is no longer installed; the
476 interfaces are all wrong, and I have no idea what the right
477 interfaces should be.
8090f7d [project @ akuchling-20020409042351-554ff301e62e349b]
akuchling authored
478
479
f62916d [project @ akuchling-20020404063314-df7c131904544253]
akuchling authored
480 1.1alpha2
481 =========
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
482 * Most importantly, the distribution has been broken into two
a8a47a7 [project @ amk-19981214021948-ae4d136d34b577c7]
amk authored
483 parts: exportable, and export-controlled. The exportable part
484 contains all the hashing algorithms, signature-only public key
485 algorithms, chaffing & winnowing, random number generation, various
486 utility modules, and the documentation.
487
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
488 The export-controlled part contains public-key encryption
a8a47a7 [project @ amk-19981214021948-ae4d136d34b577c7]
amk authored
489 algorithms such as RSA and ElGamal, and bulk encryption algorithms
490 like DES, IDEA, or Skipjack. Getting this code still requires that
491 you go through an access control CGI script, and denies you access if
492 you're outside the US or Canada.
493
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
494 * Added the RIPEMD hashing algorithm. (Contributed by
a8a47a7 [project @ amk-19981214021948-ae4d136d34b577c7]
amk authored
495 Hirendra Hindocha.)
496
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
497 * Implemented the recently declassified Skipjack block
a8a47a7 [project @ amk-19981214021948-ae4d136d34b577c7]
amk authored
498 encryption algorithm. My implementation runs at 864 K/sec on a
499 PII/266, which isn't particularly fast, but you're probably better off
500 using another algorithm anyway. :)
501
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
502 * A simple XOR cipher has been added, mostly for use by the
a8a47a7 [project @ amk-19981214021948-ae4d136d34b577c7]
amk authored
503 chaffing/winnowing code. (Contributed by Barry Warsaw.)
504
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
505 * Added Protocol.Chaffing and Hash.HMAC.py. (Contributed by
a8a47a7 [project @ amk-19981214021948-ae4d136d34b577c7]
amk authored
506 Barry Warsaw.)
507
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
508 Protocol.Chaffing implements chaffing and winnowing, recently
a8a47a7 [project @ amk-19981214021948-ae4d136d34b577c7]
amk authored
509 proposed by R. Rivest, which hides a message (the wheat) by adding
510 many noise messages to it (the chaff). The chaff can be discarded by
511 the receiver through a message authentication code. The neat thing
512 about this is that it allows secret communication without actually
513 having an encryption algorithm, and therefore this falls within the
514 exportable subset.
515
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
516 * Tidied up randpool.py, and removed its use of a block
a8a47a7 [project @ amk-19981214021948-ae4d136d34b577c7]
amk authored
517 cipher; this makes it work with only the export-controlled subset
518 available.
519
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
520 * Various renamings and reorganizations, mostly internal.
93d43d5 [project @ akuchling-20020423042523-8468cdf13ca2bf41]
akuchling authored
521
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
522
93d43d5 [project @ akuchling-20020423042523-8468cdf13ca2bf41]
akuchling authored
523 1.0.2
524 =====
a8a47a7 [project @ amk-19981214021948-ae4d136d34b577c7]
amk authored
525
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
526 * Changed files to work with Python 1.5; everything has been
a8a47a7 [project @ amk-19981214021948-ae4d136d34b577c7]
amk authored
527 re-arranged into a hierarchical package. (Not backward compatible.)
528 The package organization is:
529 Crypto.
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
530 Hash.
531 MD2, MD4, MD5, SHA, HAVAL
532 Cipher.
533 ARC2, ARC4, Blowfish, CAST, DES, DES3, Diamond,
534 IDEA, RC5, Sapphire
535 PublicKey.
536 DSA, ElGamal, qNEW, RSA
537 Util.
538 number, randpool, RFC1751
a8a47a7 [project @ amk-19981214021948-ae4d136d34b577c7]
amk authored
539
540 Since this is backward-incompatible anyway, I also changed
541 module names from all lower-case to mixed-case: diamond -> Diamond,
542 rc5 -> RC5, etc. That had been an annoying inconsistency for a while.
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
543
544 * Added CAST5 module contributed by <wiml@hhhh.org>.
a8a47a7 [project @ amk-19981214021948-ae4d136d34b577c7]
amk authored
545
546 * Added qNEW digital signature algorithm (from the digisign.py
547 I advertised a while back). (If anyone would like to suggest new
548 algorithms that should be implemented, please do; I think I've got
549 everything that's really useful at the moment, but...)
550
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
551 * Support for keyword arguments has been added. This allowed
a8a47a7 [project @ amk-19981214021948-ae4d136d34b577c7]
amk authored
552 removing the obnoxious key handling for Diamond and RC5, where the
553 first few bytes of the key indicated the number of rounds to use, and
554 various other parameters. Now you need only do something like:
555
556 from Crypto.Cipher import RC5
557 obj = RC5.new(key, RC5.ECB, rounds=8)
558
559 (Not backward compatible.)
560
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
561 * Various function names have been changed, and parameter
a8a47a7 [project @ amk-19981214021948-ae4d136d34b577c7]
amk authored
562 names altered. None of these were part of the public interface, so it
563 shouldn't really matter much.
564
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
565 * Various bugs fixed, the test suite has been expanded, and
a8a47a7 [project @ amk-19981214021948-ae4d136d34b577c7]
amk authored
566 the build process simplified.
567
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
568 * Updated the documentation accordingly.
a8a47a7 [project @ amk-19981214021948-ae4d136d34b577c7]
amk authored
569
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
570
93d43d5 [project @ akuchling-20020423042523-8468cdf13ca2bf41]
akuchling authored
571 1.0.1
572 =====
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
573
574 * Changed files to work with Python 1.4 .
a8a47a7 [project @ amk-19981214021948-ae4d136d34b577c7]
amk authored
575
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
576 * The DES and DES3 modules now automatically correct the
a8a47a7 [project @ amk-19981214021948-ae4d136d34b577c7]
amk authored
577 parity of their keys.
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
578
579 * Added R. Rivest's DES test (see http://theory.lcs.mit.edu/~rivest/destest.txt)
a8a47a7 [project @ amk-19981214021948-ae4d136d34b577c7]
amk authored
580
93d43d5 [project @ akuchling-20020423042523-8468cdf13ca2bf41]
akuchling authored
581
582 1.0.0
583 =====
a8a47a7 [project @ amk-19981214021948-ae4d136d34b577c7]
amk authored
584
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
585 * REDOC III succumbed to differential cryptanalysis, and has
a8a47a7 [project @ amk-19981214021948-ae4d136d34b577c7]
amk authored
586 been removed.
587
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
588 * The crypt and rotor modules have been dropped; they're still
a8a47a7 [project @ amk-19981214021948-ae4d136d34b577c7]
amk authored
589 available in the standard Python distribution.
590
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
591 * The Ultra-Fast crypt() module has been placed in a separate
93d43d5 [project @ akuchling-20020423042523-8468cdf13ca2bf41]
akuchling authored
592 distribution.
a8a47a7 [project @ amk-19981214021948-ae4d136d34b577c7]
amk authored
593
3cc5b27 [project @ akuchling-20021121220043-25721664ba858031]
akuchling authored
594 * Various bugs fixed.
Something went wrong with that request. Please try again.