cpython/Modules/_hacl
Jonathan Protzenko 7d7dd4cd70
gh-99108: Refresh HACL* from upstream (#104401)
Refresh HACL* from upstream and add a SHA3 test hashing over 4GiB of data.
2023-05-11 21:23:52 +00:00
..
include/krml gh-99108: Replace SHA3 implementation HACL* version (#103597) 2023-05-07 20:50:04 -07:00
internal gh-99108: Replace SHA3 implementation HACL* version (#103597) 2023-05-07 20:50:04 -07:00
Hacl_Hash_MD5.c gh-99108: Import MD5 and SHA1 from HACL* (#102089) 2023-02-22 13:18:43 -08:00
Hacl_Hash_MD5.h gh-99108: Import MD5 and SHA1 from HACL* (#102089) 2023-02-22 13:18:43 -08:00
Hacl_Hash_SHA1.c gh-99108: Import MD5 and SHA1 from HACL* (#102089) 2023-02-22 13:18:43 -08:00
Hacl_Hash_SHA1.h gh-99108: Import MD5 and SHA1 from HACL* (#102089) 2023-02-22 13:18:43 -08:00
Hacl_Hash_SHA3.c gh-99108: Refresh HACL* from upstream (#104401) 2023-05-11 21:23:52 +00:00
Hacl_Hash_SHA3.h gh-99108: Replace SHA3 implementation HACL* version (#103597) 2023-05-07 20:50:04 -07:00
Hacl_Streaming_SHA2.c gh-99108: Import MD5 and SHA1 from HACL* (#102089) 2023-02-22 13:18:43 -08:00
Hacl_Streaming_SHA2.h gh-99108: Import MD5 and SHA1 from HACL* (#102089) 2023-02-22 13:18:43 -08:00
Hacl_Streaming_Types.h gh-99108: Replace SHA3 implementation HACL* version (#103597) 2023-05-07 20:50:04 -07:00
python_hacl_namespaces.h gh-99108: Replace SHA3 implementation HACL* version (#103597) 2023-05-07 20:50:04 -07:00
README.md gh-99108: Replace SHA2-224 & 256 with verified code from HACL* (#99109) 2023-02-06 18:11:01 -08:00
refresh.sh gh-99108: Refresh HACL* from upstream (#104401) 2023-05-11 21:23:52 +00:00

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