This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author christian.heimes
Recipients christian.heimes, gregory.p.smith
Date 2022-03-22.19:51:17
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1647978677.39.0.283744368692.issue47095@roundup.psfhosted.org>
In-reply-to
Content
Python's blake2 implementation provides hashing, MAC (key, salt, personalization), variable length output, and tree hashing [1]. All features except for tree hashing are provided by OpenSSL 3.0.0 and newer [2]. It is unlikely that OpenSSL will get tree hashing any time soon, if all. [3]

I would like to remove our vendored copy of blake2 eventually and just rely on OpenSSL. Therefore I propose to deprecate tree hashing feature so we can drop it in Python 3.13. The tree hashing parameters are: fanout, depth, leaf_size, node_offset, node_depth, inner_size, last_node

Note: OpenSSL 3.0 might impose additional restrictions on the parameter. It might be possible that OpenSSL does not support salt and personalization (OSSL_MAC_PARAM_CUSTOM) without a MAC key.

Alternatively we could replace our copy of blake2 and depend on libb2 from https://blake2.net/. libb2 is available in Fedora.

[1] https://docs.python.org/3/library/hashlib.html#hashlib.blake2b
[2] https://www.openssl.org/docs/manmaster/man7/EVP_MAC-BLAKE2.html
[3] https://github.com/openssl/openssl/issues/980
History
Date User Action Args
2022-03-22 19:51:17christian.heimessetrecipients: + christian.heimes, gregory.p.smith
2022-03-22 19:51:17christian.heimessetmessageid: <1647978677.39.0.283744368692.issue47095@roundup.psfhosted.org>
2022-03-22 19:51:17christian.heimeslinkissue47095 messages
2022-03-22 19:51:17christian.heimescreate