1
1
mirror of https://github.com/henrydcase/pqc.git synced 2024-11-22 07:35:38 +00:00

Checkboxes

This commit is contained in:
Thom Wiggers 2019-01-12 12:18:32 -08:00
parent ab412bda38
commit 06dcca459e
No known key found for this signature in database
GPG Key ID: 001BB0A7CE26E363

View File

@ -22,29 +22,31 @@ listed below.
## Requirements on C implementations that are automatically checked ## Requirements on C implementations that are automatically checked
* Code is valid C99 _The checking of items on this list is still being developed. Checked items should be working._
* Passes functional tests
* API functions do not write outside provided buffers * [ ] Code is valid C99
* Compiles with `-Wall -Wextra -Wpedantic -Werror` with `gcc` and `clang` * [ ] Passes functional tests
* Consistent test vectors across runs * [ ] API functions do not write outside provided buffers
* Consistent test vectors on big-endian and little-endian machines * [ ] Compiles with `-Wall -Wextra -Wpedantic -Werror` with `gcc` and `clang`
* Consistent test vectors on 32-bit and 64-bit machines * [ ] Consistent test vectors across runs
* No errors/warnings reported by valgrind * [ ] Consistent test vectors on big-endian and little-endian machines
* No errors/warnings reported by address sanitizer * [ ] Consistent test vectors on 32-bit and 64-bit machines
* Only dependencies: * [ ] No errors/warnings reported by valgrind
* `common_crypto.c` (Keccak, AES, SHA-2) * [ ] No errors/warnings reported by address sanitizer
* `randombytes.c` * [ ] Only dependencies:
* API functions return `0` on success, negative on failure * [ ] `common_crypto.c` (Keccak, AES, SHA-2)
* No dynamic memory allocations * [ ] `randombytes.c`
* No branching on secret data (dynamically checked using valgrind) * [ ] API functions return `0` on success, negative on failure
* No access to secret memory locations (dynamically checked using valgrind) * [ ] No dynamic memory allocations
* Separate subdirectories (without symlinks) for each parameter set of each scheme * [ ] No branching on secret data (dynamically checked using valgrind)
* Builds under Linux, MacOS, and Windows * [ ] No access to secret memory locations (dynamically checked using valgrind)
* Makefile-based build for each separate scheme * [ ] Separate subdirectories (without symlinks) for each parameter set of each scheme
* Makefile-based build for Windows (`nmake`) * [ ] Builds under Linux, MacOS, and Windows
* All exported symbols are namespaced with `PQCLEAN_SCHEMENAME_` * [ ] Makefile-based build for each separate scheme
* Each implementation comes with a `LICENSE` file (see below) * [ ] Makefile-based build for Windows (`nmake`)
* Each implementation comes with a `META` file giving details about version of the algorithm, designers, etc. * [ ] All exported symbols are namespaced with `PQCLEAN_SCHEMENAME_`
* [ ] Each implementation comes with a `LICENSE` file (see below)
* [ ] Each implementation comes with a `META` file giving details about version of the algorithm, designers, etc.
## Requirements on C implementations that are manually checked ## Requirements on C implementations that are manually checked