cpython/Modules/_hacl
Jonathan Protzenko 528bbab96f
GH-99108: Make vectorized versions of Blake2 available on x86, too (#125244)
Accomplished by updating HACL* vendored code from hacl-star/hacl-star@a6a09496d9 to hacl-star/hacl-star@315a9e491d

Co-authored-by: Victor Stinner <vstinner@python.org>
Co-authored-by: Zachary Ware <zach@python.org>
2024-10-17 15:08:43 +00:00
..
include/krml GH-99108: Make vectorized versions of Blake2 available on x86, too (#125244) 2024-10-17 15:08:43 +00:00
internal gh-99108: Add HACL* Blake2 implementation to hashlib (GH-119316) 2024-08-13 21:42:19 +00:00
Hacl_Hash_Blake2b.c GH-99108: Make vectorized versions of Blake2 available on x86, too (#125244) 2024-10-17 15:08:43 +00:00
Hacl_Hash_Blake2b.h gh-99108: Add HACL* Blake2 implementation to hashlib (GH-119316) 2024-08-13 21:42:19 +00:00
Hacl_Hash_Blake2b_Simd256.c GH-99108: Make vectorized versions of Blake2 available on x86, too (#125244) 2024-10-17 15:08:43 +00:00
Hacl_Hash_Blake2b_Simd256.h gh-99108: Add HACL* Blake2 implementation to hashlib (GH-119316) 2024-08-13 21:42:19 +00:00
Hacl_Hash_Blake2b_Simd256_universal2.c gh-123748: Add conditional compilation rules for HACL SIMD256 and SIMD128 on macOS (#123989) 2024-09-16 12:23:05 +08:00
Hacl_Hash_Blake2s.c GH-99108: Make vectorized versions of Blake2 available on x86, too (#125244) 2024-10-17 15:08:43 +00:00
Hacl_Hash_Blake2s.h gh-99108: Add HACL* Blake2 implementation to hashlib (GH-119316) 2024-08-13 21:42:19 +00:00
Hacl_Hash_Blake2s_Simd128.c GH-99108: Make vectorized versions of Blake2 available on x86, too (#125244) 2024-10-17 15:08:43 +00:00
Hacl_Hash_Blake2s_Simd128.h gh-99108: Add HACL* Blake2 implementation to hashlib (GH-119316) 2024-08-13 21:42:19 +00:00
Hacl_Hash_Blake2s_Simd128_universal2.c gh-123748: Add conditional compilation rules for HACL SIMD256 and SIMD128 on macOS (#123989) 2024-09-16 12:23:05 +08:00
Hacl_Hash_MD5.c gh-99108: Refresh HACL*; update modules accordingly; fix namespacing (GH-117237) 2024-03-26 00:35:26 +00:00
Hacl_Hash_MD5.h gh-99108: Refresh HACL*; update modules accordingly; fix namespacing (GH-117237) 2024-03-26 00:35:26 +00:00
Hacl_Hash_SHA1.c gh-99108: Refresh HACL*; update modules accordingly; fix namespacing (GH-117237) 2024-03-26 00:35:26 +00:00
Hacl_Hash_SHA1.h gh-99108: Refresh HACL*; update modules accordingly; fix namespacing (GH-117237) 2024-03-26 00:35:26 +00:00
Hacl_Hash_SHA2.c gh-99108: Refresh HACL*; update modules accordingly; fix namespacing (GH-117237) 2024-03-26 00:35:26 +00:00
Hacl_Hash_SHA2.h gh-99108: Refresh HACL*; update modules accordingly; fix namespacing (GH-117237) 2024-03-26 00:35:26 +00:00
Hacl_Hash_SHA3.c gh-99108: Add HACL* Blake2 implementation to hashlib (GH-119316) 2024-08-13 21:42:19 +00:00
Hacl_Hash_SHA3.h gh-99108: Add HACL* Blake2 implementation to hashlib (GH-119316) 2024-08-13 21:42:19 +00:00
Hacl_Streaming_Types.h gh-99108: Refresh HACL* (#104808) 2023-05-24 13:30:11 -07:00
Lib_Memzero0.c gh-123718: Fix implicit declaration of 'explicit_memset' for NetBSD 10.0 (#123719) 2024-09-06 00:09:04 +00:00
README.md
lib_memzero0.h gh-99108: Add HACL* Blake2 implementation to hashlib (GH-119316) 2024-08-13 21:42:19 +00:00
libintvector.h GH-99108: Make vectorized versions of Blake2 available on x86, too (#125244) 2024-10-17 15:08:43 +00:00
python_hacl_namespaces.h gh-99108: Add HACL* Blake2 implementation to hashlib (GH-119316) 2024-08-13 21:42:19 +00:00
refresh.sh GH-99108: Make vectorized versions of Blake2 available on x86, too (#125244) 2024-10-17 15:08:43 +00:00

README.md

Algorithm implementations used by the hashlib module.

This code comes from the HACL* project.

HACL* is a cryptographic library that has been formally verified for memory safety, functional correctness, and secret independence.

Updating HACL*

Use the refresh.sh script in this directory to pull in a new upstream code version. The upstream git hash used for the most recent code pull is recorded in the script. Modify the script as needed to bring in more if changes are needed based on upstream code refactoring.

Never manually edit HACL* files. Always add transformation shell code to the refresh.sh script to perform any necessary edits. If there are serious code changes needed, work with the upstream repository.

Local files

  1. ./include/python_hacl_namespaces.h
  2. ./README.md
  3. ./refresh.sh

ACKS