Python hashlib 的 sha256 是否采用 Intel SHA 扩展?

问题描述 投票:0回答:1

CPython hashlib 的 SHA256 是否采用 Intel SHA 扩展 ?如果是,从哪个版本开始?

由于 CPython 使用 OpenSSL 作为其加密原语,它还应该使用其硬件加速功能(AESNI-SHA256 已于 2015 年 1 月 22 日在 1.0.1l 和 1.0.2 之间添加到 OpenSSL 中),但我不知道是否和从使用 SHA256 硬件加速开始。我试图理解 sha256module.c 源代码,但迷失在抽象中:(

额外问题:据我所知,Windows 版本的 CPython 静态链接 OpenSSL。它什么时候升级到理论上可以使用 SHA-NI 的 OpenSSL 版本,以及:它使用它们吗? (抱歉,我什至无法通过 Google

that

sha256 cpython instruction-set hardware-acceleration
1个回答
0
投票
CPython 多年来一直使用 OpenSSL 的哈希原语。

OpenSSL 在 1.0.2 中添加了硬件加速 SHA256 [2015 年 1 月 22 日]。从变更日志:

* Support for new and upcoming Intel processors, including AVX2, BMI and SHA ISA extensions. This includes additional "stitched" implementations, AESNI-SHA256 and GCM, and multi-buffer support for TLS encrypt. This work was sponsored by Intel Corp.
这意味着自 3.5 起,CPython 至少在某些平台上支持硬件辅助 SHA256 哈希。

在 Python 3.12 中,CPython 改用 HACL(请参阅

提交,以及基准测试结果),这显着提高了哈希性能。

© www.soinside.com 2019 - 2024. All rights reserved.