You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

25 lines
813 B

  1. #ifndef NIEDERREITER_H
  2. #define NIEDERREITER_H
  3. #include "gf2x_arith_mod_xPplusOne.h"
  4. #include "qc_ldpc_parameters.h"
  5. #include "rng.h"
  6. typedef struct {
  7. unsigned char prng_seed[TRNG_BYTE_LENGTH];
  8. uint8_t rejections;
  9. uint8_t secondIterThreshold;
  10. uint8_t decryption_failure_secret[TRNG_BYTE_LENGTH];
  11. } privateKeyNiederreiter_t;
  12. typedef struct {
  13. DIGIT Mtr[(N0 - 1)*NUM_DIGITS_GF2X_ELEMENT];
  14. } publicKeyNiederreiter_t;
  15. void PQCLEAN_LEDAKEMLT12_LEAKTIME_niederreiter_keygen(publicKeyNiederreiter_t *pk, privateKeyNiederreiter_t *sk);
  16. void PQCLEAN_LEDAKEMLT12_LEAKTIME_niederreiter_encrypt(DIGIT syndrome[], const publicKeyNiederreiter_t *pk, const DIGIT err[]);
  17. int PQCLEAN_LEDAKEMLT12_LEAKTIME_niederreiter_decrypt(DIGIT *err, const privateKeyNiederreiter_t *sk, const DIGIT *syndrome);
  18. #endif