Add initial HRSS support. This change includes support for a variant of [HRSS], a post-quantum KEM based on NTRU. It includes changes suggested in [SXY]. This is not yet ready for any deployment: some breaking changes, like removing the confirmation hash, are still planned. (CLA for HRSS's assembly code noted in b/119426559.) [HRSS] https://eprint.iacr.org/2017/667.pdf [SXY] https://eprint.iacr.org/2017/1005.pdf Change-Id: I85d813733b066d5c578484bdd248de3f764194db Reviewed-on: https://boringssl-review.googlesource.com/c/33105 Reviewed-by: David Benjamin <davidben@google.com>
diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt index b1ca70e..e53885e 100644 --- a/crypto/CMakeLists.txt +++ b/crypto/CMakeLists.txt
@@ -105,6 +105,7 @@ chacha/chacha-armv4.${ASM_EXT} curve25519/asm/x25519-asm-arm.S poly1305/poly1305_arm_asm.S + hrss/asm/poly_mul_vec_armv7_neon.S ) endif() @@ -131,6 +132,7 @@ chacha/chacha-x86_64.${ASM_EXT} cipher_extra/aes128gcmsiv-x86_64.${ASM_EXT} cipher_extra/chacha20_poly1305_x86_64.${ASM_EXT} + hrss/asm/poly_rq_mul.S ) endif() @@ -275,6 +277,7 @@ evp/sign.c ex_data.c hkdf/hkdf.c + hrss/hrss.c lhash/lhash.c mem.c obj/obj.c @@ -455,6 +458,7 @@ fipsmodule/rand/ctrdrbg_test.cc hkdf/hkdf_test.cc hmac_extra/hmac_test.cc + hrss/hrss_test.cc lhash/lhash_test.cc obj/obj_test.cc pem/pem_test.cc