2019-06-18 14:40:24 +01:00
|
|
|
|
#ifndef VERIFY_H
|
|
|
|
|
#define VERIFY_H
|
2019-06-18 10:00:33 +01:00
|
|
|
|
/*-------------------------------------------------
|
|
|
|
|
This file has been adapted from the implementation
|
|
|
|
|
(available at https://github.com/pq-crystals/kyber) of
|
|
|
|
|
"CRYSTALS – Kyber: a CCA-secure module-lattice-based KEM"
|
|
|
|
|
by : Joppe Bos, Leo Ducas, Eike Kiltz, Tancrede Lepoint,
|
|
|
|
|
Vadim Lyubashevsky, John M. Schanck, Peter Schwabe & Damien stehle
|
|
|
|
|
----------------------------------------------------*/
|
|
|
|
|
|
|
|
|
|
#include <stddef.h>
|
2019-06-18 11:07:48 +01:00
|
|
|
|
#include <stdint.h>
|
2019-06-18 10:00:33 +01:00
|
|
|
|
|
|
|
|
|
/* returns 0 for equal strings, 1 for non-equal strings */
|
2020-10-16 01:00:04 +01:00
|
|
|
|
uint8_t PQCLEAN_SABER_CLEAN_verify(const uint8_t *a, const uint8_t *b, size_t len);
|
|
|
|
|
|
2019-06-18 10:00:33 +01:00
|
|
|
|
|
|
|
|
|
/* b = 1 means mov, b = 0 means don't mov*/
|
2020-10-16 01:00:04 +01:00
|
|
|
|
void PQCLEAN_SABER_CLEAN_cmov(uint8_t *r, const uint8_t *x, size_t len, uint8_t b);
|
|
|
|
|
|
2019-06-18 10:00:33 +01:00
|
|
|
|
|
|
|
|
|
#endif
|