Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 

22 linhas
503 B

  1. #ifndef PQCLEAN_DILITHIUM3_CLEAN_REDUCE_H
  2. #define PQCLEAN_DILITHIUM3_CLEAN_REDUCE_H
  3. #include <stdint.h>
  4. #define MONT 4193792U // 2^32 % Q
  5. #define QINV 4236238847U // -q^(-1) mod 2^32
  6. /* a <= Q*2^32 => r < 2*Q */
  7. uint32_t PQCLEAN_DILITHIUM3_CLEAN_montgomery_reduce(uint64_t a);
  8. /* r < 2*Q */
  9. uint32_t PQCLEAN_DILITHIUM3_CLEAN_reduce32(uint32_t a);
  10. /* a < 2*Q => r < Q */
  11. uint32_t PQCLEAN_DILITHIUM3_CLEAN_csubq(uint32_t a);
  12. /* r < Q */
  13. uint32_t PQCLEAN_DILITHIUM3_CLEAN_freeze(uint32_t a);
  14. #endif