tree: 98fa9b9571654f5fbb2bc8f56af2485baab767ac [path history] [tgz]
  1. asm/
  2. BUILD.gn
  3. curve25519_32.h
  4. curve25519_64.h
  5. curve25519_64_adx.h
  6. curve25519_64_msvc.h
  7. LICENSE
  8. METADATA
  9. p256_32.h
  10. p256_64.h
  11. p256_64_msvc.h
  12. README.chromium
  13. README.md
third_party/fiat/README.md

Fiat Cryptography

The files in this directory are generated using Fiat Cryptography from the associated library of arithmetic-implementation templates. These files are included under the MIT license. (See LICENSE file.)

Some files are included directly from the fiat-c/src directory of the Fiat Cryptography repository. Their contents are #included into source files, so we rename them to .h. Implementations that use saturated arithmetic on 64-bit words are further manually edited to use platform-appropriate incantations for operations such as addition with carry; these changes are marked with “NOTE: edited after generation”.

CryptOpt

Files in the asm directory are compiled from Fiat-Cryptography templates using CryptOpt. These generated assembly files have been edited to support call-stack unwinding. The modified files have been checked for functional correctness using the CryptOpt translation validator that is included in the Fiat-Cryptography repository. Correct unwinding and manual assembler-directive changes related to object-file conventions are validated using unit tests.