Christian Heimes added the comment:
I have SHA-3, SHAKE and BLAKE2s / BLAKE2b on my radar.
PEP 247 and the current API definition of the hashlib module is too limited for
the new hashing algorithms. It lacks variable output for SHAKE as well as salt
and personalization for BLAKE. I started to work on PEP 452 while I was working
on SHA-3 support for Python 3. The PEP is still work-in-progress. I can address
the needs of BLAKE and submit the PEP to a formal review.
I'm already working on OpenSSL 1.1.0 support for Python. blake will be
automatically supported with OpenSSL builds. See for yourself:
$ ./python
Python 3.6.0a0 (default, Apr 18 2016, 21:16:54)
[GCC 5.3.1 20160406 (Red Hat 5.3.1-6)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import hashlib
>>> import ssl
>>> ssl.OPENSSL_VERSION
'OpenSSL 1.1.0-pre5-dev xx XXX xxxx'
>>> hashlib.new('BLAKE2s256').hexdigest()
'69217a3079908094e11121d042354a7c1f55b6482ca1a51e1b250dfd1ed0eef9'
Donald:
I love to add SHA-3 support to Python. After all I had a working patch for
SHA-3 before NIST changed the padding. Now my old patch is worthless. The new
reference implementations are either too complicated (spread across like twenty
files for various optimizations) or are one-shot implementations. I'm still
looking for a good implementation that supports incremental updates, copy and
SHAKE at the same time.
----------
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue26798>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com