/* * kyber512.c — Kyber512 变体翻译单元 * * 安全级别:NIST Level 1(经典安全性约等于 AES-128) * 参数(KYBER_K = 2): * - 公钥:800 字节 * - 私钥:1632 字节 * - 密文:768 字节 * - 共享密钥:32 字节 * * 编译原理: * 在 #include 各实现文件之前先定义 KYBER_K=2, * params.h 中的 #ifndef KYBER_K 判断将使用此值, * KYBER_NAMESPACE 宏展开为 pqcrystals_kyber512_ref_##s, * 确保本翻译单元中所有符号名带有 "kyber512" 前缀, * 与 kyber768.c / kyber1024.c 的符号互不冲突。 * * 注意:fips202 / randombytes 不在此处包含,它们在独立翻译单元中编译, * 链接器负责解析本文件中对 shake128_xxx / sha3_xxx 等函数的引用。 */ #define KYBER_K 2 #include "internal/kem.inc" #include "internal/indcpa.inc" #include "internal/poly.inc" #include "internal/polyvec.inc" #include "internal/ntt.inc" #include "internal/cbd.inc" #include "internal/reduce.inc" #include "internal/verify.inc" #include "internal/symmetric_shake.inc"