/* * This file comes from the Kyber repo; see the files in kyber/avx2/test or kyber/ref/test for further details. */ #include #include #include #include #include "../kem.h" #include "../params.h" #include "../indcpa.h" #include "../polyvec.h" #include "../poly.h" #include "../randombytes.h" #include "cpucycles.h" #include "speed_print.h" #define NTESTS 1000 uint64_t t[NTESTS]; uint8_t seed[KYBER_SYMBYTES] = {0}; int main(void) { unsigned int i; uint8_t pk[CRYPTO_PUBLICKEYBYTES]; uint8_t sk[CRYPTO_SECRETKEYBYTES]; uint8_t ct[CRYPTO_CIPHERTEXTBYTES]; uint8_t key[CRYPTO_BYTES]; uint8_t coins32[KYBER_SYMBYTES]; uint8_t coins64[2*KYBER_SYMBYTES]; polyvec matrix[KYBER_K]; poly ap; randombytes(coins32, KYBER_SYMBYTES); randombytes(coins64, 2*KYBER_SYMBYTES); for(i=0;i