@@ -19,14 +19,17 @@ See the section [API](#API) below.
For now, we only accept **pure, portable C code**. Our coding conventions impose certain constraints on the C code -- C99 code, fixed sized integer types (e.g., `uint64_t` rather than `unsigned long long`), and more. See README.md for more information.
3. Create a `META.yml` file in `crypto_kem/yourschemename` following this template:
3. Create a `META.yml` file in `crypto_(kem|sign)/yourschemename` following this template:
```yaml
name: Name
type: <kem|signature>
claimed-nist-level: <N>
length-public-key: <N>
length-ciphertext: <N>
length-public-key: <N> # KEM and signature
length-secret-key: <N> # KEM and signature
length-ciphertext: <N> # KEM only
length-sharedsecret: <N> # KEM only
length-signature: <N> # Signature only
testvectors-sha256: sha256sum of output of testvectors
principal-submitter: Eve
auxiliary-submitters:
@@ -43,11 +46,12 @@ See the section [API](#API) below.
4. Put your scheme's C source code into `crypto_kem/yourschemename/clean`.
1. Make sure all symbols are prefixed with `PQCLEAN_YOURSCHEME_CLEAN_`.
2. Include `api.h` into your scheme with the symbols specified in the section [API](#API).
2. Include `api.h` into your scheme with the symbols specified in the section [API](#API). Make sure it does not include other files.
3. We use `astyle` to format code. You may consider running the following command on your submission: