| # 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` 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` | |
| 1. `./README.md` | |
| 1. `./refresh.sh` | |
| ## ACKS | |
| * Jonathan Protzenko aka [@msprotz on Github](https://github.com/msprotz) | |
| contributed our HACL\* based builtin code. |