pq_crypto 0.4.2 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (408) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +25 -0
  3. data/GET_STARTED.md +21 -16
  4. data/README.md +26 -0
  5. data/SECURITY.md +22 -16
  6. data/ext/pqcrypto/extconf.rb +148 -99
  7. data/ext/pqcrypto/mldsa_api.h +1 -118
  8. data/ext/pqcrypto/mlkem_api.h +1 -42
  9. data/ext/pqcrypto/pq_externalmu.c +88 -216
  10. data/ext/pqcrypto/pqcrypto_native_api.h +129 -0
  11. data/ext/pqcrypto/pqcrypto_ruby_secure.c +0 -3
  12. data/ext/pqcrypto/pqcrypto_secure.c +135 -117
  13. data/ext/pqcrypto/pqcrypto_secure.h +1 -42
  14. data/ext/pqcrypto/pqcrypto_version.h +1 -1
  15. data/ext/pqcrypto/randombytes.h +9 -0
  16. data/ext/pqcrypto/vendor/.vendored +10 -5
  17. data/ext/pqcrypto/vendor/mldsa-native/BUILDING.md +105 -0
  18. data/ext/pqcrypto/vendor/mldsa-native/LICENSE +286 -0
  19. data/ext/pqcrypto/vendor/mldsa-native/META.yml +24 -0
  20. data/ext/pqcrypto/vendor/mldsa-native/README.md +221 -0
  21. data/ext/pqcrypto/vendor/mldsa-native/SECURITY.md +8 -0
  22. data/ext/pqcrypto/vendor/mldsa-native/mldsa/mldsa_native.c +721 -0
  23. data/ext/pqcrypto/vendor/mldsa-native/mldsa/mldsa_native.h +975 -0
  24. data/ext/pqcrypto/vendor/mldsa-native/mldsa/mldsa_native_asm.S +724 -0
  25. data/ext/pqcrypto/vendor/mldsa-native/mldsa/mldsa_native_config.h +723 -0
  26. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/cbmc.h +166 -0
  27. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/common.h +321 -0
  28. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/ct.c +21 -0
  29. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/ct.h +385 -0
  30. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/debug.c +73 -0
  31. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/debug.h +130 -0
  32. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/fips202.c +277 -0
  33. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/fips202.h +244 -0
  34. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/fips202x4.c +182 -0
  35. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/fips202x4.h +117 -0
  36. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/keccakf1600.c +438 -0
  37. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/keccakf1600.h +105 -0
  38. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/auto.h +71 -0
  39. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/fips202_native_aarch64.h +62 -0
  40. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x1_scalar_asm.S +376 -0
  41. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x1_v84a_asm.S +204 -0
  42. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x2_v84a_asm.S +259 -0
  43. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x4_v8a_scalar_hybrid_asm.S +1077 -0
  44. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x4_v8a_v84a_scalar_hybrid_asm.S +987 -0
  45. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccakf1600_round_constants.c +41 -0
  46. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/x1_scalar.h +26 -0
  47. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/x1_v84a.h +35 -0
  48. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/x2_v84a.h +37 -0
  49. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/x4_v8a_scalar.h +27 -0
  50. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/x4_v8a_v84a_scalar.h +36 -0
  51. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/api.h +69 -0
  52. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/README.md +10 -0
  53. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/mve.h +32 -0
  54. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/src/fips202_native_armv81m.h +20 -0
  55. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/src/keccak_f1600_x4_mve.S +638 -0
  56. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/src/keccak_f1600_x4_mve.c +136 -0
  57. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/src/keccakf1600_round_constants.c +52 -0
  58. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/auto.h +29 -0
  59. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/x86_64/src/KeccakP_1600_times4_SIMD256.c +488 -0
  60. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/x86_64/src/KeccakP_1600_times4_SIMD256.h +16 -0
  61. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/x86_64/xkcp.h +31 -0
  62. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/meta.h +247 -0
  63. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/aarch64_zetas.c +231 -0
  64. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/arith_native_aarch64.h +150 -0
  65. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/intt.S +753 -0
  66. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l4.S +129 -0
  67. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l5.S +145 -0
  68. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l7.S +177 -0
  69. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/ntt.S +653 -0
  70. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/pointwise_montgomery.S +79 -0
  71. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_caddq_asm.S +53 -0
  72. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_chknorm_asm.S +55 -0
  73. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_decompose_32_asm.S +85 -0
  74. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_decompose_88_asm.S +85 -0
  75. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_use_hint_32_asm.S +102 -0
  76. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_use_hint_88_asm.S +110 -0
  77. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/polyz_unpack_17_asm.S +72 -0
  78. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/polyz_unpack_19_asm.S +69 -0
  79. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/polyz_unpack_table.c +40 -0
  80. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_asm.S +189 -0
  81. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_eta2_asm.S +135 -0
  82. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_eta4_asm.S +128 -0
  83. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_eta_table.c +543 -0
  84. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_table.c +62 -0
  85. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/api.h +649 -0
  86. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/meta.h +23 -0
  87. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/meta.h +315 -0
  88. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/arith_native_x86_64.h +124 -0
  89. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/consts.c +157 -0
  90. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/consts.h +27 -0
  91. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/intt.S +2311 -0
  92. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/ntt.S +2383 -0
  93. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/nttunpack.S +239 -0
  94. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise.S +131 -0
  95. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_acc_l4.S +139 -0
  96. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_acc_l5.S +155 -0
  97. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_acc_l7.S +187 -0
  98. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_caddq_avx2.c +61 -0
  99. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_chknorm_avx2.c +52 -0
  100. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_decompose_32_avx2.c +155 -0
  101. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_decompose_88_avx2.c +155 -0
  102. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_use_hint_32_avx2.c +102 -0
  103. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_use_hint_88_avx2.c +104 -0
  104. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/polyz_unpack_17_avx2.c +91 -0
  105. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/polyz_unpack_19_avx2.c +93 -0
  106. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/rej_uniform_avx2.c +126 -0
  107. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/rej_uniform_eta2_avx2.c +155 -0
  108. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/rej_uniform_eta4_avx2.c +139 -0
  109. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/rej_uniform_table.c +160 -0
  110. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/packing.c +293 -0
  111. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/packing.h +224 -0
  112. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/params.h +77 -0
  113. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/poly.c +991 -0
  114. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/poly.h +393 -0
  115. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/poly_kl.c +946 -0
  116. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/poly_kl.h +360 -0
  117. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/polyvec.c +877 -0
  118. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/polyvec.h +725 -0
  119. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/randombytes.h +26 -0
  120. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/reduce.h +139 -0
  121. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/rounding.h +249 -0
  122. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/sign.c +1511 -0
  123. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/sign.h +806 -0
  124. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/symmetric.h +68 -0
  125. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/sys.h +268 -0
  126. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/zetas.inc +55 -0
  127. data/ext/pqcrypto/vendor/mlkem-native/BUILDING.md +104 -0
  128. data/ext/pqcrypto/vendor/mlkem-native/LICENSE +294 -0
  129. data/ext/pqcrypto/vendor/mlkem-native/META.yml +30 -0
  130. data/ext/pqcrypto/vendor/mlkem-native/README.md +223 -0
  131. data/ext/pqcrypto/vendor/mlkem-native/RELEASE.md +86 -0
  132. data/ext/pqcrypto/vendor/mlkem-native/SECURITY.md +8 -0
  133. data/ext/pqcrypto/vendor/mlkem-native/mlkem/README.md +23 -0
  134. data/ext/pqcrypto/vendor/mlkem-native/mlkem/mlkem_native.c +660 -0
  135. data/ext/pqcrypto/vendor/mlkem-native/mlkem/mlkem_native.h +538 -0
  136. data/ext/pqcrypto/vendor/mlkem-native/mlkem/mlkem_native_asm.S +681 -0
  137. data/ext/pqcrypto/vendor/mlkem-native/mlkem/mlkem_native_config.h +709 -0
  138. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/cbmc.h +174 -0
  139. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/common.h +274 -0
  140. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/compress.c +717 -0
  141. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/compress.h +688 -0
  142. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/debug.c +64 -0
  143. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/debug.h +128 -0
  144. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/fips202.c +251 -0
  145. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/fips202.h +158 -0
  146. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/fips202x4.c +208 -0
  147. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/fips202x4.h +80 -0
  148. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/keccakf1600.c +463 -0
  149. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/keccakf1600.h +98 -0
  150. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/auto.h +70 -0
  151. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/fips202_native_aarch64.h +69 -0
  152. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/keccak_f1600_x1_scalar_asm.S +375 -0
  153. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/keccak_f1600_x1_v84a_asm.S +203 -0
  154. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/keccak_f1600_x2_v84a_asm.S +258 -0
  155. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/keccak_f1600_x4_v8a_scalar_hybrid_asm.S +1076 -0
  156. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/keccak_f1600_x4_v8a_v84a_scalar_hybrid_asm.S +986 -0
  157. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/keccakf1600_round_constants.c +46 -0
  158. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/x1_scalar.h +25 -0
  159. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/x1_v84a.h +34 -0
  160. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/x2_v84a.h +35 -0
  161. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/x4_v8a_scalar.h +26 -0
  162. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/x4_v8a_v84a_scalar.h +35 -0
  163. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/api.h +117 -0
  164. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/armv81m/README.md +10 -0
  165. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/armv81m/mve.h +79 -0
  166. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/armv81m/src/fips202_native_armv81m.h +35 -0
  167. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/armv81m/src/keccak_f1600_x4_mve.S +667 -0
  168. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/armv81m/src/keccak_f1600_x4_mve.c +40 -0
  169. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/armv81m/src/keccakf1600_round_constants.c +51 -0
  170. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/armv81m/src/state_extract_bytes_x4_mve.S +290 -0
  171. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/armv81m/src/state_xor_bytes_x4_mve.S +314 -0
  172. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/auto.h +28 -0
  173. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/x86_64/keccak_f1600_x4_avx2.h +33 -0
  174. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/x86_64/src/fips202_native_x86_64.h +41 -0
  175. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/x86_64/src/keccak_f1600_x4_avx2.S +451 -0
  176. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/x86_64/src/keccakf1600_constants.c +51 -0
  177. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/indcpa.c +622 -0
  178. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/indcpa.h +156 -0
  179. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/kem.c +446 -0
  180. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/kem.h +326 -0
  181. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/README.md +16 -0
  182. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/meta.h +122 -0
  183. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/aarch64_zetas.c +174 -0
  184. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/arith_native_aarch64.h +177 -0
  185. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/intt.S +628 -0
  186. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/ntt.S +562 -0
  187. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/poly_mulcache_compute_asm.S +127 -0
  188. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/poly_reduce_asm.S +150 -0
  189. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/poly_tobytes_asm.S +117 -0
  190. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/poly_tomont_asm.S +98 -0
  191. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/polyvec_basemul_acc_montgomery_cached_asm_k2.S +261 -0
  192. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/polyvec_basemul_acc_montgomery_cached_asm_k3.S +314 -0
  193. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/polyvec_basemul_acc_montgomery_cached_asm_k4.S +368 -0
  194. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/rej_uniform_asm.S +226 -0
  195. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/rej_uniform_table.c +542 -0
  196. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/api.h +637 -0
  197. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/meta.h +25 -0
  198. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/riscv64/README.md +11 -0
  199. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/riscv64/meta.h +128 -0
  200. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/riscv64/src/arith_native_riscv64.h +45 -0
  201. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/riscv64/src/rv64v_debug.c +81 -0
  202. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/riscv64/src/rv64v_debug.h +145 -0
  203. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/riscv64/src/rv64v_izetas.inc +27 -0
  204. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/riscv64/src/rv64v_poly.c +805 -0
  205. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/riscv64/src/rv64v_zetas.inc +27 -0
  206. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/riscv64/src/rv64v_zetas_basemul.inc +39 -0
  207. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/README.md +4 -0
  208. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/meta.h +304 -0
  209. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/arith_native_x86_64.h +309 -0
  210. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/compress_consts.c +94 -0
  211. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/compress_consts.h +45 -0
  212. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/consts.c +102 -0
  213. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/consts.h +25 -0
  214. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/intt.S +719 -0
  215. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/mulcache_compute.S +90 -0
  216. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/ntt.S +639 -0
  217. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/nttfrombytes.S +193 -0
  218. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/ntttobytes.S +181 -0
  219. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/nttunpack.S +174 -0
  220. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/poly_compress_d10.S +382 -0
  221. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/poly_compress_d11.S +448 -0
  222. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/poly_compress_d4.S +163 -0
  223. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/poly_compress_d5.S +220 -0
  224. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/poly_decompress_d10.S +228 -0
  225. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/poly_decompress_d11.S +277 -0
  226. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/poly_decompress_d4.S +180 -0
  227. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/poly_decompress_d5.S +192 -0
  228. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/polyvec_basemul_acc_montgomery_cached_asm_k2.S +502 -0
  229. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/polyvec_basemul_acc_montgomery_cached_asm_k3.S +750 -0
  230. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/polyvec_basemul_acc_montgomery_cached_asm_k4.S +998 -0
  231. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/reduce.S +218 -0
  232. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/rej_uniform_asm.S +103 -0
  233. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/rej_uniform_table.c +544 -0
  234. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/tomont.S +155 -0
  235. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/params.h +76 -0
  236. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/poly.c +572 -0
  237. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/poly.h +317 -0
  238. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/poly_k.c +502 -0
  239. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/poly_k.h +668 -0
  240. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/randombytes.h +60 -0
  241. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/sampling.c +362 -0
  242. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/sampling.h +118 -0
  243. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/symmetric.h +70 -0
  244. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/sys.h +260 -0
  245. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/verify.c +20 -0
  246. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/verify.h +464 -0
  247. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/zetas.inc +30 -0
  248. data/lib/pq_crypto/version.rb +1 -1
  249. data/lib/pq_crypto.rb +1 -1
  250. data/script/vendor_libs.rb +88 -159
  251. metadata +236 -160
  252. data/ext/pqcrypto/vendor/pqclean/common/aes.c +0 -639
  253. data/ext/pqcrypto/vendor/pqclean/common/aes.h +0 -64
  254. data/ext/pqcrypto/vendor/pqclean/common/compat.h +0 -73
  255. data/ext/pqcrypto/vendor/pqclean/common/crypto_declassify.h +0 -7
  256. data/ext/pqcrypto/vendor/pqclean/common/fips202.c +0 -928
  257. data/ext/pqcrypto/vendor/pqclean/common/fips202.h +0 -166
  258. data/ext/pqcrypto/vendor/pqclean/common/keccak2x/feat.S +0 -168
  259. data/ext/pqcrypto/vendor/pqclean/common/keccak2x/fips202x2.c +0 -684
  260. data/ext/pqcrypto/vendor/pqclean/common/keccak2x/fips202x2.h +0 -60
  261. data/ext/pqcrypto/vendor/pqclean/common/keccak4x/KeccakP-1600-times4-SIMD256.c +0 -1028
  262. data/ext/pqcrypto/vendor/pqclean/common/keccak4x/KeccakP-1600-times4-SnP.h +0 -50
  263. data/ext/pqcrypto/vendor/pqclean/common/keccak4x/KeccakP-1600-unrolling.macros +0 -198
  264. data/ext/pqcrypto/vendor/pqclean/common/keccak4x/Makefile +0 -8
  265. data/ext/pqcrypto/vendor/pqclean/common/keccak4x/Makefile.Microsoft_nmake +0 -8
  266. data/ext/pqcrypto/vendor/pqclean/common/keccak4x/SIMD256-config.h +0 -3
  267. data/ext/pqcrypto/vendor/pqclean/common/keccak4x/align.h +0 -34
  268. data/ext/pqcrypto/vendor/pqclean/common/keccak4x/brg_endian.h +0 -142
  269. data/ext/pqcrypto/vendor/pqclean/common/nistseedexpander.c +0 -101
  270. data/ext/pqcrypto/vendor/pqclean/common/nistseedexpander.h +0 -39
  271. data/ext/pqcrypto/vendor/pqclean/common/randombytes.c +0 -355
  272. data/ext/pqcrypto/vendor/pqclean/common/randombytes.h +0 -27
  273. data/ext/pqcrypto/vendor/pqclean/common/sha2.c +0 -769
  274. data/ext/pqcrypto/vendor/pqclean/common/sha2.h +0 -173
  275. data/ext/pqcrypto/vendor/pqclean/common/sp800-185.c +0 -156
  276. data/ext/pqcrypto/vendor/pqclean/common/sp800-185.h +0 -27
  277. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/LICENSE +0 -5
  278. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/Makefile +0 -19
  279. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/Makefile.Microsoft_nmake +0 -23
  280. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/api.h +0 -18
  281. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/cbd.c +0 -83
  282. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/cbd.h +0 -11
  283. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/indcpa.c +0 -327
  284. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/indcpa.h +0 -22
  285. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/kem.c +0 -164
  286. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/kem.h +0 -23
  287. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/ntt.c +0 -146
  288. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/ntt.h +0 -14
  289. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/params.h +0 -36
  290. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/poly.c +0 -311
  291. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/poly.h +0 -37
  292. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/polyvec.c +0 -198
  293. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/polyvec.h +0 -26
  294. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/reduce.c +0 -41
  295. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/reduce.h +0 -13
  296. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/symmetric-shake.c +0 -71
  297. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/symmetric.h +0 -30
  298. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/verify.c +0 -67
  299. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-1024/clean/verify.h +0 -13
  300. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/LICENSE +0 -5
  301. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/Makefile +0 -19
  302. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/Makefile.Microsoft_nmake +0 -23
  303. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/api.h +0 -18
  304. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/cbd.c +0 -108
  305. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/cbd.h +0 -11
  306. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/indcpa.c +0 -327
  307. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/indcpa.h +0 -22
  308. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/kem.c +0 -164
  309. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/kem.h +0 -23
  310. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/ntt.c +0 -146
  311. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/ntt.h +0 -14
  312. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/params.h +0 -36
  313. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/poly.c +0 -299
  314. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/poly.h +0 -37
  315. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/polyvec.c +0 -188
  316. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/polyvec.h +0 -26
  317. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/reduce.c +0 -41
  318. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/reduce.h +0 -13
  319. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/symmetric-shake.c +0 -71
  320. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/symmetric.h +0 -30
  321. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/verify.c +0 -67
  322. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-512/clean/verify.h +0 -13
  323. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/LICENSE +0 -5
  324. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/Makefile +0 -19
  325. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/Makefile.Microsoft_nmake +0 -23
  326. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/api.h +0 -18
  327. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/cbd.c +0 -83
  328. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/cbd.h +0 -11
  329. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/indcpa.c +0 -327
  330. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/indcpa.h +0 -22
  331. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/kem.c +0 -164
  332. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/kem.h +0 -23
  333. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/ntt.c +0 -146
  334. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/ntt.h +0 -14
  335. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/params.h +0 -36
  336. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/poly.c +0 -299
  337. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/poly.h +0 -37
  338. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/polyvec.c +0 -188
  339. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/polyvec.h +0 -26
  340. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/reduce.c +0 -41
  341. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/reduce.h +0 -13
  342. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/symmetric-shake.c +0 -71
  343. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/symmetric.h +0 -30
  344. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/verify.c +0 -67
  345. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/verify.h +0 -13
  346. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/LICENSE +0 -5
  347. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/Makefile +0 -19
  348. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/Makefile.Microsoft_nmake +0 -23
  349. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/api.h +0 -50
  350. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/ntt.c +0 -98
  351. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/ntt.h +0 -10
  352. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/packing.c +0 -261
  353. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/packing.h +0 -31
  354. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/params.h +0 -44
  355. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/poly.c +0 -848
  356. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/poly.h +0 -52
  357. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/polyvec.c +0 -415
  358. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/polyvec.h +0 -65
  359. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/reduce.c +0 -69
  360. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/reduce.h +0 -17
  361. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/rounding.c +0 -98
  362. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/rounding.h +0 -14
  363. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/sign.c +0 -407
  364. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/sign.h +0 -47
  365. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/symmetric-shake.c +0 -26
  366. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-44/clean/symmetric.h +0 -34
  367. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/LICENSE +0 -5
  368. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/Makefile +0 -19
  369. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/Makefile.Microsoft_nmake +0 -23
  370. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/api.h +0 -50
  371. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/ntt.c +0 -98
  372. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/ntt.h +0 -10
  373. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/packing.c +0 -261
  374. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/packing.h +0 -31
  375. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/params.h +0 -44
  376. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/poly.c +0 -799
  377. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/poly.h +0 -52
  378. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/polyvec.c +0 -415
  379. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/polyvec.h +0 -65
  380. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/reduce.c +0 -69
  381. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/reduce.h +0 -17
  382. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/rounding.c +0 -92
  383. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/rounding.h +0 -14
  384. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/sign.c +0 -407
  385. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/sign.h +0 -47
  386. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/symmetric-shake.c +0 -26
  387. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/symmetric.h +0 -34
  388. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/LICENSE +0 -5
  389. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/Makefile +0 -19
  390. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/Makefile.Microsoft_nmake +0 -23
  391. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/api.h +0 -50
  392. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/ntt.c +0 -98
  393. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/ntt.h +0 -10
  394. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/packing.c +0 -261
  395. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/packing.h +0 -31
  396. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/params.h +0 -44
  397. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/poly.c +0 -823
  398. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/poly.h +0 -52
  399. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/polyvec.c +0 -415
  400. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/polyvec.h +0 -65
  401. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/reduce.c +0 -69
  402. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/reduce.h +0 -17
  403. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/rounding.c +0 -92
  404. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/rounding.h +0 -14
  405. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/sign.c +0 -407
  406. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/sign.h +0 -47
  407. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/symmetric-shake.c +0 -26
  408. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-87/clean/symmetric.h +0 -34
@@ -0,0 +1,23 @@
1
+ [//]: # (SPDX-License-Identifier: CC-BY-4.0)
2
+
3
+ # mlkem-native source tree
4
+
5
+ This is the main source tree of mlkem-native.
6
+
7
+ ## Building
8
+
9
+ To build a mlkem-native for a fixed parameter set (ML-KEM-512/768/1024), build the compilation in units in `src/*` separately, and link to an RNG and your application. See [examples/basic](../examples/basic) for a simple example.
10
+
11
+ Alternatively, you can use the auto-geneated helper files [mlkem_native.c](mlkem_native.c) and [mlkem_native_asm.S](mlkem_native_asm.S), which bundle all *.c and *.S files together. See [examples/monolithic_build](../examples/monolithic_build) and [examples/monolithic_build_native](../examples/monolithic_build_native) for examples with and without native code.
12
+
13
+ ## Configuration
14
+
15
+ The build is configured by [mlkem_native_config.h](mlkem_native_config.h), or by the file pointed to by `MLK_CONFIG_FILE`. Note in particular `MLK_CONFIG_PARAMETER_SET` and `MLK_CONFIG_NAMESPACE_PREFIX`, which set the parameter set and namespace prefix, respectively.
16
+
17
+ ## API
18
+
19
+ The public API is defined in [mlkem_native.h](mlkem_native.h).
20
+
21
+ ## Supporting multiple parameter sets
22
+
23
+ If you want to support multiple parameter sets, build the library once per parameter set you want to support. Set `MLK_CONFIG_MULTILEVEL_WITH_SHARED` for one of the builds, and `MLK_CONFIG_MULTILEVEL_NO_SHARED` for the others, to avoid duplicating shared functionality. Finally, link with RNG and your application as before. This is demonstrated in the examples [examples/multilevel_build](../examples/multilevel_build), [examples/multilevel_build_native](../examples/multilevel_build_native), [examples/monolithic_build_multilevel](../examples/monolithic_build_multilevel) and [examples/monolithic_build_multilevel_native](../examples/monolithic_build_multilevel_native).
@@ -0,0 +1,660 @@
1
+ /*
2
+ * Copyright (c) The mlkem-native project authors
3
+ * SPDX-License-Identifier: Apache-2.0 OR ISC OR MIT
4
+ */
5
+
6
+ /*
7
+ * WARNING: This file is auto-generated from scripts/autogen
8
+ * in the mlkem-native repository.
9
+ * Do not modify it directly.
10
+ */
11
+
12
+ /******************************************************************************
13
+ *
14
+ * Single compilation unit (SCU) for fixed-level build of mlkem-native
15
+ *
16
+ * This compilation unit bundles together all source files for a build
17
+ * of mlkem-native for a fixed security level (MLKEM-512/768/1024).
18
+ *
19
+ * # API
20
+ *
21
+ * The API exposed by this file is described in mlkem_native.h.
22
+ *
23
+ * # Multi-level build
24
+ *
25
+ * If you want an SCU build of mlkem-native with support for multiple security
26
+ * levels, you need to include this file multiple times, and set
27
+ * MLK_CONFIG_MULTILEVEL_WITH_SHARED and MLK_CONFIG_MULTILEVEL_NO_SHARED
28
+ * appropriately. This is exemplified in examples/monolithic_build_multilevel
29
+ * and examples/monolithic_build_multilevel_native.
30
+ *
31
+ * # Configuration
32
+ *
33
+ * The following options from the mlkem-native configuration are relevant:
34
+ *
35
+ * - MLK_CONFIG_FIPS202_CUSTOM_HEADER
36
+ * Set this option if you use a custom FIPS202 implementation.
37
+ *
38
+ * - MLK_CONFIG_USE_NATIVE_BACKEND_ARITH
39
+ * Set this option if you want to include the native arithmetic backends
40
+ * in your build.
41
+ *
42
+ * - MLK_CONFIG_USE_NATIVE_BACKEND_FIPS202
43
+ * Set this option if you want to include the native FIPS202 backends
44
+ * in your build.
45
+ *
46
+ * - MLK_CONFIG_MONOBUILD_KEEP_SHARED_HEADERS
47
+ * Set this option if you want to keep the directives defined in
48
+ * level-independent headers. This is needed for a multi-level build.
49
+ */
50
+
51
+ /* If parts of the mlkem-native source tree are not used,
52
+ * consider reducing this header via `unifdef`.
53
+ *
54
+ * Example:
55
+ * ```bash
56
+ * unifdef -UMLK_CONFIG_USE_NATIVE_BACKEND_ARITH mlkem_native.c
57
+ * ```
58
+ */
59
+
60
+ #include "src/common.h"
61
+
62
+ #include "src/compress.c"
63
+ #include "src/debug.c"
64
+ #include "src/indcpa.c"
65
+ #include "src/kem.c"
66
+ #include "src/poly.c"
67
+ #include "src/poly_k.c"
68
+ #include "src/sampling.c"
69
+ #include "src/verify.c"
70
+
71
+ #if !defined(MLK_CONFIG_FIPS202_CUSTOM_HEADER)
72
+ #include "src/fips202/fips202.c"
73
+ #include "src/fips202/fips202x4.c"
74
+ #include "src/fips202/keccakf1600.c"
75
+ #endif
76
+
77
+ #if defined(MLK_CONFIG_USE_NATIVE_BACKEND_ARITH)
78
+ #if defined(MLK_SYS_AARCH64)
79
+ #include "src/native/aarch64/src/aarch64_zetas.c"
80
+ #include "src/native/aarch64/src/rej_uniform_table.c"
81
+ #endif
82
+ #if defined(MLK_SYS_X86_64)
83
+ #include "src/native/x86_64/src/compress_consts.c"
84
+ #include "src/native/x86_64/src/consts.c"
85
+ #include "src/native/x86_64/src/rej_uniform_table.c"
86
+ #endif
87
+ #if defined(MLK_SYS_RISCV64)
88
+ #include "src/native/riscv64/src/rv64v_debug.c"
89
+ #include "src/native/riscv64/src/rv64v_poly.c"
90
+ #endif
91
+ #endif /* MLK_CONFIG_USE_NATIVE_BACKEND_ARITH */
92
+
93
+ #if defined(MLK_CONFIG_USE_NATIVE_BACKEND_FIPS202)
94
+ #if defined(MLK_SYS_AARCH64)
95
+ #include "src/fips202/native/aarch64/src/keccakf1600_round_constants.c"
96
+ #endif
97
+ #if defined(MLK_SYS_X86_64)
98
+ #include "src/fips202/native/x86_64/src/keccakf1600_constants.c"
99
+ #endif
100
+ #if defined(MLK_SYS_ARMV81M_MVE)
101
+ #include "src/fips202/native/armv81m/src/keccak_f1600_x4_mve.c"
102
+ #include "src/fips202/native/armv81m/src/keccakf1600_round_constants.c"
103
+ #endif
104
+ #endif /* MLK_CONFIG_USE_NATIVE_BACKEND_FIPS202 */
105
+
106
+ /* Macro #undef's
107
+ *
108
+ * The following undefines macros from headers
109
+ * included by the source files imported above.
110
+ *
111
+ * This is to allow building and linking multiple builds
112
+ * of mlkem-native for varying parameter sets through concatenation
113
+ * of this file, as if the files had been compiled separately.
114
+ * If this is not relevant to you, you may remove the following.
115
+ */
116
+
117
+ /*
118
+ * Undefine macros from MLK_CONFIG_PARAMETER_SET-specific files
119
+ */
120
+ /* mlkem/mlkem_native.h */
121
+ #undef CRYPTO_BYTES
122
+ #undef CRYPTO_CIPHERTEXTBYTES
123
+ #undef CRYPTO_PUBLICKEYBYTES
124
+ #undef CRYPTO_SECRETKEYBYTES
125
+ #undef CRYPTO_SYMBYTES
126
+ #undef MLKEM1024_BYTES
127
+ #undef MLKEM1024_CIPHERTEXTBYTES
128
+ #undef MLKEM1024_PUBLICKEYBYTES
129
+ #undef MLKEM1024_SECRETKEYBYTES
130
+ #undef MLKEM1024_SYMBYTES
131
+ #undef MLKEM512_BYTES
132
+ #undef MLKEM512_CIPHERTEXTBYTES
133
+ #undef MLKEM512_PUBLICKEYBYTES
134
+ #undef MLKEM512_SECRETKEYBYTES
135
+ #undef MLKEM512_SYMBYTES
136
+ #undef MLKEM768_BYTES
137
+ #undef MLKEM768_CIPHERTEXTBYTES
138
+ #undef MLKEM768_PUBLICKEYBYTES
139
+ #undef MLKEM768_SECRETKEYBYTES
140
+ #undef MLKEM768_SYMBYTES
141
+ #undef MLKEM_BYTES
142
+ #undef MLKEM_CIPHERTEXTBYTES
143
+ #undef MLKEM_CIPHERTEXTBYTES_
144
+ #undef MLKEM_PUBLICKEYBYTES
145
+ #undef MLKEM_PUBLICKEYBYTES_
146
+ #undef MLKEM_SECRETKEYBYTES
147
+ #undef MLKEM_SECRETKEYBYTES_
148
+ #undef MLKEM_SYMBYTES
149
+ #undef MLK_API_CONCAT
150
+ #undef MLK_API_CONCAT_
151
+ #undef MLK_API_CONCAT_UNDERSCORE
152
+ #undef MLK_API_LEGACY_CONFIG
153
+ #undef MLK_API_MUST_CHECK_RETURN_VALUE
154
+ #undef MLK_API_NAMESPACE
155
+ #undef MLK_API_QUALIFIER
156
+ #undef MLK_CONFIG_API_CONSTANTS_ONLY
157
+ #undef MLK_CONFIG_API_NAMESPACE_PREFIX
158
+ #undef MLK_CONFIG_API_NO_SUPERCOP
159
+ #undef MLK_CONFIG_API_PARAMETER_SET
160
+ #undef MLK_CONFIG_API_QUALIFIER
161
+ #undef MLK_ERR_FAIL
162
+ #undef MLK_ERR_OUT_OF_MEMORY
163
+ #undef MLK_ERR_RNG_FAIL
164
+ #undef MLK_H
165
+ #undef MLK_MAX3_
166
+ #undef MLK_TOTAL_ALLOC_1024
167
+ #undef MLK_TOTAL_ALLOC_1024_DECAPS
168
+ #undef MLK_TOTAL_ALLOC_1024_ENCAPS
169
+ #undef MLK_TOTAL_ALLOC_1024_KEYPAIR
170
+ #undef MLK_TOTAL_ALLOC_1024_KEYPAIR_NO_PCT
171
+ #undef MLK_TOTAL_ALLOC_1024_KEYPAIR_PCT
172
+ #undef MLK_TOTAL_ALLOC_512
173
+ #undef MLK_TOTAL_ALLOC_512_DECAPS
174
+ #undef MLK_TOTAL_ALLOC_512_ENCAPS
175
+ #undef MLK_TOTAL_ALLOC_512_KEYPAIR
176
+ #undef MLK_TOTAL_ALLOC_512_KEYPAIR_NO_PCT
177
+ #undef MLK_TOTAL_ALLOC_512_KEYPAIR_PCT
178
+ #undef MLK_TOTAL_ALLOC_768
179
+ #undef MLK_TOTAL_ALLOC_768_DECAPS
180
+ #undef MLK_TOTAL_ALLOC_768_ENCAPS
181
+ #undef MLK_TOTAL_ALLOC_768_KEYPAIR
182
+ #undef MLK_TOTAL_ALLOC_768_KEYPAIR_NO_PCT
183
+ #undef MLK_TOTAL_ALLOC_768_KEYPAIR_PCT
184
+ #undef crypto_kem_check_pk
185
+ #undef crypto_kem_check_sk
186
+ #undef crypto_kem_dec
187
+ #undef crypto_kem_enc
188
+ #undef crypto_kem_enc_derand
189
+ #undef crypto_kem_keypair
190
+ #undef crypto_kem_keypair_derand
191
+ /* mlkem/src/common.h */
192
+ #undef MLK_ADD_PARAM_SET
193
+ #undef MLK_ALLOC
194
+ #undef MLK_APPLY
195
+ #undef MLK_ASM_FN_SIZE
196
+ #undef MLK_ASM_FN_SYMBOL
197
+ #undef MLK_ASM_NAMESPACE
198
+ #undef MLK_BUILD_INTERNAL
199
+ #undef MLK_COMMON_H
200
+ #undef MLK_CONCAT
201
+ #undef MLK_CONCAT_
202
+ #undef MLK_CONTEXT_PARAMETERS_0
203
+ #undef MLK_CONTEXT_PARAMETERS_1
204
+ #undef MLK_CONTEXT_PARAMETERS_2
205
+ #undef MLK_CONTEXT_PARAMETERS_3
206
+ #undef MLK_CONTEXT_PARAMETERS_4
207
+ #undef MLK_EMPTY_CU
208
+ #undef MLK_ERR_FAIL
209
+ #undef MLK_ERR_OUT_OF_MEMORY
210
+ #undef MLK_ERR_RNG_FAIL
211
+ #undef MLK_EXTERNAL_API
212
+ #undef MLK_FIPS202X4_HEADER_FILE
213
+ #undef MLK_FIPS202_HEADER_FILE
214
+ #undef MLK_FREE
215
+ #undef MLK_INTERNAL_API
216
+ #undef MLK_NAMESPACE
217
+ #undef MLK_NAMESPACE_K
218
+ #undef MLK_NAMESPACE_PREFIX
219
+ #undef MLK_NAMESPACE_PREFIX_K
220
+ #undef mlk_memcpy
221
+ #undef mlk_memset
222
+ /* mlkem/src/indcpa.h */
223
+ #undef MLK_INDCPA_H
224
+ #undef mlk_gen_matrix
225
+ #undef mlk_indcpa_dec
226
+ #undef mlk_indcpa_enc
227
+ #undef mlk_indcpa_keypair_derand
228
+ /* mlkem/src/kem.h */
229
+ #undef MLK_KEM_H
230
+ #undef mlk_kem_check_pk
231
+ #undef mlk_kem_check_sk
232
+ #undef mlk_kem_dec
233
+ #undef mlk_kem_enc
234
+ #undef mlk_kem_enc_derand
235
+ #undef mlk_kem_keypair
236
+ #undef mlk_kem_keypair_derand
237
+ /* mlkem/src/params.h */
238
+ #undef MLKEM_DU
239
+ #undef MLKEM_DV
240
+ #undef MLKEM_ETA1
241
+ #undef MLKEM_ETA2
242
+ #undef MLKEM_INDCCA_CIPHERTEXTBYTES
243
+ #undef MLKEM_INDCCA_PUBLICKEYBYTES
244
+ #undef MLKEM_INDCCA_SECRETKEYBYTES
245
+ #undef MLKEM_INDCPA_BYTES
246
+ #undef MLKEM_INDCPA_MSGBYTES
247
+ #undef MLKEM_INDCPA_PUBLICKEYBYTES
248
+ #undef MLKEM_INDCPA_SECRETKEYBYTES
249
+ #undef MLKEM_K
250
+ #undef MLKEM_N
251
+ #undef MLKEM_POLYBYTES
252
+ #undef MLKEM_POLYCOMPRESSEDBYTES_D10
253
+ #undef MLKEM_POLYCOMPRESSEDBYTES_D11
254
+ #undef MLKEM_POLYCOMPRESSEDBYTES_D4
255
+ #undef MLKEM_POLYCOMPRESSEDBYTES_D5
256
+ #undef MLKEM_POLYCOMPRESSEDBYTES_DU
257
+ #undef MLKEM_POLYCOMPRESSEDBYTES_DV
258
+ #undef MLKEM_POLYVECBYTES
259
+ #undef MLKEM_POLYVECCOMPRESSEDBYTES_DU
260
+ #undef MLKEM_Q
261
+ #undef MLKEM_Q_HALF
262
+ #undef MLKEM_SSBYTES
263
+ #undef MLKEM_SYMBYTES
264
+ #undef MLKEM_UINT12_LIMIT
265
+ #undef MLK_PARAMS_H
266
+ /* mlkem/src/poly_k.h */
267
+ #undef MLK_POLY_K_H
268
+ #undef mlk_poly_compress_du
269
+ #undef mlk_poly_compress_dv
270
+ #undef mlk_poly_decompress_du
271
+ #undef mlk_poly_decompress_dv
272
+ #undef mlk_poly_getnoise_eta1122_4x
273
+ #undef mlk_poly_getnoise_eta1_4x
274
+ #undef mlk_poly_getnoise_eta2
275
+ #undef mlk_poly_getnoise_eta2_4x
276
+ #undef mlk_polymat
277
+ #undef mlk_polyvec
278
+ #undef mlk_polyvec_add
279
+ #undef mlk_polyvec_basemul_acc_montgomery_cached
280
+ #undef mlk_polyvec_compress_du
281
+ #undef mlk_polyvec_decompress_du
282
+ #undef mlk_polyvec_frombytes
283
+ #undef mlk_polyvec_invntt_tomont
284
+ #undef mlk_polyvec_mulcache
285
+ #undef mlk_polyvec_mulcache_compute
286
+ #undef mlk_polyvec_ntt
287
+ #undef mlk_polyvec_reduce
288
+ #undef mlk_polyvec_tobytes
289
+ #undef mlk_polyvec_tomont
290
+
291
+ #if !defined(MLK_CONFIG_MONOBUILD_KEEP_SHARED_HEADERS)
292
+ /*
293
+ * Undefine macros from MLK_CONFIG_PARAMETER_SET-generic files
294
+ */
295
+ /* mlkem/src/compress.h */
296
+ #undef MLK_COMPRESS_H
297
+ #undef mlk_poly_compress_d10
298
+ #undef mlk_poly_compress_d11
299
+ #undef mlk_poly_compress_d4
300
+ #undef mlk_poly_compress_d5
301
+ #undef mlk_poly_decompress_d10
302
+ #undef mlk_poly_decompress_d11
303
+ #undef mlk_poly_decompress_d4
304
+ #undef mlk_poly_decompress_d5
305
+ #undef mlk_poly_frombytes
306
+ #undef mlk_poly_frommsg
307
+ #undef mlk_poly_tobytes
308
+ #undef mlk_poly_tomsg
309
+ /* mlkem/src/debug.h */
310
+ #undef MLK_DEBUG_H
311
+ #undef mlk_assert
312
+ #undef mlk_assert_abs_bound
313
+ #undef mlk_assert_abs_bound_2d
314
+ #undef mlk_assert_bound
315
+ #undef mlk_assert_bound_2d
316
+ #undef mlk_debug_check_assert
317
+ #undef mlk_debug_check_bounds
318
+ /* mlkem/src/poly.h */
319
+ #undef MLK_INVNTT_BOUND
320
+ #undef MLK_NTT_BOUND
321
+ #undef MLK_POLY_H
322
+ #undef mlk_poly_add
323
+ #undef mlk_poly_invntt_tomont
324
+ #undef mlk_poly_mulcache_compute
325
+ #undef mlk_poly_ntt
326
+ #undef mlk_poly_reduce
327
+ #undef mlk_poly_sub
328
+ #undef mlk_poly_tomont
329
+ /* mlkem/src/randombytes.h */
330
+ #undef MLK_RANDOMBYTES_H
331
+ /* mlkem/src/sampling.h */
332
+ #undef MLK_SAMPLING_H
333
+ #undef mlk_poly_cbd2
334
+ #undef mlk_poly_cbd3
335
+ #undef mlk_poly_rej_uniform
336
+ #undef mlk_poly_rej_uniform_x4
337
+ /* mlkem/src/symmetric.h */
338
+ #undef MLK_SYMMETRIC_H
339
+ #undef MLK_XOF_RATE
340
+ #undef mlk_hash_g
341
+ #undef mlk_hash_h
342
+ #undef mlk_hash_j
343
+ #undef mlk_prf_eta
344
+ #undef mlk_prf_eta1
345
+ #undef mlk_prf_eta1_x4
346
+ #undef mlk_prf_eta2
347
+ #undef mlk_xof_absorb
348
+ #undef mlk_xof_ctx
349
+ #undef mlk_xof_init
350
+ #undef mlk_xof_release
351
+ #undef mlk_xof_squeezeblocks
352
+ #undef mlk_xof_x4_absorb
353
+ #undef mlk_xof_x4_ctx
354
+ #undef mlk_xof_x4_init
355
+ #undef mlk_xof_x4_release
356
+ #undef mlk_xof_x4_squeezeblocks
357
+ /* mlkem/src/sys.h */
358
+ #undef MLK_ALIGN
359
+ #undef MLK_ALIGN_UP
360
+ #undef MLK_ALWAYS_INLINE
361
+ #undef MLK_CET_ENDBR
362
+ #undef MLK_CT_TESTING_DECLASSIFY
363
+ #undef MLK_CT_TESTING_SECRET
364
+ #undef MLK_DEFAULT_ALIGN
365
+ #undef MLK_HAVE_INLINE_ASM
366
+ #undef MLK_INLINE
367
+ #undef MLK_MUST_CHECK_RETURN_VALUE
368
+ #undef MLK_RESTRICT
369
+ #undef MLK_STATIC_TESTABLE
370
+ #undef MLK_SYS_AARCH64
371
+ #undef MLK_SYS_AARCH64_EB
372
+ #undef MLK_SYS_APPLE
373
+ #undef MLK_SYS_ARMV81M_MVE
374
+ #undef MLK_SYS_BIG_ENDIAN
375
+ #undef MLK_SYS_H
376
+ #undef MLK_SYS_LINUX
377
+ #undef MLK_SYS_LITTLE_ENDIAN
378
+ #undef MLK_SYS_PPC64LE
379
+ #undef MLK_SYS_RISCV32
380
+ #undef MLK_SYS_RISCV64
381
+ #undef MLK_SYS_RISCV64_RVV
382
+ #undef MLK_SYS_WINDOWS
383
+ #undef MLK_SYS_X86_64
384
+ #undef MLK_SYS_X86_64_AVX2
385
+ /* mlkem/src/verify.h */
386
+ #undef MLK_USE_ASM_VALUE_BARRIER
387
+ #undef MLK_VERIFY_H
388
+ #undef mlk_ct_opt_blocker_u64
389
+ /* mlkem/src/cbmc.h */
390
+ #undef MLK_CBMC_H
391
+ #undef __contract__
392
+ #undef __loop__
393
+
394
+ #if !defined(MLK_CONFIG_FIPS202_CUSTOM_HEADER)
395
+ /*
396
+ * Undefine macros from FIPS-202 files
397
+ */
398
+ /* mlkem/src/fips202/fips202.h */
399
+ #undef FIPS202_X4_DEFAULT_IMPLEMENTATION
400
+ #undef MLK_FIPS202_FIPS202_H
401
+ #undef SHA3_256_HASHBYTES
402
+ #undef SHA3_256_RATE
403
+ #undef SHA3_384_RATE
404
+ #undef SHA3_512_HASHBYTES
405
+ #undef SHA3_512_RATE
406
+ #undef SHAKE128_RATE
407
+ #undef SHAKE256_RATE
408
+ #undef mlk_sha3_256
409
+ #undef mlk_sha3_512
410
+ #undef mlk_shake128_absorb_once
411
+ #undef mlk_shake128_init
412
+ #undef mlk_shake128_release
413
+ #undef mlk_shake128_squeezeblocks
414
+ #undef mlk_shake256
415
+ /* mlkem/src/fips202/fips202x4.h */
416
+ #undef MLK_FIPS202_FIPS202X4_H
417
+ #undef mlk_shake128x4_absorb_once
418
+ #undef mlk_shake128x4_init
419
+ #undef mlk_shake128x4_release
420
+ #undef mlk_shake128x4_squeezeblocks
421
+ #undef mlk_shake256x4
422
+ /* mlkem/src/fips202/keccakf1600.h */
423
+ #undef MLK_FIPS202_KECCAKF1600_H
424
+ #undef MLK_KECCAK_LANES
425
+ #undef MLK_KECCAK_WAY
426
+ #undef mlk_keccakf1600_extract_bytes
427
+ #undef mlk_keccakf1600_permute
428
+ #undef mlk_keccakf1600_xor_bytes
429
+ #undef mlk_keccakf1600x4_extract_bytes
430
+ #undef mlk_keccakf1600x4_permute
431
+ #undef mlk_keccakf1600x4_xor_bytes
432
+ #endif /* !MLK_CONFIG_FIPS202_CUSTOM_HEADER */
433
+
434
+ #if defined(MLK_CONFIG_USE_NATIVE_BACKEND_FIPS202)
435
+ /* mlkem/src/fips202/native/api.h */
436
+ #undef MLK_FIPS202_NATIVE_API_H
437
+ #undef MLK_NATIVE_FUNC_FALLBACK
438
+ #undef MLK_NATIVE_FUNC_SUCCESS
439
+ /* mlkem/src/fips202/native/auto.h */
440
+ #undef MLK_FIPS202_NATIVE_AUTO_H
441
+ #if defined(MLK_SYS_AARCH64)
442
+ /*
443
+ * Undefine macros from native code (FIPS202, AArch64)
444
+ */
445
+ /* mlkem/src/fips202/native/aarch64/auto.h */
446
+ #undef MLK_FIPS202_NATIVE_AARCH64_AUTO_H
447
+ /* mlkem/src/fips202/native/aarch64/src/fips202_native_aarch64.h */
448
+ #undef MLK_FIPS202_NATIVE_AARCH64_SRC_FIPS202_NATIVE_AARCH64_H
449
+ #undef mlk_keccak_f1600_x1_scalar_asm
450
+ #undef mlk_keccak_f1600_x1_v84a_asm
451
+ #undef mlk_keccak_f1600_x2_v84a_asm
452
+ #undef mlk_keccak_f1600_x4_v8a_scalar_hybrid_asm
453
+ #undef mlk_keccak_f1600_x4_v8a_v84a_scalar_hybrid_asm
454
+ #undef mlk_keccakf1600_round_constants
455
+ /* mlkem/src/fips202/native/aarch64/x1_scalar.h */
456
+ #undef MLK_FIPS202_AARCH64_NEED_X1_SCALAR
457
+ #undef MLK_FIPS202_NATIVE_AARCH64_X1_SCALAR_H
458
+ #undef MLK_USE_FIPS202_X1_NATIVE
459
+ /* mlkem/src/fips202/native/aarch64/x1_v84a.h */
460
+ #undef MLK_FIPS202_AARCH64_NEED_X1_V84A
461
+ #undef MLK_FIPS202_NATIVE_AARCH64_X1_V84A_H
462
+ #undef MLK_USE_FIPS202_X1_NATIVE
463
+ /* mlkem/src/fips202/native/aarch64/x2_v84a.h */
464
+ #undef MLK_FIPS202_AARCH64_NEED_X2_V84A
465
+ #undef MLK_FIPS202_NATIVE_AARCH64_X2_V84A_H
466
+ #undef MLK_USE_FIPS202_X4_NATIVE
467
+ /* mlkem/src/fips202/native/aarch64/x4_v8a_scalar.h */
468
+ #undef MLK_FIPS202_AARCH64_NEED_X4_V8A_SCALAR_HYBRID
469
+ #undef MLK_FIPS202_NATIVE_AARCH64_X4_V8A_SCALAR_H
470
+ #undef MLK_USE_FIPS202_X4_NATIVE
471
+ /* mlkem/src/fips202/native/aarch64/x4_v8a_v84a_scalar.h */
472
+ #undef MLK_FIPS202_AARCH64_NEED_X4_V8A_V84A_SCALAR_HYBRID
473
+ #undef MLK_FIPS202_NATIVE_AARCH64_X4_V8A_V84A_SCALAR_H
474
+ #undef MLK_USE_FIPS202_X4_NATIVE
475
+ #endif /* MLK_SYS_AARCH64 */
476
+ #if defined(MLK_SYS_X86_64)
477
+ /*
478
+ * Undefine macros from native code (FIPS202, x86_64)
479
+ */
480
+ /* mlkem/src/fips202/native/x86_64/keccak_f1600_x4_avx2.h */
481
+ #undef MLK_FIPS202_NATIVE_X86_64_KECCAK_F1600_X4_AVX2_H
482
+ #undef MLK_FIPS202_X86_64_NEED_X4_AVX2
483
+ #undef MLK_USE_FIPS202_X4_NATIVE
484
+ /* mlkem/src/fips202/native/x86_64/src/fips202_native_x86_64.h */
485
+ #undef MLK_FIPS202_NATIVE_X86_64_SRC_FIPS202_NATIVE_X86_64_H
486
+ #undef mlk_keccak_f1600_x4_avx2
487
+ #undef mlk_keccak_rho56
488
+ #undef mlk_keccak_rho8
489
+ #undef mlk_keccakf1600_round_constants
490
+ #endif /* MLK_SYS_X86_64 */
491
+ #if defined(MLK_SYS_ARMV81M_MVE)
492
+ /*
493
+ * Undefine macros from native code (FIPS202, Armv8.1-M)
494
+ */
495
+ /* mlkem/src/fips202/native/armv81m/mve.h */
496
+ #undef MLK_FIPS202_ARMV81M_NEED_X4
497
+ #undef MLK_FIPS202_NATIVE_ARMV81M
498
+ #undef MLK_FIPS202_NATIVE_ARMV81M_MVE_H
499
+ #undef MLK_USE_FIPS202_X4_EXTRACT_BYTES_NATIVE
500
+ #undef MLK_USE_FIPS202_X4_NATIVE
501
+ #undef MLK_USE_FIPS202_X4_XOR_BYTES_NATIVE
502
+ #undef mlk_keccak_f1600_x4_native_impl
503
+ #undef mlk_keccak_f1600_x4_state_extract_bytes
504
+ #undef mlk_keccak_f1600_x4_state_xor_bytes
505
+ /* mlkem/src/fips202/native/armv81m/src/fips202_native_armv81m.h */
506
+ #undef MLK_FIPS202_NATIVE_ARMV81M_SRC_FIPS202_NATIVE_ARMV81M_H
507
+ #undef mlk_keccak_f1600_x4_mve_asm
508
+ #undef mlk_keccak_f1600_x4_state_extract_bytes_asm
509
+ #undef mlk_keccak_f1600_x4_state_xor_bytes_asm
510
+ #undef mlk_keccakf1600_round_constants
511
+ #endif /* MLK_SYS_ARMV81M_MVE */
512
+ #endif /* MLK_CONFIG_USE_NATIVE_BACKEND_FIPS202 */
513
+ #if defined(MLK_CONFIG_USE_NATIVE_BACKEND_ARITH)
514
+ /* mlkem/src/native/api.h */
515
+ #undef MLK_INVNTT_BOUND
516
+ #undef MLK_NATIVE_API_H
517
+ #undef MLK_NATIVE_FUNC_FALLBACK
518
+ #undef MLK_NATIVE_FUNC_SUCCESS
519
+ #undef MLK_NTT_BOUND
520
+ /* mlkem/src/native/meta.h */
521
+ #undef MLK_NATIVE_META_H
522
+ #if defined(MLK_SYS_AARCH64)
523
+ /*
524
+ * Undefine macros from native code (Arith, AArch64)
525
+ */
526
+ /* mlkem/src/native/aarch64/meta.h */
527
+ #undef MLK_ARITH_BACKEND_AARCH64
528
+ #undef MLK_NATIVE_AARCH64_META_H
529
+ #undef MLK_USE_NATIVE_INTT
530
+ #undef MLK_USE_NATIVE_NTT
531
+ #undef MLK_USE_NATIVE_POLYVEC_BASEMUL_ACC_MONTGOMERY_CACHED
532
+ #undef MLK_USE_NATIVE_POLY_MULCACHE_COMPUTE
533
+ #undef MLK_USE_NATIVE_POLY_REDUCE
534
+ #undef MLK_USE_NATIVE_POLY_TOBYTES
535
+ #undef MLK_USE_NATIVE_POLY_TOMONT
536
+ #undef MLK_USE_NATIVE_REJ_UNIFORM
537
+ /* mlkem/src/native/aarch64/src/arith_native_aarch64.h */
538
+ #undef MLK_NATIVE_AARCH64_SRC_ARITH_NATIVE_AARCH64_H
539
+ #undef mlk_aarch64_invntt_zetas_layer12345
540
+ #undef mlk_aarch64_invntt_zetas_layer67
541
+ #undef mlk_aarch64_ntt_zetas_layer12345
542
+ #undef mlk_aarch64_ntt_zetas_layer67
543
+ #undef mlk_aarch64_zetas_mulcache_native
544
+ #undef mlk_aarch64_zetas_mulcache_twisted_native
545
+ #undef mlk_intt_asm
546
+ #undef mlk_ntt_asm
547
+ #undef mlk_poly_mulcache_compute_asm
548
+ #undef mlk_poly_reduce_asm
549
+ #undef mlk_poly_tobytes_asm
550
+ #undef mlk_poly_tomont_asm
551
+ #undef mlk_polyvec_basemul_acc_montgomery_cached_asm_k2
552
+ #undef mlk_polyvec_basemul_acc_montgomery_cached_asm_k3
553
+ #undef mlk_polyvec_basemul_acc_montgomery_cached_asm_k4
554
+ #undef mlk_rej_uniform_asm
555
+ #undef mlk_rej_uniform_table
556
+ #endif /* MLK_SYS_AARCH64 */
557
+ #if defined(MLK_SYS_X86_64)
558
+ /*
559
+ * Undefine macros from native code (Arith, X86_64)
560
+ */
561
+ /* mlkem/src/native/x86_64/meta.h */
562
+ #undef MLK_ARITH_BACKEND_X86_64_DEFAULT
563
+ #undef MLK_NATIVE_X86_64_META_H
564
+ #undef MLK_USE_NATIVE_INTT
565
+ #undef MLK_USE_NATIVE_NTT
566
+ #undef MLK_USE_NATIVE_NTT_CUSTOM_ORDER
567
+ #undef MLK_USE_NATIVE_POLYVEC_BASEMUL_ACC_MONTGOMERY_CACHED
568
+ #undef MLK_USE_NATIVE_POLY_COMPRESS_D10
569
+ #undef MLK_USE_NATIVE_POLY_COMPRESS_D11
570
+ #undef MLK_USE_NATIVE_POLY_COMPRESS_D4
571
+ #undef MLK_USE_NATIVE_POLY_COMPRESS_D5
572
+ #undef MLK_USE_NATIVE_POLY_DECOMPRESS_D10
573
+ #undef MLK_USE_NATIVE_POLY_DECOMPRESS_D11
574
+ #undef MLK_USE_NATIVE_POLY_DECOMPRESS_D4
575
+ #undef MLK_USE_NATIVE_POLY_DECOMPRESS_D5
576
+ #undef MLK_USE_NATIVE_POLY_FROMBYTES
577
+ #undef MLK_USE_NATIVE_POLY_MULCACHE_COMPUTE
578
+ #undef MLK_USE_NATIVE_POLY_REDUCE
579
+ #undef MLK_USE_NATIVE_POLY_TOBYTES
580
+ #undef MLK_USE_NATIVE_POLY_TOMONT
581
+ #undef MLK_USE_NATIVE_REJ_UNIFORM
582
+ /* mlkem/src/native/x86_64/src/arith_native_x86_64.h */
583
+ #undef MLK_AVX2_REJ_UNIFORM_BUFLEN
584
+ #undef MLK_NATIVE_X86_64_SRC_ARITH_NATIVE_X86_64_H
585
+ #undef mlk_invntt_avx2
586
+ #undef mlk_ntt_avx2
587
+ #undef mlk_nttfrombytes_avx2
588
+ #undef mlk_ntttobytes_avx2
589
+ #undef mlk_nttunpack_avx2
590
+ #undef mlk_poly_compress_d10_avx2
591
+ #undef mlk_poly_compress_d11_avx2
592
+ #undef mlk_poly_compress_d4_avx2
593
+ #undef mlk_poly_compress_d5_avx2
594
+ #undef mlk_poly_decompress_d10_avx2
595
+ #undef mlk_poly_decompress_d11_avx2
596
+ #undef mlk_poly_decompress_d4_avx2
597
+ #undef mlk_poly_decompress_d5_avx2
598
+ #undef mlk_poly_mulcache_compute_avx2
599
+ #undef mlk_polyvec_basemul_acc_montgomery_cached_asm_k2
600
+ #undef mlk_polyvec_basemul_acc_montgomery_cached_asm_k3
601
+ #undef mlk_polyvec_basemul_acc_montgomery_cached_asm_k4
602
+ #undef mlk_reduce_avx2
603
+ #undef mlk_rej_uniform_asm
604
+ #undef mlk_rej_uniform_table
605
+ #undef mlk_tomont_avx2
606
+ /* mlkem/src/native/x86_64/src/compress_consts.h */
607
+ #undef MLK_NATIVE_X86_64_SRC_COMPRESS_CONSTS_H
608
+ #undef mlk_compress_d10_data
609
+ #undef mlk_compress_d11_data
610
+ #undef mlk_compress_d4_data
611
+ #undef mlk_compress_d5_data
612
+ #undef mlk_decompress_d10_data
613
+ #undef mlk_decompress_d11_data
614
+ #undef mlk_decompress_d4_data
615
+ #undef mlk_decompress_d5_data
616
+ /* mlkem/src/native/x86_64/src/consts.h */
617
+ #undef MLK_AVX2_BACKEND_DATA_OFFSET_MULCACHE_TWIDDLES
618
+ #undef MLK_AVX2_BACKEND_DATA_OFFSET_REVIDXB
619
+ #undef MLK_AVX2_BACKEND_DATA_OFFSET_REVIDXD
620
+ #undef MLK_AVX2_BACKEND_DATA_OFFSET_ZETAS_EXP
621
+ #undef MLK_NATIVE_X86_64_SRC_CONSTS_H
622
+ #undef mlk_qdata
623
+ #endif /* MLK_SYS_X86_64 */
624
+ #if defined(MLK_SYS_RISCV64)
625
+ /*
626
+ * Undefine macros from native code (Arith, RISC-V 64)
627
+ */
628
+ /* mlkem/src/native/riscv64/meta.h */
629
+ #undef MLK_ARITH_BACKEND_RISCV64
630
+ #undef MLK_NATIVE_RISCV64_META_H
631
+ #undef MLK_USE_NATIVE_INTT
632
+ #undef MLK_USE_NATIVE_NTT
633
+ #undef MLK_USE_NATIVE_POLYVEC_BASEMUL_ACC_MONTGOMERY_CACHED
634
+ #undef MLK_USE_NATIVE_POLY_MULCACHE_COMPUTE
635
+ #undef MLK_USE_NATIVE_POLY_REDUCE
636
+ #undef MLK_USE_NATIVE_POLY_TOMONT
637
+ #undef MLK_USE_NATIVE_REJ_UNIFORM
638
+ /* mlkem/src/native/riscv64/src/arith_native_riscv64.h */
639
+ #undef MLK_NATIVE_RISCV64_SRC_ARITH_NATIVE_RISCV64_H
640
+ #undef mlk_rv64v_poly_add
641
+ #undef mlk_rv64v_poly_basemul_mont_add_k2
642
+ #undef mlk_rv64v_poly_basemul_mont_add_k3
643
+ #undef mlk_rv64v_poly_basemul_mont_add_k4
644
+ #undef mlk_rv64v_poly_invntt_tomont
645
+ #undef mlk_rv64v_poly_ntt
646
+ #undef mlk_rv64v_poly_reduce
647
+ #undef mlk_rv64v_poly_sub
648
+ #undef mlk_rv64v_poly_tomont
649
+ #undef mlk_rv64v_rej_uniform
650
+ /* mlkem/src/native/riscv64/src/rv64v_debug.h */
651
+ #undef MLK_NATIVE_RISCV64_SRC_RV64V_DEBUG_H
652
+ #undef mlk_assert_abs_bound_int16m1
653
+ #undef mlk_assert_abs_bound_int16m2
654
+ #undef mlk_assert_bound_int16m1
655
+ #undef mlk_assert_bound_int16m2
656
+ #undef mlk_debug_check_bounds_int16m1
657
+ #undef mlk_debug_check_bounds_int16m2
658
+ #endif /* MLK_SYS_RISCV64 */
659
+ #endif /* MLK_CONFIG_USE_NATIVE_BACKEND_ARITH */
660
+ #endif /* !MLK_CONFIG_MONOBUILD_KEEP_SHARED_HEADERS */