cpython/Modules/_hacl
Bénédikt Tran 5f2ba152a0
gh-131298: eliminate HACL* static libraries for cryptographic modules (GH-132438)
* simplify HACL* build for MD5, SHA1, SHA2 and SHA3 modules

* remove statically linked libraries for HACL* implementation

* is it better now?

* is it better now?

* fixup

* Present HACL* as a static or shared library.

On WASI, extension modules based on HACL* require the HACL*
library to be linked statically. On other platforms, it can
be built dynamically.

* amend whitespace

* remove temporary .so file as it requires more symlinks

* avoid smelly symbols

* fixup checksums

* regen sbom

* fixup shell warnings and comments

* it *should* work
2025-04-20 17:40:17 +00:00
..
include/krml gh-130213: update hacl_star_rev to 322f6d58290e0ed7f4ecb84fcce12917aa0f594b (GH-130960) 2025-03-15 10:42:27 -07:00
internal gh-99108: Implement HACL* HMAC (#130157) 2025-04-04 19:04:00 +02:00
Hacl_HMAC.c gh-99108: Implement HACL* HMAC (#130157) 2025-04-04 19:04:00 +02:00
Hacl_HMAC.h gh-99108: Implement HACL* HMAC (#130157) 2025-04-04 19:04:00 +02:00
Hacl_Hash_Blake2b.c gh-130213: update hacl_star_rev to 322f6d58290e0ed7f4ecb84fcce12917aa0f594b (GH-130960) 2025-03-15 10:42:27 -07:00
Hacl_Hash_Blake2b.h gh-130213: update hacl_star_rev to 322f6d58290e0ed7f4ecb84fcce12917aa0f594b (GH-130960) 2025-03-15 10:42:27 -07:00
Hacl_Hash_Blake2b_Simd256.c gh-130213: update hacl_star_rev to 322f6d58290e0ed7f4ecb84fcce12917aa0f594b (GH-130960) 2025-03-15 10:42:27 -07:00
Hacl_Hash_Blake2b_Simd256.h gh-130213: update hacl_star_rev to 322f6d58290e0ed7f4ecb84fcce12917aa0f594b (GH-130960) 2025-03-15 10:42:27 -07: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-130213: update hacl_star_rev to 322f6d58290e0ed7f4ecb84fcce12917aa0f594b (GH-130960) 2025-03-15 10:42:27 -07:00
Hacl_Hash_Blake2s.h gh-130213: update hacl_star_rev to 322f6d58290e0ed7f4ecb84fcce12917aa0f594b (GH-130960) 2025-03-15 10:42:27 -07:00
Hacl_Hash_Blake2s_Simd128.c gh-130213: update hacl_star_rev to 322f6d58290e0ed7f4ecb84fcce12917aa0f594b (GH-130960) 2025-03-15 10:42:27 -07:00
Hacl_Hash_Blake2s_Simd128.h gh-130213: update hacl_star_rev to 322f6d58290e0ed7f4ecb84fcce12917aa0f594b (GH-130960) 2025-03-15 10:42:27 -07: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-130213: update hacl_star_rev to 322f6d58290e0ed7f4ecb84fcce12917aa0f594b (GH-130960) 2025-03-15 10:42:27 -07:00
Hacl_Hash_MD5.h gh-130213: update hacl_star_rev to 322f6d58290e0ed7f4ecb84fcce12917aa0f594b (GH-130960) 2025-03-15 10:42:27 -07:00
Hacl_Hash_SHA1.c gh-130213: update hacl_star_rev to 322f6d58290e0ed7f4ecb84fcce12917aa0f594b (GH-130960) 2025-03-15 10:42:27 -07:00
Hacl_Hash_SHA1.h gh-130213: update hacl_star_rev to 322f6d58290e0ed7f4ecb84fcce12917aa0f594b (GH-130960) 2025-03-15 10:42:27 -07:00
Hacl_Hash_SHA2.c gh-130213: update hacl_star_rev to 322f6d58290e0ed7f4ecb84fcce12917aa0f594b (GH-130960) 2025-03-15 10:42:27 -07:00
Hacl_Hash_SHA2.h gh-130213: update hacl_star_rev to 322f6d58290e0ed7f4ecb84fcce12917aa0f594b (GH-130960) 2025-03-15 10:42:27 -07:00
Hacl_Hash_SHA3.c gh-130213: update hacl_star_rev to 322f6d58290e0ed7f4ecb84fcce12917aa0f594b (GH-130960) 2025-03-15 10:42:27 -07:00
Hacl_Hash_SHA3.h gh-130213: update hacl_star_rev to 322f6d58290e0ed7f4ecb84fcce12917aa0f594b (GH-130960) 2025-03-15 10:42:27 -07:00
Hacl_Streaming_HMAC.c gh-99108: Implement HACL* HMAC (#130157) 2025-04-04 19:04:00 +02:00
Hacl_Streaming_HMAC.h gh-99108: Implement HACL* HMAC (#130157) 2025-04-04 19:04:00 +02:00
Hacl_Streaming_Types.h gh-130213: update hacl_star_rev to 322f6d58290e0ed7f4ecb84fcce12917aa0f594b (GH-130960) 2025-03-15 10:42:27 -07:00
Lib_Memzero0.c gh-130213: update hacl_star_rev to 322f6d58290e0ed7f4ecb84fcce12917aa0f594b (GH-130960) 2025-03-15 10:42:27 -07:00
README.md gh-99108: Implement HACL* HMAC (#130157) 2025-04-04 19:04:00 +02:00
lib_memzero0.h gh-131298: eliminate HACL* static libraries for cryptographic modules (GH-132438) 2025-04-20 17:40:17 +00:00
libintvector-shim.h gh-99108: Implement HACL* HMAC (#130157) 2025-04-04 19:04:00 +02:00
libintvector.h gh-130213: update hacl_star_rev to 322f6d58290e0ed7f4ecb84fcce12917aa0f594b (GH-130960) 2025-03-15 10:42:27 -07:00
python_hacl_namespaces.h gh-131298: eliminate HACL* static libraries for cryptographic modules (GH-132438) 2025-04-20 17:40:17 +00:00
refresh.sh gh-131298: eliminate HACL* static libraries for cryptographic modules (GH-132438) 2025-04-20 17:40:17 +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

ACKS