pq_crypto 0.3.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 (328) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +56 -0
  3. data/CHANGELOG.md +62 -0
  4. data/GET_STARTED.md +366 -40
  5. data/README.md +76 -233
  6. data/SECURITY.md +107 -82
  7. data/ext/pqcrypto/extconf.rb +169 -87
  8. data/ext/pqcrypto/mldsa_api.h +1 -48
  9. data/ext/pqcrypto/mlkem_api.h +1 -18
  10. data/ext/pqcrypto/pq_externalmu.c +89 -204
  11. data/ext/pqcrypto/pqcrypto_native_api.h +129 -0
  12. data/ext/pqcrypto/pqcrypto_ruby_secure.c +484 -84
  13. data/ext/pqcrypto/pqcrypto_secure.c +203 -78
  14. data/ext/pqcrypto/pqcrypto_secure.h +53 -14
  15. data/ext/pqcrypto/pqcrypto_version.h +7 -0
  16. data/ext/pqcrypto/randombytes.h +9 -0
  17. data/ext/pqcrypto/vendor/.vendored +10 -5
  18. data/ext/pqcrypto/vendor/mldsa-native/BUILDING.md +105 -0
  19. data/ext/pqcrypto/vendor/mldsa-native/LICENSE +286 -0
  20. data/ext/pqcrypto/vendor/mldsa-native/META.yml +24 -0
  21. data/ext/pqcrypto/vendor/mldsa-native/README.md +221 -0
  22. data/ext/pqcrypto/vendor/mldsa-native/SECURITY.md +8 -0
  23. data/ext/pqcrypto/vendor/mldsa-native/mldsa/mldsa_native.c +721 -0
  24. data/ext/pqcrypto/vendor/mldsa-native/mldsa/mldsa_native.h +975 -0
  25. data/ext/pqcrypto/vendor/mldsa-native/mldsa/mldsa_native_asm.S +724 -0
  26. data/ext/pqcrypto/vendor/mldsa-native/mldsa/mldsa_native_config.h +723 -0
  27. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/cbmc.h +166 -0
  28. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/common.h +321 -0
  29. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/ct.c +21 -0
  30. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/ct.h +385 -0
  31. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/debug.c +73 -0
  32. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/debug.h +130 -0
  33. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/fips202.c +277 -0
  34. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/fips202.h +244 -0
  35. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/fips202x4.c +182 -0
  36. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/fips202x4.h +117 -0
  37. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/keccakf1600.c +438 -0
  38. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/keccakf1600.h +105 -0
  39. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/auto.h +71 -0
  40. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/fips202_native_aarch64.h +62 -0
  41. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x1_scalar_asm.S +376 -0
  42. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x1_v84a_asm.S +204 -0
  43. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x2_v84a_asm.S +259 -0
  44. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x4_v8a_scalar_hybrid_asm.S +1077 -0
  45. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x4_v8a_v84a_scalar_hybrid_asm.S +987 -0
  46. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccakf1600_round_constants.c +41 -0
  47. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/x1_scalar.h +26 -0
  48. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/x1_v84a.h +35 -0
  49. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/x2_v84a.h +37 -0
  50. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/x4_v8a_scalar.h +27 -0
  51. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/x4_v8a_v84a_scalar.h +36 -0
  52. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/api.h +69 -0
  53. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/README.md +10 -0
  54. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/mve.h +32 -0
  55. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/src/fips202_native_armv81m.h +20 -0
  56. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/src/keccak_f1600_x4_mve.S +638 -0
  57. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/src/keccak_f1600_x4_mve.c +136 -0
  58. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/src/keccakf1600_round_constants.c +52 -0
  59. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/auto.h +29 -0
  60. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/x86_64/src/KeccakP_1600_times4_SIMD256.c +488 -0
  61. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/x86_64/src/KeccakP_1600_times4_SIMD256.h +16 -0
  62. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/x86_64/xkcp.h +31 -0
  63. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/meta.h +247 -0
  64. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/aarch64_zetas.c +231 -0
  65. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/arith_native_aarch64.h +150 -0
  66. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/intt.S +753 -0
  67. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l4.S +129 -0
  68. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l5.S +145 -0
  69. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l7.S +177 -0
  70. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/ntt.S +653 -0
  71. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/pointwise_montgomery.S +79 -0
  72. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_caddq_asm.S +53 -0
  73. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_chknorm_asm.S +55 -0
  74. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_decompose_32_asm.S +85 -0
  75. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_decompose_88_asm.S +85 -0
  76. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_use_hint_32_asm.S +102 -0
  77. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_use_hint_88_asm.S +110 -0
  78. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/polyz_unpack_17_asm.S +72 -0
  79. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/polyz_unpack_19_asm.S +69 -0
  80. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/polyz_unpack_table.c +40 -0
  81. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_asm.S +189 -0
  82. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_eta2_asm.S +135 -0
  83. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_eta4_asm.S +128 -0
  84. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_eta_table.c +543 -0
  85. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_table.c +62 -0
  86. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/api.h +649 -0
  87. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/meta.h +23 -0
  88. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/meta.h +315 -0
  89. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/arith_native_x86_64.h +124 -0
  90. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/consts.c +157 -0
  91. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/consts.h +27 -0
  92. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/intt.S +2311 -0
  93. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/ntt.S +2383 -0
  94. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/nttunpack.S +239 -0
  95. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise.S +131 -0
  96. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_acc_l4.S +139 -0
  97. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_acc_l5.S +155 -0
  98. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_acc_l7.S +187 -0
  99. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_caddq_avx2.c +61 -0
  100. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_chknorm_avx2.c +52 -0
  101. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_decompose_32_avx2.c +155 -0
  102. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_decompose_88_avx2.c +155 -0
  103. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_use_hint_32_avx2.c +102 -0
  104. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_use_hint_88_avx2.c +104 -0
  105. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/polyz_unpack_17_avx2.c +91 -0
  106. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/polyz_unpack_19_avx2.c +93 -0
  107. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/rej_uniform_avx2.c +126 -0
  108. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/rej_uniform_eta2_avx2.c +155 -0
  109. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/rej_uniform_eta4_avx2.c +139 -0
  110. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/rej_uniform_table.c +160 -0
  111. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/packing.c +293 -0
  112. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/packing.h +224 -0
  113. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/params.h +77 -0
  114. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/poly.c +991 -0
  115. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/poly.h +393 -0
  116. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/poly_kl.c +946 -0
  117. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/poly_kl.h +360 -0
  118. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/polyvec.c +877 -0
  119. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/polyvec.h +725 -0
  120. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/randombytes.h +26 -0
  121. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/reduce.h +139 -0
  122. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/rounding.h +249 -0
  123. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/sign.c +1511 -0
  124. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/sign.h +806 -0
  125. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/symmetric.h +68 -0
  126. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/sys.h +268 -0
  127. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/zetas.inc +55 -0
  128. data/ext/pqcrypto/vendor/mlkem-native/BUILDING.md +104 -0
  129. data/ext/pqcrypto/vendor/mlkem-native/LICENSE +294 -0
  130. data/ext/pqcrypto/vendor/mlkem-native/META.yml +30 -0
  131. data/ext/pqcrypto/vendor/mlkem-native/README.md +223 -0
  132. data/ext/pqcrypto/vendor/mlkem-native/RELEASE.md +86 -0
  133. data/ext/pqcrypto/vendor/mlkem-native/SECURITY.md +8 -0
  134. data/ext/pqcrypto/vendor/mlkem-native/mlkem/README.md +23 -0
  135. data/ext/pqcrypto/vendor/mlkem-native/mlkem/mlkem_native.c +660 -0
  136. data/ext/pqcrypto/vendor/mlkem-native/mlkem/mlkem_native.h +538 -0
  137. data/ext/pqcrypto/vendor/mlkem-native/mlkem/mlkem_native_asm.S +681 -0
  138. data/ext/pqcrypto/vendor/mlkem-native/mlkem/mlkem_native_config.h +709 -0
  139. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/cbmc.h +174 -0
  140. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/common.h +274 -0
  141. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/compress.c +717 -0
  142. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/compress.h +688 -0
  143. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/debug.c +64 -0
  144. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/debug.h +128 -0
  145. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/fips202.c +251 -0
  146. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/fips202.h +158 -0
  147. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/fips202x4.c +208 -0
  148. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/fips202x4.h +80 -0
  149. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/keccakf1600.c +463 -0
  150. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/keccakf1600.h +98 -0
  151. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/auto.h +70 -0
  152. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/fips202_native_aarch64.h +69 -0
  153. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/keccak_f1600_x1_scalar_asm.S +375 -0
  154. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/keccak_f1600_x1_v84a_asm.S +203 -0
  155. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/keccak_f1600_x2_v84a_asm.S +258 -0
  156. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/keccak_f1600_x4_v8a_scalar_hybrid_asm.S +1076 -0
  157. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/keccak_f1600_x4_v8a_v84a_scalar_hybrid_asm.S +986 -0
  158. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/keccakf1600_round_constants.c +46 -0
  159. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/x1_scalar.h +25 -0
  160. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/x1_v84a.h +34 -0
  161. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/x2_v84a.h +35 -0
  162. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/x4_v8a_scalar.h +26 -0
  163. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/x4_v8a_v84a_scalar.h +35 -0
  164. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/api.h +117 -0
  165. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/armv81m/README.md +10 -0
  166. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/armv81m/mve.h +79 -0
  167. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/armv81m/src/fips202_native_armv81m.h +35 -0
  168. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/armv81m/src/keccak_f1600_x4_mve.S +667 -0
  169. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/armv81m/src/keccak_f1600_x4_mve.c +40 -0
  170. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/armv81m/src/keccakf1600_round_constants.c +51 -0
  171. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/armv81m/src/state_extract_bytes_x4_mve.S +290 -0
  172. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/armv81m/src/state_xor_bytes_x4_mve.S +314 -0
  173. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/auto.h +28 -0
  174. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/x86_64/keccak_f1600_x4_avx2.h +33 -0
  175. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/x86_64/src/fips202_native_x86_64.h +41 -0
  176. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/x86_64/src/keccak_f1600_x4_avx2.S +451 -0
  177. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/x86_64/src/keccakf1600_constants.c +51 -0
  178. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/indcpa.c +622 -0
  179. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/indcpa.h +156 -0
  180. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/kem.c +446 -0
  181. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/kem.h +326 -0
  182. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/README.md +16 -0
  183. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/meta.h +122 -0
  184. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/aarch64_zetas.c +174 -0
  185. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/arith_native_aarch64.h +177 -0
  186. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/intt.S +628 -0
  187. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/ntt.S +562 -0
  188. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/poly_mulcache_compute_asm.S +127 -0
  189. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/poly_reduce_asm.S +150 -0
  190. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/poly_tobytes_asm.S +117 -0
  191. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/poly_tomont_asm.S +98 -0
  192. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/polyvec_basemul_acc_montgomery_cached_asm_k2.S +261 -0
  193. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/polyvec_basemul_acc_montgomery_cached_asm_k3.S +314 -0
  194. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/polyvec_basemul_acc_montgomery_cached_asm_k4.S +368 -0
  195. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/rej_uniform_asm.S +226 -0
  196. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/rej_uniform_table.c +542 -0
  197. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/api.h +637 -0
  198. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/meta.h +25 -0
  199. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/riscv64/README.md +11 -0
  200. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/riscv64/meta.h +128 -0
  201. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/riscv64/src/arith_native_riscv64.h +45 -0
  202. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/riscv64/src/rv64v_debug.c +81 -0
  203. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/riscv64/src/rv64v_debug.h +145 -0
  204. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/riscv64/src/rv64v_izetas.inc +27 -0
  205. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/riscv64/src/rv64v_poly.c +805 -0
  206. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/riscv64/src/rv64v_zetas.inc +27 -0
  207. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/riscv64/src/rv64v_zetas_basemul.inc +39 -0
  208. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/README.md +4 -0
  209. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/meta.h +304 -0
  210. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/arith_native_x86_64.h +309 -0
  211. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/compress_consts.c +94 -0
  212. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/compress_consts.h +45 -0
  213. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/consts.c +102 -0
  214. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/consts.h +25 -0
  215. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/intt.S +719 -0
  216. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/mulcache_compute.S +90 -0
  217. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/ntt.S +639 -0
  218. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/nttfrombytes.S +193 -0
  219. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/ntttobytes.S +181 -0
  220. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/nttunpack.S +174 -0
  221. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/poly_compress_d10.S +382 -0
  222. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/poly_compress_d11.S +448 -0
  223. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/poly_compress_d4.S +163 -0
  224. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/poly_compress_d5.S +220 -0
  225. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/poly_decompress_d10.S +228 -0
  226. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/poly_decompress_d11.S +277 -0
  227. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/poly_decompress_d4.S +180 -0
  228. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/poly_decompress_d5.S +192 -0
  229. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/polyvec_basemul_acc_montgomery_cached_asm_k2.S +502 -0
  230. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/polyvec_basemul_acc_montgomery_cached_asm_k3.S +750 -0
  231. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/polyvec_basemul_acc_montgomery_cached_asm_k4.S +998 -0
  232. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/reduce.S +218 -0
  233. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/rej_uniform_asm.S +103 -0
  234. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/rej_uniform_table.c +544 -0
  235. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/tomont.S +155 -0
  236. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/params.h +76 -0
  237. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/poly.c +572 -0
  238. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/poly.h +317 -0
  239. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/poly_k.c +502 -0
  240. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/poly_k.h +668 -0
  241. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/randombytes.h +60 -0
  242. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/sampling.c +362 -0
  243. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/sampling.h +118 -0
  244. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/symmetric.h +70 -0
  245. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/sys.h +260 -0
  246. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/verify.c +20 -0
  247. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/verify.h +464 -0
  248. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/zetas.inc +30 -0
  249. data/lib/pq_crypto/algorithm_registry.rb +200 -0
  250. data/lib/pq_crypto/hybrid_kem.rb +1 -12
  251. data/lib/pq_crypto/kem.rb +104 -13
  252. data/lib/pq_crypto/pkcs8.rb +387 -0
  253. data/lib/pq_crypto/serialization.rb +1 -14
  254. data/lib/pq_crypto/signature.rb +123 -17
  255. data/lib/pq_crypto/spki.rb +131 -0
  256. data/lib/pq_crypto/version.rb +1 -1
  257. data/lib/pq_crypto.rb +79 -20
  258. data/script/vendor_libs.rb +88 -155
  259. metadata +241 -73
  260. data/ext/pqcrypto/vendor/pqclean/common/aes.c +0 -639
  261. data/ext/pqcrypto/vendor/pqclean/common/aes.h +0 -64
  262. data/ext/pqcrypto/vendor/pqclean/common/compat.h +0 -73
  263. data/ext/pqcrypto/vendor/pqclean/common/crypto_declassify.h +0 -7
  264. data/ext/pqcrypto/vendor/pqclean/common/fips202.c +0 -928
  265. data/ext/pqcrypto/vendor/pqclean/common/fips202.h +0 -166
  266. data/ext/pqcrypto/vendor/pqclean/common/keccak2x/feat.S +0 -168
  267. data/ext/pqcrypto/vendor/pqclean/common/keccak2x/fips202x2.c +0 -684
  268. data/ext/pqcrypto/vendor/pqclean/common/keccak2x/fips202x2.h +0 -60
  269. data/ext/pqcrypto/vendor/pqclean/common/keccak4x/KeccakP-1600-times4-SIMD256.c +0 -1028
  270. data/ext/pqcrypto/vendor/pqclean/common/keccak4x/KeccakP-1600-times4-SnP.h +0 -50
  271. data/ext/pqcrypto/vendor/pqclean/common/keccak4x/KeccakP-1600-unrolling.macros +0 -198
  272. data/ext/pqcrypto/vendor/pqclean/common/keccak4x/Makefile +0 -8
  273. data/ext/pqcrypto/vendor/pqclean/common/keccak4x/Makefile.Microsoft_nmake +0 -8
  274. data/ext/pqcrypto/vendor/pqclean/common/keccak4x/SIMD256-config.h +0 -3
  275. data/ext/pqcrypto/vendor/pqclean/common/keccak4x/align.h +0 -34
  276. data/ext/pqcrypto/vendor/pqclean/common/keccak4x/brg_endian.h +0 -142
  277. data/ext/pqcrypto/vendor/pqclean/common/nistseedexpander.c +0 -101
  278. data/ext/pqcrypto/vendor/pqclean/common/nistseedexpander.h +0 -39
  279. data/ext/pqcrypto/vendor/pqclean/common/randombytes.c +0 -355
  280. data/ext/pqcrypto/vendor/pqclean/common/randombytes.h +0 -27
  281. data/ext/pqcrypto/vendor/pqclean/common/sha2.c +0 -769
  282. data/ext/pqcrypto/vendor/pqclean/common/sha2.h +0 -173
  283. data/ext/pqcrypto/vendor/pqclean/common/sp800-185.c +0 -156
  284. data/ext/pqcrypto/vendor/pqclean/common/sp800-185.h +0 -27
  285. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/LICENSE +0 -5
  286. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/Makefile +0 -19
  287. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/Makefile.Microsoft_nmake +0 -23
  288. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/api.h +0 -18
  289. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/cbd.c +0 -83
  290. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/cbd.h +0 -11
  291. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/indcpa.c +0 -327
  292. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/indcpa.h +0 -22
  293. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/kem.c +0 -164
  294. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/kem.h +0 -23
  295. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/ntt.c +0 -146
  296. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/ntt.h +0 -14
  297. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/params.h +0 -36
  298. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/poly.c +0 -299
  299. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/poly.h +0 -37
  300. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/polyvec.c +0 -188
  301. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/polyvec.h +0 -26
  302. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/reduce.c +0 -41
  303. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/reduce.h +0 -13
  304. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/symmetric-shake.c +0 -71
  305. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/symmetric.h +0 -30
  306. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/verify.c +0 -67
  307. data/ext/pqcrypto/vendor/pqclean/crypto_kem/ml-kem-768/clean/verify.h +0 -13
  308. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/LICENSE +0 -5
  309. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/Makefile +0 -19
  310. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/Makefile.Microsoft_nmake +0 -23
  311. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/api.h +0 -50
  312. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/ntt.c +0 -98
  313. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/ntt.h +0 -10
  314. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/packing.c +0 -261
  315. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/packing.h +0 -31
  316. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/params.h +0 -44
  317. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/poly.c +0 -799
  318. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/poly.h +0 -52
  319. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/polyvec.c +0 -415
  320. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/polyvec.h +0 -65
  321. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/reduce.c +0 -69
  322. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/reduce.h +0 -17
  323. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/rounding.c +0 -92
  324. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/rounding.h +0 -14
  325. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/sign.c +0 -407
  326. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/sign.h +0 -47
  327. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/symmetric-shake.c +0 -26
  328. data/ext/pqcrypto/vendor/pqclean/crypto_sign/ml-dsa-65/clean/symmetric.h +0 -34
@@ -0,0 +1,724 @@
1
+ /*
2
+ * Copyright (c) The mldsa-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 mldsa-native repository.
9
+ * Do not modify it directly.
10
+ */
11
+
12
+ /******************************************************************************
13
+ *
14
+ * Single assembly unit for fixed-level build of mldsa-native
15
+ *
16
+ * This assembly unit bundles together all assembly files for a build
17
+ * of mldsa-native for a fixed security level (MLDSA-44/65/87).
18
+ *
19
+ * # Multi-level build
20
+ *
21
+ * If you want an SCU build of mldsa-native with support for multiple security
22
+ * levels, you should include this file once with
23
+ * MLD_CONFIG_MULTILEVEL_WITH_SHARED set.
24
+ *
25
+ * (You could also follow the same pattern as for mldsa_native_monobuild.c
26
+ * and include it for every level, setting MLD_CONFIG_MULTILEVEL_NO_SHARED
27
+ * for all but one. For builds with MLD_CONFIG_MULTILEVEL_NO_SHARED, this
28
+ * file will then be ignored.)
29
+ *
30
+ * # Configuration
31
+ *
32
+ * The following options from the mldsa-native configuration are relevant:
33
+ *
34
+ * - MLD_CONFIG_FIPS202_CUSTOM_HEADER
35
+ * Set this option if you use a custom FIPS202 implementation.
36
+ *
37
+ * - MLD_CONFIG_USE_NATIVE_BACKEND_ARITH
38
+ * Set this option if you want to include the native arithmetic backends
39
+ * in your build.
40
+ *
41
+ * - MLD_CONFIG_USE_NATIVE_BACKEND_FIPS202
42
+ * Set this option if you want to include the native FIPS202 backends
43
+ * in your build.
44
+ *
45
+ * - MLD_CONFIG_MONOBUILD_KEEP_SHARED_HEADERS
46
+ * Set this option if you want to keep the directives defined in
47
+ * level-independent headers. This is needed for a multi-level build.
48
+ */
49
+
50
+ /* If parts of the mldsa-native source tree are not used,
51
+ * consider reducing this header via `unifdef`.
52
+ *
53
+ * Example:
54
+ * ```bash
55
+ * unifdef -UMLD_CONFIG_USE_NATIVE_BACKEND_ARITH mldsa_native_asm.S
56
+ * ```
57
+ */
58
+
59
+ #include "src/common.h"
60
+
61
+ #if defined(MLD_CONFIG_USE_NATIVE_BACKEND_ARITH)
62
+ #if defined(MLD_SYS_AARCH64)
63
+ #include "src/native/aarch64/src/intt.S"
64
+ #include "src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l4.S"
65
+ #include "src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l5.S"
66
+ #include "src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l7.S"
67
+ #include "src/native/aarch64/src/ntt.S"
68
+ #include "src/native/aarch64/src/pointwise_montgomery.S"
69
+ #include "src/native/aarch64/src/poly_caddq_asm.S"
70
+ #include "src/native/aarch64/src/poly_chknorm_asm.S"
71
+ #include "src/native/aarch64/src/poly_decompose_32_asm.S"
72
+ #include "src/native/aarch64/src/poly_decompose_88_asm.S"
73
+ #include "src/native/aarch64/src/poly_use_hint_32_asm.S"
74
+ #include "src/native/aarch64/src/poly_use_hint_88_asm.S"
75
+ #include "src/native/aarch64/src/polyz_unpack_17_asm.S"
76
+ #include "src/native/aarch64/src/polyz_unpack_19_asm.S"
77
+ #include "src/native/aarch64/src/rej_uniform_asm.S"
78
+ #include "src/native/aarch64/src/rej_uniform_eta2_asm.S"
79
+ #include "src/native/aarch64/src/rej_uniform_eta4_asm.S"
80
+ #endif /* MLD_SYS_AARCH64 */
81
+ #if defined(MLD_SYS_X86_64)
82
+ #include "src/native/x86_64/src/intt.S"
83
+ #include "src/native/x86_64/src/ntt.S"
84
+ #include "src/native/x86_64/src/nttunpack.S"
85
+ #include "src/native/x86_64/src/pointwise.S"
86
+ #include "src/native/x86_64/src/pointwise_acc_l4.S"
87
+ #include "src/native/x86_64/src/pointwise_acc_l5.S"
88
+ #include "src/native/x86_64/src/pointwise_acc_l7.S"
89
+ #endif /* MLD_SYS_X86_64 */
90
+ #endif /* MLD_CONFIG_USE_NATIVE_BACKEND_ARITH */
91
+
92
+ #if defined(MLD_CONFIG_USE_NATIVE_BACKEND_FIPS202)
93
+ #if defined(MLD_SYS_AARCH64)
94
+ #include "src/fips202/native/aarch64/src/keccak_f1600_x1_scalar_asm.S"
95
+ #include "src/fips202/native/aarch64/src/keccak_f1600_x1_v84a_asm.S"
96
+ #include "src/fips202/native/aarch64/src/keccak_f1600_x2_v84a_asm.S"
97
+ #include "src/fips202/native/aarch64/src/keccak_f1600_x4_v8a_scalar_hybrid_asm.S"
98
+ #include "src/fips202/native/aarch64/src/keccak_f1600_x4_v8a_v84a_scalar_hybrid_asm.S"
99
+ #endif /* MLD_SYS_AARCH64 */
100
+ #if defined(MLD_SYS_X86_64)
101
+ #endif
102
+ #if defined(MLD_SYS_ARMV81M_MVE)
103
+ #include "src/fips202/native/armv81m/src/keccak_f1600_x4_mve.S"
104
+ #endif
105
+ #endif /* MLD_CONFIG_USE_NATIVE_BACKEND_FIPS202 */
106
+
107
+
108
+ /* Macro #undef's
109
+ *
110
+ * The following undefines macros from headers
111
+ * included by the source files imported above.
112
+ *
113
+ * This is to allow building and linking multiple builds
114
+ * of mldsa-native for varying parameter sets through concatenation
115
+ * of this file, as if the files had been compiled separately.
116
+ * If this is not relevant to you, you may remove the following.
117
+ *
118
+ * NOTE: This is not needed for the assembly SCU since, at present,
119
+ * there is no need to include it multiple times.
120
+ * We keep it for uniformity with mldsa_native.c only.
121
+ *
122
+ * NOTE: To avoid having to distinguish between which headers are included
123
+ * from the assembly files, we #undef the same set of directives
124
+ * as in mldsa_native.c
125
+ */
126
+
127
+ /*
128
+ * Undefine macros from MLD_CONFIG_PARAMETER_SET-specific files
129
+ */
130
+ /* mldsa/mldsa_native.h */
131
+ #undef CRYPTO_BYTES
132
+ #undef CRYPTO_PUBLICKEYBYTES
133
+ #undef CRYPTO_SECRETKEYBYTES
134
+ #undef MLDSA44_BYTES
135
+ #undef MLDSA44_CRHBYTES
136
+ #undef MLDSA44_PUBLICKEYBYTES
137
+ #undef MLDSA44_RNDBYTES
138
+ #undef MLDSA44_SECRETKEYBYTES
139
+ #undef MLDSA44_SEEDBYTES
140
+ #undef MLDSA44_TRBYTES
141
+ #undef MLDSA65_BYTES
142
+ #undef MLDSA65_CRHBYTES
143
+ #undef MLDSA65_PUBLICKEYBYTES
144
+ #undef MLDSA65_RNDBYTES
145
+ #undef MLDSA65_SECRETKEYBYTES
146
+ #undef MLDSA65_SEEDBYTES
147
+ #undef MLDSA65_TRBYTES
148
+ #undef MLDSA87_BYTES
149
+ #undef MLDSA87_CRHBYTES
150
+ #undef MLDSA87_PUBLICKEYBYTES
151
+ #undef MLDSA87_RNDBYTES
152
+ #undef MLDSA87_SECRETKEYBYTES
153
+ #undef MLDSA87_SEEDBYTES
154
+ #undef MLDSA87_TRBYTES
155
+ #undef MLDSA_BYTES
156
+ #undef MLDSA_BYTES_
157
+ #undef MLDSA_CRHBYTES
158
+ #undef MLDSA_PUBLICKEYBYTES
159
+ #undef MLDSA_PUBLICKEYBYTES_
160
+ #undef MLDSA_RNDBYTES
161
+ #undef MLDSA_SECRETKEYBYTES
162
+ #undef MLDSA_SECRETKEYBYTES_
163
+ #undef MLDSA_SEEDBYTES
164
+ #undef MLDSA_TRBYTES
165
+ #undef MLD_API_CONCAT
166
+ #undef MLD_API_CONCAT_
167
+ #undef MLD_API_CONCAT_UNDERSCORE
168
+ #undef MLD_API_LEGACY_CONFIG
169
+ #undef MLD_API_MUST_CHECK_RETURN_VALUE
170
+ #undef MLD_API_NAMESPACE
171
+ #undef MLD_API_QUALIFIER
172
+ #undef MLD_CONFIG_API_CONSTANTS_ONLY
173
+ #undef MLD_CONFIG_API_NAMESPACE_PREFIX
174
+ #undef MLD_CONFIG_API_NO_SUPERCOP
175
+ #undef MLD_CONFIG_API_PARAMETER_SET
176
+ #undef MLD_CONFIG_API_QUALIFIER
177
+ #undef MLD_DOMAIN_SEPARATION_MAX_BYTES
178
+ #undef MLD_ERR_FAIL
179
+ #undef MLD_ERR_OUT_OF_MEMORY
180
+ #undef MLD_ERR_RNG_FAIL
181
+ #undef MLD_H
182
+ #undef MLD_MAX3_
183
+ #undef MLD_PREHASH_NONE
184
+ #undef MLD_PREHASH_SHA2_224
185
+ #undef MLD_PREHASH_SHA2_256
186
+ #undef MLD_PREHASH_SHA2_384
187
+ #undef MLD_PREHASH_SHA2_512
188
+ #undef MLD_PREHASH_SHA2_512_224
189
+ #undef MLD_PREHASH_SHA2_512_256
190
+ #undef MLD_PREHASH_SHA3_224
191
+ #undef MLD_PREHASH_SHA3_256
192
+ #undef MLD_PREHASH_SHA3_384
193
+ #undef MLD_PREHASH_SHA3_512
194
+ #undef MLD_PREHASH_SHAKE_128
195
+ #undef MLD_PREHASH_SHAKE_256
196
+ #undef MLD_TOTAL_ALLOC_44
197
+ #undef MLD_TOTAL_ALLOC_44_KEYPAIR
198
+ #undef MLD_TOTAL_ALLOC_44_KEYPAIR_NO_PCT
199
+ #undef MLD_TOTAL_ALLOC_44_KEYPAIR_PCT
200
+ #undef MLD_TOTAL_ALLOC_44_SIGN
201
+ #undef MLD_TOTAL_ALLOC_44_VERIFY
202
+ #undef MLD_TOTAL_ALLOC_65
203
+ #undef MLD_TOTAL_ALLOC_65_KEYPAIR
204
+ #undef MLD_TOTAL_ALLOC_65_KEYPAIR_NO_PCT
205
+ #undef MLD_TOTAL_ALLOC_65_KEYPAIR_PCT
206
+ #undef MLD_TOTAL_ALLOC_65_SIGN
207
+ #undef MLD_TOTAL_ALLOC_65_VERIFY
208
+ #undef MLD_TOTAL_ALLOC_87
209
+ #undef MLD_TOTAL_ALLOC_87_KEYPAIR
210
+ #undef MLD_TOTAL_ALLOC_87_KEYPAIR_NO_PCT
211
+ #undef MLD_TOTAL_ALLOC_87_KEYPAIR_PCT
212
+ #undef MLD_TOTAL_ALLOC_87_SIGN
213
+ #undef MLD_TOTAL_ALLOC_87_VERIFY
214
+ #undef crypto_sign
215
+ #undef crypto_sign_keypair
216
+ #undef crypto_sign_open
217
+ #undef crypto_sign_signature
218
+ #undef crypto_sign_verify
219
+ /* mldsa/src/common.h */
220
+ #undef MLD_ADD_PARAM_SET
221
+ #undef MLD_ALLOC
222
+ #undef MLD_APPLY
223
+ #undef MLD_ASM_FN_SIZE
224
+ #undef MLD_ASM_FN_SYMBOL
225
+ #undef MLD_ASM_NAMESPACE
226
+ #undef MLD_BUILD_INTERNAL
227
+ #undef MLD_COMMON_H
228
+ #undef MLD_CONCAT
229
+ #undef MLD_CONCAT_
230
+ #undef MLD_CONTEXT_PARAMETERS_0
231
+ #undef MLD_CONTEXT_PARAMETERS_1
232
+ #undef MLD_CONTEXT_PARAMETERS_2
233
+ #undef MLD_CONTEXT_PARAMETERS_3
234
+ #undef MLD_CONTEXT_PARAMETERS_4
235
+ #undef MLD_CONTEXT_PARAMETERS_5
236
+ #undef MLD_CONTEXT_PARAMETERS_6
237
+ #undef MLD_CONTEXT_PARAMETERS_7
238
+ #undef MLD_CONTEXT_PARAMETERS_8
239
+ #undef MLD_CONTEXT_PARAMETERS_9
240
+ #undef MLD_EMPTY_CU
241
+ #undef MLD_ERR_FAIL
242
+ #undef MLD_ERR_OUT_OF_MEMORY
243
+ #undef MLD_ERR_RNG_FAIL
244
+ #undef MLD_EXTERNAL_API
245
+ #undef MLD_FIPS202X4_HEADER_FILE
246
+ #undef MLD_FIPS202_HEADER_FILE
247
+ #undef MLD_FREE
248
+ #undef MLD_INTERNAL_API
249
+ #undef MLD_MULTILEVEL_BUILD
250
+ #undef MLD_NAMESPACE
251
+ #undef MLD_NAMESPACE_KL
252
+ #undef MLD_NAMESPACE_PREFIX
253
+ #undef MLD_NAMESPACE_PREFIX_KL
254
+ #undef MLD_UNION_OR_STRUCT
255
+ #undef mld_memcpy
256
+ #undef mld_memset
257
+ /* mldsa/src/packing.h */
258
+ #undef MLD_PACKING_H
259
+ #undef mld_pack_pk
260
+ #undef mld_pack_sig_c_h
261
+ #undef mld_pack_sig_z
262
+ #undef mld_pack_sk
263
+ #undef mld_unpack_pk
264
+ #undef mld_unpack_sig
265
+ #undef mld_unpack_sk
266
+ /* mldsa/src/params.h */
267
+ #undef MLDSA_BETA
268
+ #undef MLDSA_CRHBYTES
269
+ #undef MLDSA_CRYPTO_BYTES
270
+ #undef MLDSA_CRYPTO_PUBLICKEYBYTES
271
+ #undef MLDSA_CRYPTO_SECRETKEYBYTES
272
+ #undef MLDSA_CTILDEBYTES
273
+ #undef MLDSA_D
274
+ #undef MLDSA_ETA
275
+ #undef MLDSA_GAMMA1
276
+ #undef MLDSA_GAMMA2
277
+ #undef MLDSA_K
278
+ #undef MLDSA_L
279
+ #undef MLDSA_N
280
+ #undef MLDSA_OMEGA
281
+ #undef MLDSA_POLYETA_PACKEDBYTES
282
+ #undef MLDSA_POLYT0_PACKEDBYTES
283
+ #undef MLDSA_POLYT1_PACKEDBYTES
284
+ #undef MLDSA_POLYVECH_PACKEDBYTES
285
+ #undef MLDSA_POLYW1_PACKEDBYTES
286
+ #undef MLDSA_POLYZ_PACKEDBYTES
287
+ #undef MLDSA_Q
288
+ #undef MLDSA_Q_HALF
289
+ #undef MLDSA_RNDBYTES
290
+ #undef MLDSA_SEEDBYTES
291
+ #undef MLDSA_TAU
292
+ #undef MLDSA_TRBYTES
293
+ #undef MLD_PARAMS_H
294
+ /* mldsa/src/poly_kl.h */
295
+ #undef MLD_POLYETA_UNPACK_LOWER_BOUND
296
+ #undef MLD_POLY_KL_H
297
+ #undef mld_poly_challenge
298
+ #undef mld_poly_decompose
299
+ #undef mld_poly_make_hint
300
+ #undef mld_poly_uniform_eta
301
+ #undef mld_poly_uniform_eta_4x
302
+ #undef mld_poly_uniform_gamma1
303
+ #undef mld_poly_uniform_gamma1_4x
304
+ #undef mld_poly_use_hint
305
+ #undef mld_polyeta_pack
306
+ #undef mld_polyeta_unpack
307
+ #undef mld_polyw1_pack
308
+ #undef mld_polyz_pack
309
+ #undef mld_polyz_unpack
310
+ /* mldsa/src/polyvec.h */
311
+ #undef MLD_POLYVEC_H
312
+ #undef mld_polymat
313
+ #undef mld_polymat_get_row
314
+ #undef mld_polyvec_matrix_expand
315
+ #undef mld_polyvec_matrix_pointwise_montgomery
316
+ #undef mld_polyveck
317
+ #undef mld_polyveck_add
318
+ #undef mld_polyveck_caddq
319
+ #undef mld_polyveck_chknorm
320
+ #undef mld_polyveck_decompose
321
+ #undef mld_polyveck_invntt_tomont
322
+ #undef mld_polyveck_make_hint
323
+ #undef mld_polyveck_ntt
324
+ #undef mld_polyveck_pack_eta
325
+ #undef mld_polyveck_pack_t0
326
+ #undef mld_polyveck_pack_w1
327
+ #undef mld_polyveck_pointwise_poly_montgomery
328
+ #undef mld_polyveck_power2round
329
+ #undef mld_polyveck_reduce
330
+ #undef mld_polyveck_shiftl
331
+ #undef mld_polyveck_sub
332
+ #undef mld_polyveck_unpack_eta
333
+ #undef mld_polyveck_unpack_t0
334
+ #undef mld_polyveck_use_hint
335
+ #undef mld_polyvecl
336
+ #undef mld_polyvecl_chknorm
337
+ #undef mld_polyvecl_ntt
338
+ #undef mld_polyvecl_pack_eta
339
+ #undef mld_polyvecl_pointwise_acc_montgomery
340
+ #undef mld_polyvecl_uniform_gamma1
341
+ #undef mld_polyvecl_unpack_eta
342
+ #undef mld_polyvecl_unpack_z
343
+ /* mldsa/src/rounding.h */
344
+ #undef MLD_2_POW_D
345
+ #undef MLD_ROUNDING_H
346
+ #undef mld_decompose
347
+ #undef mld_make_hint
348
+ #undef mld_power2round
349
+ #undef mld_use_hint
350
+ /* mldsa/src/sign.h */
351
+ #undef MLD_DOMAIN_SEPARATION_MAX_BYTES
352
+ #undef MLD_PREHASH_NONE
353
+ #undef MLD_PREHASH_SHA2_224
354
+ #undef MLD_PREHASH_SHA2_256
355
+ #undef MLD_PREHASH_SHA2_384
356
+ #undef MLD_PREHASH_SHA2_512
357
+ #undef MLD_PREHASH_SHA2_512_224
358
+ #undef MLD_PREHASH_SHA2_512_256
359
+ #undef MLD_PREHASH_SHA3_224
360
+ #undef MLD_PREHASH_SHA3_256
361
+ #undef MLD_PREHASH_SHA3_384
362
+ #undef MLD_PREHASH_SHA3_512
363
+ #undef MLD_PREHASH_SHAKE_128
364
+ #undef MLD_PREHASH_SHAKE_256
365
+ #undef MLD_SIGN_H
366
+ #undef mld_prepare_domain_separation_prefix
367
+ #undef mld_sign
368
+ #undef mld_sign_keypair
369
+ #undef mld_sign_keypair_internal
370
+ #undef mld_sign_open
371
+ #undef mld_sign_pk_from_sk
372
+ #undef mld_sign_signature
373
+ #undef mld_sign_signature_extmu
374
+ #undef mld_sign_signature_internal
375
+ #undef mld_sign_signature_pre_hash_internal
376
+ #undef mld_sign_signature_pre_hash_shake256
377
+ #undef mld_sign_verify
378
+ #undef mld_sign_verify_extmu
379
+ #undef mld_sign_verify_internal
380
+ #undef mld_sign_verify_pre_hash_internal
381
+ #undef mld_sign_verify_pre_hash_shake256
382
+
383
+ #if !defined(MLD_CONFIG_MONOBUILD_KEEP_SHARED_HEADERS)
384
+ /*
385
+ * Undefine macros from MLD_CONFIG_PARAMETER_SET-generic files
386
+ */
387
+ /* mldsa/src/ct.h */
388
+ #undef MLD_CT_H
389
+ #undef MLD_USE_ASM_VALUE_BARRIER
390
+ #undef mld_ct_opt_blocker_u64
391
+ /* mldsa/src/debug.h */
392
+ #undef MLD_DEBUG_H
393
+ #undef mld_assert
394
+ #undef mld_assert_abs_bound
395
+ #undef mld_assert_abs_bound_2d
396
+ #undef mld_assert_bound
397
+ #undef mld_assert_bound_2d
398
+ #undef mld_debug_check_assert
399
+ #undef mld_debug_check_bounds
400
+ /* mldsa/src/poly.h */
401
+ #undef MLD_INTT_BOUND
402
+ #undef MLD_NTT_BOUND
403
+ #undef MLD_POLY_H
404
+ #undef mld_poly_add
405
+ #undef mld_poly_caddq
406
+ #undef mld_poly_chknorm
407
+ #undef mld_poly_invntt_tomont
408
+ #undef mld_poly_ntt
409
+ #undef mld_poly_pointwise_montgomery
410
+ #undef mld_poly_power2round
411
+ #undef mld_poly_reduce
412
+ #undef mld_poly_shiftl
413
+ #undef mld_poly_sub
414
+ #undef mld_poly_uniform
415
+ #undef mld_poly_uniform_4x
416
+ #undef mld_polyt0_pack
417
+ #undef mld_polyt0_unpack
418
+ #undef mld_polyt1_pack
419
+ #undef mld_polyt1_unpack
420
+ /* mldsa/src/randombytes.h */
421
+ #undef MLD_RANDOMBYTES_H
422
+ /* mldsa/src/reduce.h */
423
+ #undef MLD_MONT
424
+ #undef MLD_REDUCE32_DOMAIN_MAX
425
+ #undef MLD_REDUCE32_RANGE_MAX
426
+ #undef MLD_REDUCE_H
427
+ /* mldsa/src/symmetric.h */
428
+ #undef MLD_STREAM128_BLOCKBYTES
429
+ #undef MLD_STREAM256_BLOCKBYTES
430
+ #undef MLD_SYMMETRIC_H
431
+ #undef mld_xof128_absorb_once
432
+ #undef mld_xof128_ctx
433
+ #undef mld_xof128_init
434
+ #undef mld_xof128_release
435
+ #undef mld_xof128_squeezeblocks
436
+ #undef mld_xof128_x4_absorb
437
+ #undef mld_xof128_x4_ctx
438
+ #undef mld_xof128_x4_init
439
+ #undef mld_xof128_x4_release
440
+ #undef mld_xof128_x4_squeezeblocks
441
+ #undef mld_xof256_absorb_once
442
+ #undef mld_xof256_ctx
443
+ #undef mld_xof256_init
444
+ #undef mld_xof256_release
445
+ #undef mld_xof256_squeezeblocks
446
+ #undef mld_xof256_x4_absorb
447
+ #undef mld_xof256_x4_ctx
448
+ #undef mld_xof256_x4_init
449
+ #undef mld_xof256_x4_release
450
+ #undef mld_xof256_x4_squeezeblocks
451
+ /* mldsa/src/sys.h */
452
+ #undef MLD_ALIGN
453
+ #undef MLD_ALIGN_UP
454
+ #undef MLD_ALWAYS_INLINE
455
+ #undef MLD_CET_ENDBR
456
+ #undef MLD_CT_TESTING_DECLASSIFY
457
+ #undef MLD_CT_TESTING_SECRET
458
+ #undef MLD_DEFAULT_ALIGN
459
+ #undef MLD_HAVE_INLINE_ASM
460
+ #undef MLD_INLINE
461
+ #undef MLD_MUST_CHECK_RETURN_VALUE
462
+ #undef MLD_RESTRICT
463
+ #undef MLD_STATIC_TESTABLE
464
+ #undef MLD_SYS_AARCH64
465
+ #undef MLD_SYS_AARCH64_EB
466
+ #undef MLD_SYS_APPLE
467
+ #undef MLD_SYS_ARMV81M_MVE
468
+ #undef MLD_SYS_BIG_ENDIAN
469
+ #undef MLD_SYS_H
470
+ #undef MLD_SYS_LINUX
471
+ #undef MLD_SYS_LITTLE_ENDIAN
472
+ #undef MLD_SYS_PPC64LE
473
+ #undef MLD_SYS_RISCV32
474
+ #undef MLD_SYS_RISCV64
475
+ #undef MLD_SYS_RISCV64_RVV
476
+ #undef MLD_SYS_WINDOWS
477
+ #undef MLD_SYS_X86_64
478
+ #undef MLD_SYS_X86_64_AVX2
479
+ /* mldsa/src/cbmc.h */
480
+ #undef MLD_CBMC_H
481
+ #undef __contract__
482
+ #undef __loop__
483
+
484
+ #if !defined(MLD_CONFIG_FIPS202_CUSTOM_HEADER)
485
+ /*
486
+ * Undefine macros from FIPS-202 files
487
+ */
488
+ /* mldsa/src/fips202/fips202.h */
489
+ #undef MLD_FIPS202_FIPS202_H
490
+ #undef MLD_KECCAK_LANES
491
+ #undef SHA3_256_HASHBYTES
492
+ #undef SHA3_256_RATE
493
+ #undef SHA3_512_HASHBYTES
494
+ #undef SHA3_512_RATE
495
+ #undef SHAKE128_RATE
496
+ #undef SHAKE256_RATE
497
+ #undef mld_shake128_absorb
498
+ #undef mld_shake128_finalize
499
+ #undef mld_shake128_init
500
+ #undef mld_shake128_release
501
+ #undef mld_shake128_squeeze
502
+ #undef mld_shake256
503
+ #undef mld_shake256_absorb
504
+ #undef mld_shake256_finalize
505
+ #undef mld_shake256_init
506
+ #undef mld_shake256_release
507
+ #undef mld_shake256_squeeze
508
+ /* mldsa/src/fips202/fips202x4.h */
509
+ #undef MLD_FIPS202_FIPS202X4_H
510
+ #undef mld_shake128x4_absorb_once
511
+ #undef mld_shake128x4_init
512
+ #undef mld_shake128x4_release
513
+ #undef mld_shake128x4_squeezeblocks
514
+ #undef mld_shake256x4_absorb_once
515
+ #undef mld_shake256x4_init
516
+ #undef mld_shake256x4_release
517
+ #undef mld_shake256x4_squeezeblocks
518
+ /* mldsa/src/fips202/keccakf1600.h */
519
+ #undef MLD_FIPS202_KECCAKF1600_H
520
+ #undef MLD_KECCAK_LANES
521
+ #undef MLD_KECCAK_WAY
522
+ #undef mld_keccakf1600_extract_bytes
523
+ #undef mld_keccakf1600_permute
524
+ #undef mld_keccakf1600_xor_bytes
525
+ #undef mld_keccakf1600x4_extract_bytes
526
+ #undef mld_keccakf1600x4_permute
527
+ #undef mld_keccakf1600x4_xor_bytes
528
+ #endif /* !MLD_CONFIG_FIPS202_CUSTOM_HEADER */
529
+
530
+ #if defined(MLD_CONFIG_USE_NATIVE_BACKEND_FIPS202)
531
+ /* mldsa/src/fips202/native/api.h */
532
+ #undef MLD_FIPS202_NATIVE_API_H
533
+ #undef MLD_NATIVE_FUNC_FALLBACK
534
+ #undef MLD_NATIVE_FUNC_SUCCESS
535
+ /* mldsa/src/fips202/native/auto.h */
536
+ #undef MLD_FIPS202_NATIVE_AUTO_H
537
+ #if defined(MLD_SYS_AARCH64)
538
+ /*
539
+ * Undefine macros from native code (FIPS202, AArch64)
540
+ */
541
+ /* mldsa/src/fips202/native/aarch64/auto.h */
542
+ #undef MLD_FIPS202_NATIVE_AARCH64_AUTO_H
543
+ /* mldsa/src/fips202/native/aarch64/src/fips202_native_aarch64.h */
544
+ #undef MLD_FIPS202_NATIVE_AARCH64_SRC_FIPS202_NATIVE_AARCH64_H
545
+ #undef mld_keccak_f1600_x1_scalar_asm
546
+ #undef mld_keccak_f1600_x1_v84a_asm
547
+ #undef mld_keccak_f1600_x2_v84a_asm
548
+ #undef mld_keccak_f1600_x4_v8a_scalar_hybrid_asm
549
+ #undef mld_keccak_f1600_x4_v8a_v84a_scalar_hybrid_asm
550
+ #undef mld_keccakf1600_round_constants
551
+ /* mldsa/src/fips202/native/aarch64/x1_scalar.h */
552
+ #undef MLD_FIPS202_AARCH64_NEED_X1_SCALAR
553
+ #undef MLD_FIPS202_NATIVE_AARCH64_X1_SCALAR_H
554
+ #undef MLD_USE_FIPS202_X1_NATIVE
555
+ /* mldsa/src/fips202/native/aarch64/x1_v84a.h */
556
+ #undef MLD_FIPS202_AARCH64_NEED_X1_V84A
557
+ #undef MLD_FIPS202_NATIVE_AARCH64_X1_V84A_H
558
+ #undef MLD_USE_FIPS202_X1_NATIVE
559
+ /* mldsa/src/fips202/native/aarch64/x2_v84a.h */
560
+ #undef MLD_FIPS202_AARCH64_NEED_X2_V84A
561
+ #undef MLD_FIPS202_NATIVE_AARCH64_X2_V84A_H
562
+ #undef MLD_USE_FIPS202_X4_NATIVE
563
+ /* mldsa/src/fips202/native/aarch64/x4_v8a_scalar.h */
564
+ #undef MLD_FIPS202_AARCH64_NEED_X4_V8A_SCALAR_HYBRID
565
+ #undef MLD_FIPS202_NATIVE_AARCH64_X4_V8A_SCALAR_H
566
+ #undef MLD_USE_FIPS202_X4_NATIVE
567
+ /* mldsa/src/fips202/native/aarch64/x4_v8a_v84a_scalar.h */
568
+ #undef MLD_FIPS202_AARCH64_NEED_X4_V8A_V84A_SCALAR_HYBRID
569
+ #undef MLD_FIPS202_NATIVE_AARCH64_X4_V8A_V84A_SCALAR_H
570
+ #undef MLD_USE_FIPS202_X4_NATIVE
571
+ #endif /* MLD_SYS_AARCH64 */
572
+ #if defined(MLD_SYS_X86_64)
573
+ /*
574
+ * Undefine macros from native code (FIPS202, x86_64)
575
+ */
576
+ /* mldsa/src/fips202/native/x86_64/src/KeccakP_1600_times4_SIMD256.h */
577
+ #undef MLD_FIPS202_NATIVE_X86_64_SRC_KECCAKP_1600_TIMES4_SIMD256_H
578
+ #undef mld_keccakf1600x4_permute24
579
+ /* mldsa/src/fips202/native/x86_64/xkcp.h */
580
+ #undef MLD_FIPS202_NATIVE_X86_64_XKCP_H
581
+ #undef MLD_FIPS202_X86_64_XKCP
582
+ #undef MLD_USE_FIPS202_X4_NATIVE
583
+ #endif /* MLD_SYS_X86_64 */
584
+ #if defined(MLD_SYS_ARMV81M_MVE)
585
+ /*
586
+ * Undefine macros from native code (FIPS202, Armv8.1-M)
587
+ */
588
+ /* mldsa/src/fips202/native/armv81m/mve.h */
589
+ #undef MLD_FIPS202_ARMV81M_NEED_X4
590
+ #undef MLD_FIPS202_NATIVE_ARMV81M
591
+ #undef MLD_FIPS202_NATIVE_ARMV81M_MVE_H
592
+ #undef MLD_USE_FIPS202_X4_NATIVE
593
+ #undef mld_keccak_f1600_x4_native_impl
594
+ /* mldsa/src/fips202/native/armv81m/src/fips202_native_armv81m.h */
595
+ #undef MLD_FIPS202_NATIVE_ARMV81M_SRC_FIPS202_NATIVE_ARMV81M_H
596
+ #undef mld_keccak_f1600_x4_mve_asm
597
+ #undef mld_keccakf1600_round_constants
598
+ #endif /* MLD_SYS_ARMV81M_MVE */
599
+ #endif /* MLD_CONFIG_USE_NATIVE_BACKEND_FIPS202 */
600
+ #if defined(MLD_CONFIG_USE_NATIVE_BACKEND_ARITH)
601
+ /* mldsa/src/native/api.h */
602
+ #undef MLD_INTT_BOUND
603
+ #undef MLD_NATIVE_API_H
604
+ #undef MLD_NATIVE_FUNC_FALLBACK
605
+ #undef MLD_NATIVE_FUNC_SUCCESS
606
+ #undef MLD_NTT_BOUND
607
+ #undef MLD_REDUCE32_RANGE_MAX
608
+ /* mldsa/src/native/meta.h */
609
+ #undef MLD_NATIVE_META_H
610
+ #if defined(MLD_SYS_AARCH64)
611
+ /*
612
+ * Undefine macros from native code (Arith, AArch64)
613
+ */
614
+ /* mldsa/src/native/aarch64/meta.h */
615
+ #undef MLD_ARITH_BACKEND_AARCH64
616
+ #undef MLD_NATIVE_AARCH64_META_H
617
+ #undef MLD_USE_NATIVE_INTT
618
+ #undef MLD_USE_NATIVE_NTT
619
+ #undef MLD_USE_NATIVE_POINTWISE_MONTGOMERY
620
+ #undef MLD_USE_NATIVE_POLYVECL_POINTWISE_ACC_MONTGOMERY_L4
621
+ #undef MLD_USE_NATIVE_POLYVECL_POINTWISE_ACC_MONTGOMERY_L5
622
+ #undef MLD_USE_NATIVE_POLYVECL_POINTWISE_ACC_MONTGOMERY_L7
623
+ #undef MLD_USE_NATIVE_POLYZ_UNPACK_17
624
+ #undef MLD_USE_NATIVE_POLYZ_UNPACK_19
625
+ #undef MLD_USE_NATIVE_POLY_CADDQ
626
+ #undef MLD_USE_NATIVE_POLY_CHKNORM
627
+ #undef MLD_USE_NATIVE_POLY_DECOMPOSE_32
628
+ #undef MLD_USE_NATIVE_POLY_DECOMPOSE_88
629
+ #undef MLD_USE_NATIVE_POLY_USE_HINT_32
630
+ #undef MLD_USE_NATIVE_POLY_USE_HINT_88
631
+ #undef MLD_USE_NATIVE_REJ_UNIFORM
632
+ #undef MLD_USE_NATIVE_REJ_UNIFORM_ETA2
633
+ #undef MLD_USE_NATIVE_REJ_UNIFORM_ETA4
634
+ /* mldsa/src/native/aarch64/src/arith_native_aarch64.h */
635
+ #undef MLD_AARCH64_REJ_UNIFORM_ETA2_BUFLEN
636
+ #undef MLD_AARCH64_REJ_UNIFORM_ETA4_BUFLEN
637
+ #undef MLD_NATIVE_AARCH64_SRC_ARITH_NATIVE_AARCH64_H
638
+ #undef mld_aarch64_intt_zetas_layer123456
639
+ #undef mld_aarch64_intt_zetas_layer78
640
+ #undef mld_aarch64_ntt_zetas_layer123456
641
+ #undef mld_aarch64_ntt_zetas_layer78
642
+ #undef mld_intt_asm
643
+ #undef mld_ntt_asm
644
+ #undef mld_poly_caddq_asm
645
+ #undef mld_poly_chknorm_asm
646
+ #undef mld_poly_decompose_32_asm
647
+ #undef mld_poly_decompose_88_asm
648
+ #undef mld_poly_pointwise_montgomery_asm
649
+ #undef mld_poly_use_hint_32_asm
650
+ #undef mld_poly_use_hint_88_asm
651
+ #undef mld_polyvecl_pointwise_acc_montgomery_l4_asm
652
+ #undef mld_polyvecl_pointwise_acc_montgomery_l5_asm
653
+ #undef mld_polyvecl_pointwise_acc_montgomery_l7_asm
654
+ #undef mld_polyz_unpack_17_asm
655
+ #undef mld_polyz_unpack_17_indices
656
+ #undef mld_polyz_unpack_19_asm
657
+ #undef mld_polyz_unpack_19_indices
658
+ #undef mld_rej_uniform_asm
659
+ #undef mld_rej_uniform_eta2_asm
660
+ #undef mld_rej_uniform_eta4_asm
661
+ #undef mld_rej_uniform_eta_table
662
+ #undef mld_rej_uniform_table
663
+ #endif /* MLD_SYS_AARCH64 */
664
+ #if defined(MLD_SYS_X86_64)
665
+ /*
666
+ * Undefine macros from native code (Arith, X86_64)
667
+ */
668
+ /* mldsa/src/native/x86_64/meta.h */
669
+ #undef MLD_ARITH_BACKEND_X86_64_DEFAULT
670
+ #undef MLD_NATIVE_X86_64_META_H
671
+ #undef MLD_USE_NATIVE_INTT
672
+ #undef MLD_USE_NATIVE_NTT
673
+ #undef MLD_USE_NATIVE_NTT_CUSTOM_ORDER
674
+ #undef MLD_USE_NATIVE_POINTWISE_MONTGOMERY
675
+ #undef MLD_USE_NATIVE_POLYVECL_POINTWISE_ACC_MONTGOMERY_L4
676
+ #undef MLD_USE_NATIVE_POLYVECL_POINTWISE_ACC_MONTGOMERY_L5
677
+ #undef MLD_USE_NATIVE_POLYVECL_POINTWISE_ACC_MONTGOMERY_L7
678
+ #undef MLD_USE_NATIVE_POLYZ_UNPACK_17
679
+ #undef MLD_USE_NATIVE_POLYZ_UNPACK_19
680
+ #undef MLD_USE_NATIVE_POLY_CADDQ
681
+ #undef MLD_USE_NATIVE_POLY_CHKNORM
682
+ #undef MLD_USE_NATIVE_POLY_DECOMPOSE_32
683
+ #undef MLD_USE_NATIVE_POLY_DECOMPOSE_88
684
+ #undef MLD_USE_NATIVE_POLY_USE_HINT_32
685
+ #undef MLD_USE_NATIVE_POLY_USE_HINT_88
686
+ #undef MLD_USE_NATIVE_REJ_UNIFORM
687
+ #undef MLD_USE_NATIVE_REJ_UNIFORM_ETA2
688
+ #undef MLD_USE_NATIVE_REJ_UNIFORM_ETA4
689
+ /* mldsa/src/native/x86_64/src/arith_native_x86_64.h */
690
+ #undef MLD_AVX2_REJ_UNIFORM_BUFLEN
691
+ #undef MLD_AVX2_REJ_UNIFORM_ETA2_BUFLEN
692
+ #undef MLD_AVX2_REJ_UNIFORM_ETA4_BUFLEN
693
+ #undef MLD_NATIVE_X86_64_SRC_ARITH_NATIVE_X86_64_H
694
+ #undef mld_invntt_avx2
695
+ #undef mld_ntt_avx2
696
+ #undef mld_nttunpack_avx2
697
+ #undef mld_pointwise_acc_l4_avx2
698
+ #undef mld_pointwise_acc_l5_avx2
699
+ #undef mld_pointwise_acc_l7_avx2
700
+ #undef mld_pointwise_avx2
701
+ #undef mld_poly_caddq_avx2
702
+ #undef mld_poly_chknorm_avx2
703
+ #undef mld_poly_decompose_32_avx2
704
+ #undef mld_poly_decompose_88_avx2
705
+ #undef mld_poly_use_hint_32_avx2
706
+ #undef mld_poly_use_hint_88_avx2
707
+ #undef mld_polyz_unpack_17_avx2
708
+ #undef mld_polyz_unpack_19_avx2
709
+ #undef mld_rej_uniform_avx2
710
+ #undef mld_rej_uniform_eta2_avx2
711
+ #undef mld_rej_uniform_eta4_avx2
712
+ #undef mld_rej_uniform_table
713
+ /* mldsa/src/native/x86_64/src/consts.h */
714
+ #undef MLD_AVX2_BACKEND_DATA_OFFSET_8XDIV
715
+ #undef MLD_AVX2_BACKEND_DATA_OFFSET_8XDIV_QINV
716
+ #undef MLD_AVX2_BACKEND_DATA_OFFSET_8XQ
717
+ #undef MLD_AVX2_BACKEND_DATA_OFFSET_8XQINV
718
+ #undef MLD_AVX2_BACKEND_DATA_OFFSET_ZETAS
719
+ #undef MLD_AVX2_BACKEND_DATA_OFFSET_ZETAS_QINV
720
+ #undef MLD_NATIVE_X86_64_SRC_CONSTS_H
721
+ #undef mld_qdata
722
+ #endif /* MLD_SYS_X86_64 */
723
+ #endif /* MLD_CONFIG_USE_NATIVE_BACKEND_ARITH */
724
+ #endif /* !MLD_CONFIG_MONOBUILD_KEEP_SHARED_HEADERS */