Replace built-in hashlib with verified implementations from HACL* · Issue #99108 · python/cpython · GitHub

github.com

Tin mới

GitHub CopilotWrite better code with AI

GitHub Copilot appDirect agents from issue to merge

ActionsAutomate any workflow

CodespacesInstant dev environments

IssuesPlan and track work

Code ReviewManage code changes

Code QualityEnforce quality at merge

GitHub Advanced SecurityFind and fix vulnerabilities

Code securitySecure your code as you build

Secret protectionStop leaks before they start

View all use cases

Financial services

View all industries

Software Development

GitHub SponsorsFund open source developers

Copilot for BusinessEnterprise-grade AI features

Premium SupportEnterprise-grade 24/7 support

Pull requests 2.6k

Security and quality 0

stdlibStandard Library Python modules in the Lib/ directory

type-featureA feature request or enhancement

https://github.com/hacl-star/hacl-star

We propose to replace the non-OpenSSL cryptographic primitives in hashlib with high-assurance, verified versions from the HACL* project.

gh-99108: Import SHA2-224 and SHA2-256 from HACL* #99109

gh-99108: Import SHA2-384/512 from HACL* #101707

gh-99108: Build the hashlib HACL* code as a static library. (fix wasm builds) #101917

gh-99108: Refactor _sha256 & _sha512 into _sha2. #101924

gh-99108: Import MD5 and SHA1 from HACL* #102089

gh-99108: Followup fix for Modules/Setup #102183

gh-99108: Add missing md5/sha1 defines to Modules/Setup #102308

gh-99108: Initial import of HACL-SHA3 into Python #103597

gh-99108: fix typo in Modules/Setup #104293

gh-99108: Refresh HACL* from upstream #104401

gh-99108: Release the GIL around hashlib built-in computation #104675

[3.12] gh-99108: Release the GIL around hashlib built-in computation (GH-104675) #104776

gh-99108: Refresh HACL* #104808

[3.12] gh-99108: Refresh HACL* (GH-104808) #104893

gh-99108: Mention HACL\* in the hashlib docs. #105634

[3.12] gh-99108: Mention HACL\* in the hashlib docs. (GH-105634) #105635

gh-99108: Refresh HACL*; update modules accordingly; fix namespacing #117237

[3.12] gh-99108: Refresh HACL*; update modules accordingly; fix namespacing (GH-117237) #117243

gh-99108: Update and check HACL* version information #117295

[3.12] gh-99108: Update and check HACL* version information (GH-117295) #117302

gh-99108: Add HACL* Blake2 implementation to hashlib #119316

gh-99108: Inform HACL when explicit_bzero is unavailable #123027

GH-99108: Fix Setup in addition to Setup.stdlib.in #123146

gh-99108: Disable HACL SIMD code on older versions of Android #124304

GH-99108: Make vectorized versions of Blake2 available on x86, too #125244

gh-99108: Cleanup references to inexisting Modules/_blake2. #126270

gh-99108: add HACL*-based 1-shot HMAC implementation #126359

gh-99108: Implement HACL* HMAC #130157