| # Algorithm implementations used by the `hashlib` module. | |
| This code comes from the | |
| [HACL\*](https://github.com/hacl-star/hacl-star/) 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](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 | |
| * [python_hacl_namespaces.h](python_hacl_namespaces.h) | |
| * [README.md](README.md) | |
| * [refresh.sh](refresh.sh) | |
| ## ACKS | |
| * Jonathan Protzenko aka [@msprotz on Github](https://github.com/msprotz) | |
| contributed our HACL\* based builtin code. |