README.md
1# Algorithm implementations used by the `hashlib` module.
2
3This code comes from the
4[HACL\*](https://github.com/hacl-star/hacl-star/) project.
5
6HACL\* is a cryptographic library that has been formally verified for memory
7safety, functional correctness, and secret independence.
8
9## Updating HACL*
10
11Use the `refresh.sh` script in this directory to pull in a new upstream code
12version. The upstream git hash used for the most recent code pull is recorded
13in the script. Modify the script as needed to bring in more if changes are
14needed based on upstream code refactoring.
15
16Never manually edit HACL\* files. Always add transformation shell code to the
17`refresh.sh` script to perform any necessary edits. If there are serious code
18changes needed, work with the upstream repository.
19
20## Local files
21
221. `./include/python_hacl_namespaces.h`
231. `./README.md`
241. `./refresh.sh`
25
26## ACKS
27
28* Jonathan Protzenko aka [@msprotz on Github](https://github.com/msprotz)
29contributed our HACL\* based builtin code.
30