Commit graph

13 commits

Author SHA1 Message Date
Helder Eijs
f5735b2c2c Update to docs: memoryview for hash functions 2018-04-01 21:47:11 +02:00
Helder Eijs
62ce7a97c1 Better name for type conversion helper 2018-03-06 13:48:00 +01:00
Helder Eijs
c1112c5175 Make it work in Python 2.6; update to docs 2018-03-06 11:56:19 +01:00
Helder Eijs
3b317be2a6 Add support for bytearray's in ciphers
[skip ci]
2018-03-06 08:25:42 +01:00
Helder Eijs
f29343c6f1 Extend optimization to MD5, SHA1, SHA224, SHA384 and SHA512 2018-02-24 17:44:35 +01:00
Helder Eijs
9ed077d752 Clean up SHA1 code 2018-02-24 16:53:48 +01:00
Helder Eijs
53d5175c4e Replace Crypto.Hash.SHA1 with native implementation 2018-02-21 21:44:40 +01:00
Helder Eijs
f6e57ab0f6 Add all remaining hashes to new API 2017-08-12 23:43:45 +02:00
Legrandin
c85dfa7953 Add Crypto.Signature.pkcs1_v1_5 module with NIST test vectors
Crypto.Signature.PKCS1_v1_5 is reverted to old behavior it
had in PyCrypto (verify raises no exception; it only returns
True or False).
2015-07-10 19:19:13 +00:00
Legrandin
d83380a048 Removed support for Python<2.4 2014-06-16 20:36:35 +02:00
Dwayne Litzenberger
fd398a28e3 Hash: Speed up initialization by removing pure-Python wrappers
The pure Python wrappers around Crypto.Hash.* were convenient, but they
slowed down hash initialization by 4-7x.

There is a speed trade-off here: The MD5 and SHA1 objects are just
wrapped hashlib objects (or old-style md5/sha objects).  To maintain API
compatibility with the rest of PyCrypto, we still have to wrap them, so
they're slower to initialize than the rest of the hash functions.  If
hashlib ever adds a .new() method, we will automatically use hashlib
directly and gain the initialization speed-up.
2013-02-17 20:07:02 -08:00
Dwayne Litzenberger
59018ff99c Hash: Remove "oid" attributes; add "name" attribute
In PyCrypto v2.5, the "oid" attribute was added to hash objects.  In
retrospect, this was not a good idea, since the OID is not really a
property of the hash algorithm, it's a protocol-specific identifer for
the hash functions.  PKCS#1 v1.5 uses it, but other protocols (e.g.
OpenPGP, DNSSEC, SSH, etc.) use different identifiers, and it doesn't make
sense to add these to Crypto.Hash.* every time a new algorithm is added.

This also has the benefit of being compatible with the Python standard
library's "hashlib" objects, which also have a name attribute.
2013-02-17 19:00:50 -08:00
Dwayne Litzenberger
755375bb7d Hash: Rename SHA->SHA1 and RIPEMD->RIPEMD160 (1/2)
These algorithm names were confusing, because there are actually
algorithms called "SHA" (a.k.a. SHA-0) and "RIPEMD" (the original
version).

This commit just renames the modules, with no backward-compatibility
support.
2013-02-16 16:20:23 -08:00
Renamed from lib/Crypto/Hash/SHA.py (Browse further)