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,543 @@
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
+ #include "../../../common.h"
13
+
14
+ #if defined(MLD_ARITH_BACKEND_AARCH64) && \
15
+ !defined(MLD_CONFIG_MULTILEVEL_NO_SHARED)
16
+
17
+ #include "arith_native_aarch64.h"
18
+
19
+ /*
20
+ * Lookup table used by 16-bit rejection sampling (rej_eta).
21
+ * Adapted from ML-KEM for ML-DSA eta rejection sampling.
22
+ * See autogen for details.
23
+ */
24
+ MLD_ALIGN const uint8_t mld_rej_uniform_eta_table[] = {
25
+ 255, 255, 255, 255, 255, 255, 255, 255,
26
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 0 */,
27
+ 0, 1, 255, 255, 255, 255, 255, 255,
28
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 1 */,
29
+ 2, 3, 255, 255, 255, 255, 255, 255,
30
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 2 */,
31
+ 0, 1, 2, 3, 255, 255, 255, 255,
32
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 3 */,
33
+ 4, 5, 255, 255, 255, 255, 255, 255,
34
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 4 */,
35
+ 0, 1, 4, 5, 255, 255, 255, 255,
36
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 5 */,
37
+ 2, 3, 4, 5, 255, 255, 255, 255,
38
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 6 */,
39
+ 0, 1, 2, 3, 4, 5, 255, 255,
40
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 7 */,
41
+ 6, 7, 255, 255, 255, 255, 255, 255,
42
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 8 */,
43
+ 0, 1, 6, 7, 255, 255, 255, 255,
44
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 9 */,
45
+ 2, 3, 6, 7, 255, 255, 255, 255,
46
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 10 */,
47
+ 0, 1, 2, 3, 6, 7, 255, 255,
48
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 11 */,
49
+ 4, 5, 6, 7, 255, 255, 255, 255,
50
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 12 */,
51
+ 0, 1, 4, 5, 6, 7, 255, 255,
52
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 13 */,
53
+ 2, 3, 4, 5, 6, 7, 255, 255,
54
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 14 */,
55
+ 0, 1, 2, 3, 4, 5, 6, 7,
56
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 15 */,
57
+ 8, 9, 255, 255, 255, 255, 255, 255,
58
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 16 */,
59
+ 0, 1, 8, 9, 255, 255, 255, 255,
60
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 17 */,
61
+ 2, 3, 8, 9, 255, 255, 255, 255,
62
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 18 */,
63
+ 0, 1, 2, 3, 8, 9, 255, 255,
64
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 19 */,
65
+ 4, 5, 8, 9, 255, 255, 255, 255,
66
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 20 */,
67
+ 0, 1, 4, 5, 8, 9, 255, 255,
68
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 21 */,
69
+ 2, 3, 4, 5, 8, 9, 255, 255,
70
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 22 */,
71
+ 0, 1, 2, 3, 4, 5, 8, 9,
72
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 23 */,
73
+ 6, 7, 8, 9, 255, 255, 255, 255,
74
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 24 */,
75
+ 0, 1, 6, 7, 8, 9, 255, 255,
76
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 25 */,
77
+ 2, 3, 6, 7, 8, 9, 255, 255,
78
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 26 */,
79
+ 0, 1, 2, 3, 6, 7, 8, 9,
80
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 27 */,
81
+ 4, 5, 6, 7, 8, 9, 255, 255,
82
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 28 */,
83
+ 0, 1, 4, 5, 6, 7, 8, 9,
84
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 29 */,
85
+ 2, 3, 4, 5, 6, 7, 8, 9,
86
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 30 */,
87
+ 0, 1, 2, 3, 4, 5, 6, 7,
88
+ 8, 9, 255, 255, 255, 255, 255, 255 /* 31 */,
89
+ 10, 11, 255, 255, 255, 255, 255, 255,
90
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 32 */,
91
+ 0, 1, 10, 11, 255, 255, 255, 255,
92
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 33 */,
93
+ 2, 3, 10, 11, 255, 255, 255, 255,
94
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 34 */,
95
+ 0, 1, 2, 3, 10, 11, 255, 255,
96
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 35 */,
97
+ 4, 5, 10, 11, 255, 255, 255, 255,
98
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 36 */,
99
+ 0, 1, 4, 5, 10, 11, 255, 255,
100
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 37 */,
101
+ 2, 3, 4, 5, 10, 11, 255, 255,
102
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 38 */,
103
+ 0, 1, 2, 3, 4, 5, 10, 11,
104
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 39 */,
105
+ 6, 7, 10, 11, 255, 255, 255, 255,
106
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 40 */,
107
+ 0, 1, 6, 7, 10, 11, 255, 255,
108
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 41 */,
109
+ 2, 3, 6, 7, 10, 11, 255, 255,
110
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 42 */,
111
+ 0, 1, 2, 3, 6, 7, 10, 11,
112
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 43 */,
113
+ 4, 5, 6, 7, 10, 11, 255, 255,
114
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 44 */,
115
+ 0, 1, 4, 5, 6, 7, 10, 11,
116
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 45 */,
117
+ 2, 3, 4, 5, 6, 7, 10, 11,
118
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 46 */,
119
+ 0, 1, 2, 3, 4, 5, 6, 7,
120
+ 10, 11, 255, 255, 255, 255, 255, 255 /* 47 */,
121
+ 8, 9, 10, 11, 255, 255, 255, 255,
122
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 48 */,
123
+ 0, 1, 8, 9, 10, 11, 255, 255,
124
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 49 */,
125
+ 2, 3, 8, 9, 10, 11, 255, 255,
126
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 50 */,
127
+ 0, 1, 2, 3, 8, 9, 10, 11,
128
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 51 */,
129
+ 4, 5, 8, 9, 10, 11, 255, 255,
130
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 52 */,
131
+ 0, 1, 4, 5, 8, 9, 10, 11,
132
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 53 */,
133
+ 2, 3, 4, 5, 8, 9, 10, 11,
134
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 54 */,
135
+ 0, 1, 2, 3, 4, 5, 8, 9,
136
+ 10, 11, 255, 255, 255, 255, 255, 255 /* 55 */,
137
+ 6, 7, 8, 9, 10, 11, 255, 255,
138
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 56 */,
139
+ 0, 1, 6, 7, 8, 9, 10, 11,
140
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 57 */,
141
+ 2, 3, 6, 7, 8, 9, 10, 11,
142
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 58 */,
143
+ 0, 1, 2, 3, 6, 7, 8, 9,
144
+ 10, 11, 255, 255, 255, 255, 255, 255 /* 59 */,
145
+ 4, 5, 6, 7, 8, 9, 10, 11,
146
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 60 */,
147
+ 0, 1, 4, 5, 6, 7, 8, 9,
148
+ 10, 11, 255, 255, 255, 255, 255, 255 /* 61 */,
149
+ 2, 3, 4, 5, 6, 7, 8, 9,
150
+ 10, 11, 255, 255, 255, 255, 255, 255 /* 62 */,
151
+ 0, 1, 2, 3, 4, 5, 6, 7,
152
+ 8, 9, 10, 11, 255, 255, 255, 255 /* 63 */,
153
+ 12, 13, 255, 255, 255, 255, 255, 255,
154
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 64 */,
155
+ 0, 1, 12, 13, 255, 255, 255, 255,
156
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 65 */,
157
+ 2, 3, 12, 13, 255, 255, 255, 255,
158
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 66 */,
159
+ 0, 1, 2, 3, 12, 13, 255, 255,
160
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 67 */,
161
+ 4, 5, 12, 13, 255, 255, 255, 255,
162
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 68 */,
163
+ 0, 1, 4, 5, 12, 13, 255, 255,
164
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 69 */,
165
+ 2, 3, 4, 5, 12, 13, 255, 255,
166
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 70 */,
167
+ 0, 1, 2, 3, 4, 5, 12, 13,
168
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 71 */,
169
+ 6, 7, 12, 13, 255, 255, 255, 255,
170
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 72 */,
171
+ 0, 1, 6, 7, 12, 13, 255, 255,
172
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 73 */,
173
+ 2, 3, 6, 7, 12, 13, 255, 255,
174
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 74 */,
175
+ 0, 1, 2, 3, 6, 7, 12, 13,
176
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 75 */,
177
+ 4, 5, 6, 7, 12, 13, 255, 255,
178
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 76 */,
179
+ 0, 1, 4, 5, 6, 7, 12, 13,
180
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 77 */,
181
+ 2, 3, 4, 5, 6, 7, 12, 13,
182
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 78 */,
183
+ 0, 1, 2, 3, 4, 5, 6, 7,
184
+ 12, 13, 255, 255, 255, 255, 255, 255 /* 79 */,
185
+ 8, 9, 12, 13, 255, 255, 255, 255,
186
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 80 */,
187
+ 0, 1, 8, 9, 12, 13, 255, 255,
188
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 81 */,
189
+ 2, 3, 8, 9, 12, 13, 255, 255,
190
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 82 */,
191
+ 0, 1, 2, 3, 8, 9, 12, 13,
192
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 83 */,
193
+ 4, 5, 8, 9, 12, 13, 255, 255,
194
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 84 */,
195
+ 0, 1, 4, 5, 8, 9, 12, 13,
196
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 85 */,
197
+ 2, 3, 4, 5, 8, 9, 12, 13,
198
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 86 */,
199
+ 0, 1, 2, 3, 4, 5, 8, 9,
200
+ 12, 13, 255, 255, 255, 255, 255, 255 /* 87 */,
201
+ 6, 7, 8, 9, 12, 13, 255, 255,
202
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 88 */,
203
+ 0, 1, 6, 7, 8, 9, 12, 13,
204
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 89 */,
205
+ 2, 3, 6, 7, 8, 9, 12, 13,
206
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 90 */,
207
+ 0, 1, 2, 3, 6, 7, 8, 9,
208
+ 12, 13, 255, 255, 255, 255, 255, 255 /* 91 */,
209
+ 4, 5, 6, 7, 8, 9, 12, 13,
210
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 92 */,
211
+ 0, 1, 4, 5, 6, 7, 8, 9,
212
+ 12, 13, 255, 255, 255, 255, 255, 255 /* 93 */,
213
+ 2, 3, 4, 5, 6, 7, 8, 9,
214
+ 12, 13, 255, 255, 255, 255, 255, 255 /* 94 */,
215
+ 0, 1, 2, 3, 4, 5, 6, 7,
216
+ 8, 9, 12, 13, 255, 255, 255, 255 /* 95 */,
217
+ 10, 11, 12, 13, 255, 255, 255, 255,
218
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 96 */,
219
+ 0, 1, 10, 11, 12, 13, 255, 255,
220
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 97 */,
221
+ 2, 3, 10, 11, 12, 13, 255, 255,
222
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 98 */,
223
+ 0, 1, 2, 3, 10, 11, 12, 13,
224
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 99 */,
225
+ 4, 5, 10, 11, 12, 13, 255, 255,
226
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 100 */,
227
+ 0, 1, 4, 5, 10, 11, 12, 13,
228
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 101 */,
229
+ 2, 3, 4, 5, 10, 11, 12, 13,
230
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 102 */,
231
+ 0, 1, 2, 3, 4, 5, 10, 11,
232
+ 12, 13, 255, 255, 255, 255, 255, 255 /* 103 */,
233
+ 6, 7, 10, 11, 12, 13, 255, 255,
234
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 104 */,
235
+ 0, 1, 6, 7, 10, 11, 12, 13,
236
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 105 */,
237
+ 2, 3, 6, 7, 10, 11, 12, 13,
238
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 106 */,
239
+ 0, 1, 2, 3, 6, 7, 10, 11,
240
+ 12, 13, 255, 255, 255, 255, 255, 255 /* 107 */,
241
+ 4, 5, 6, 7, 10, 11, 12, 13,
242
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 108 */,
243
+ 0, 1, 4, 5, 6, 7, 10, 11,
244
+ 12, 13, 255, 255, 255, 255, 255, 255 /* 109 */,
245
+ 2, 3, 4, 5, 6, 7, 10, 11,
246
+ 12, 13, 255, 255, 255, 255, 255, 255 /* 110 */,
247
+ 0, 1, 2, 3, 4, 5, 6, 7,
248
+ 10, 11, 12, 13, 255, 255, 255, 255 /* 111 */,
249
+ 8, 9, 10, 11, 12, 13, 255, 255,
250
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 112 */,
251
+ 0, 1, 8, 9, 10, 11, 12, 13,
252
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 113 */,
253
+ 2, 3, 8, 9, 10, 11, 12, 13,
254
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 114 */,
255
+ 0, 1, 2, 3, 8, 9, 10, 11,
256
+ 12, 13, 255, 255, 255, 255, 255, 255 /* 115 */,
257
+ 4, 5, 8, 9, 10, 11, 12, 13,
258
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 116 */,
259
+ 0, 1, 4, 5, 8, 9, 10, 11,
260
+ 12, 13, 255, 255, 255, 255, 255, 255 /* 117 */,
261
+ 2, 3, 4, 5, 8, 9, 10, 11,
262
+ 12, 13, 255, 255, 255, 255, 255, 255 /* 118 */,
263
+ 0, 1, 2, 3, 4, 5, 8, 9,
264
+ 10, 11, 12, 13, 255, 255, 255, 255 /* 119 */,
265
+ 6, 7, 8, 9, 10, 11, 12, 13,
266
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 120 */,
267
+ 0, 1, 6, 7, 8, 9, 10, 11,
268
+ 12, 13, 255, 255, 255, 255, 255, 255 /* 121 */,
269
+ 2, 3, 6, 7, 8, 9, 10, 11,
270
+ 12, 13, 255, 255, 255, 255, 255, 255 /* 122 */,
271
+ 0, 1, 2, 3, 6, 7, 8, 9,
272
+ 10, 11, 12, 13, 255, 255, 255, 255 /* 123 */,
273
+ 4, 5, 6, 7, 8, 9, 10, 11,
274
+ 12, 13, 255, 255, 255, 255, 255, 255 /* 124 */,
275
+ 0, 1, 4, 5, 6, 7, 8, 9,
276
+ 10, 11, 12, 13, 255, 255, 255, 255 /* 125 */,
277
+ 2, 3, 4, 5, 6, 7, 8, 9,
278
+ 10, 11, 12, 13, 255, 255, 255, 255 /* 126 */,
279
+ 0, 1, 2, 3, 4, 5, 6, 7,
280
+ 8, 9, 10, 11, 12, 13, 255, 255 /* 127 */,
281
+ 14, 15, 255, 255, 255, 255, 255, 255,
282
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 128 */,
283
+ 0, 1, 14, 15, 255, 255, 255, 255,
284
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 129 */,
285
+ 2, 3, 14, 15, 255, 255, 255, 255,
286
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 130 */,
287
+ 0, 1, 2, 3, 14, 15, 255, 255,
288
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 131 */,
289
+ 4, 5, 14, 15, 255, 255, 255, 255,
290
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 132 */,
291
+ 0, 1, 4, 5, 14, 15, 255, 255,
292
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 133 */,
293
+ 2, 3, 4, 5, 14, 15, 255, 255,
294
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 134 */,
295
+ 0, 1, 2, 3, 4, 5, 14, 15,
296
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 135 */,
297
+ 6, 7, 14, 15, 255, 255, 255, 255,
298
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 136 */,
299
+ 0, 1, 6, 7, 14, 15, 255, 255,
300
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 137 */,
301
+ 2, 3, 6, 7, 14, 15, 255, 255,
302
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 138 */,
303
+ 0, 1, 2, 3, 6, 7, 14, 15,
304
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 139 */,
305
+ 4, 5, 6, 7, 14, 15, 255, 255,
306
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 140 */,
307
+ 0, 1, 4, 5, 6, 7, 14, 15,
308
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 141 */,
309
+ 2, 3, 4, 5, 6, 7, 14, 15,
310
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 142 */,
311
+ 0, 1, 2, 3, 4, 5, 6, 7,
312
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 143 */,
313
+ 8, 9, 14, 15, 255, 255, 255, 255,
314
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 144 */,
315
+ 0, 1, 8, 9, 14, 15, 255, 255,
316
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 145 */,
317
+ 2, 3, 8, 9, 14, 15, 255, 255,
318
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 146 */,
319
+ 0, 1, 2, 3, 8, 9, 14, 15,
320
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 147 */,
321
+ 4, 5, 8, 9, 14, 15, 255, 255,
322
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 148 */,
323
+ 0, 1, 4, 5, 8, 9, 14, 15,
324
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 149 */,
325
+ 2, 3, 4, 5, 8, 9, 14, 15,
326
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 150 */,
327
+ 0, 1, 2, 3, 4, 5, 8, 9,
328
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 151 */,
329
+ 6, 7, 8, 9, 14, 15, 255, 255,
330
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 152 */,
331
+ 0, 1, 6, 7, 8, 9, 14, 15,
332
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 153 */,
333
+ 2, 3, 6, 7, 8, 9, 14, 15,
334
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 154 */,
335
+ 0, 1, 2, 3, 6, 7, 8, 9,
336
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 155 */,
337
+ 4, 5, 6, 7, 8, 9, 14, 15,
338
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 156 */,
339
+ 0, 1, 4, 5, 6, 7, 8, 9,
340
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 157 */,
341
+ 2, 3, 4, 5, 6, 7, 8, 9,
342
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 158 */,
343
+ 0, 1, 2, 3, 4, 5, 6, 7,
344
+ 8, 9, 14, 15, 255, 255, 255, 255 /* 159 */,
345
+ 10, 11, 14, 15, 255, 255, 255, 255,
346
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 160 */,
347
+ 0, 1, 10, 11, 14, 15, 255, 255,
348
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 161 */,
349
+ 2, 3, 10, 11, 14, 15, 255, 255,
350
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 162 */,
351
+ 0, 1, 2, 3, 10, 11, 14, 15,
352
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 163 */,
353
+ 4, 5, 10, 11, 14, 15, 255, 255,
354
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 164 */,
355
+ 0, 1, 4, 5, 10, 11, 14, 15,
356
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 165 */,
357
+ 2, 3, 4, 5, 10, 11, 14, 15,
358
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 166 */,
359
+ 0, 1, 2, 3, 4, 5, 10, 11,
360
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 167 */,
361
+ 6, 7, 10, 11, 14, 15, 255, 255,
362
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 168 */,
363
+ 0, 1, 6, 7, 10, 11, 14, 15,
364
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 169 */,
365
+ 2, 3, 6, 7, 10, 11, 14, 15,
366
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 170 */,
367
+ 0, 1, 2, 3, 6, 7, 10, 11,
368
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 171 */,
369
+ 4, 5, 6, 7, 10, 11, 14, 15,
370
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 172 */,
371
+ 0, 1, 4, 5, 6, 7, 10, 11,
372
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 173 */,
373
+ 2, 3, 4, 5, 6, 7, 10, 11,
374
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 174 */,
375
+ 0, 1, 2, 3, 4, 5, 6, 7,
376
+ 10, 11, 14, 15, 255, 255, 255, 255 /* 175 */,
377
+ 8, 9, 10, 11, 14, 15, 255, 255,
378
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 176 */,
379
+ 0, 1, 8, 9, 10, 11, 14, 15,
380
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 177 */,
381
+ 2, 3, 8, 9, 10, 11, 14, 15,
382
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 178 */,
383
+ 0, 1, 2, 3, 8, 9, 10, 11,
384
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 179 */,
385
+ 4, 5, 8, 9, 10, 11, 14, 15,
386
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 180 */,
387
+ 0, 1, 4, 5, 8, 9, 10, 11,
388
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 181 */,
389
+ 2, 3, 4, 5, 8, 9, 10, 11,
390
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 182 */,
391
+ 0, 1, 2, 3, 4, 5, 8, 9,
392
+ 10, 11, 14, 15, 255, 255, 255, 255 /* 183 */,
393
+ 6, 7, 8, 9, 10, 11, 14, 15,
394
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 184 */,
395
+ 0, 1, 6, 7, 8, 9, 10, 11,
396
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 185 */,
397
+ 2, 3, 6, 7, 8, 9, 10, 11,
398
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 186 */,
399
+ 0, 1, 2, 3, 6, 7, 8, 9,
400
+ 10, 11, 14, 15, 255, 255, 255, 255 /* 187 */,
401
+ 4, 5, 6, 7, 8, 9, 10, 11,
402
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 188 */,
403
+ 0, 1, 4, 5, 6, 7, 8, 9,
404
+ 10, 11, 14, 15, 255, 255, 255, 255 /* 189 */,
405
+ 2, 3, 4, 5, 6, 7, 8, 9,
406
+ 10, 11, 14, 15, 255, 255, 255, 255 /* 190 */,
407
+ 0, 1, 2, 3, 4, 5, 6, 7,
408
+ 8, 9, 10, 11, 14, 15, 255, 255 /* 191 */,
409
+ 12, 13, 14, 15, 255, 255, 255, 255,
410
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 192 */,
411
+ 0, 1, 12, 13, 14, 15, 255, 255,
412
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 193 */,
413
+ 2, 3, 12, 13, 14, 15, 255, 255,
414
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 194 */,
415
+ 0, 1, 2, 3, 12, 13, 14, 15,
416
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 195 */,
417
+ 4, 5, 12, 13, 14, 15, 255, 255,
418
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 196 */,
419
+ 0, 1, 4, 5, 12, 13, 14, 15,
420
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 197 */,
421
+ 2, 3, 4, 5, 12, 13, 14, 15,
422
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 198 */,
423
+ 0, 1, 2, 3, 4, 5, 12, 13,
424
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 199 */,
425
+ 6, 7, 12, 13, 14, 15, 255, 255,
426
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 200 */,
427
+ 0, 1, 6, 7, 12, 13, 14, 15,
428
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 201 */,
429
+ 2, 3, 6, 7, 12, 13, 14, 15,
430
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 202 */,
431
+ 0, 1, 2, 3, 6, 7, 12, 13,
432
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 203 */,
433
+ 4, 5, 6, 7, 12, 13, 14, 15,
434
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 204 */,
435
+ 0, 1, 4, 5, 6, 7, 12, 13,
436
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 205 */,
437
+ 2, 3, 4, 5, 6, 7, 12, 13,
438
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 206 */,
439
+ 0, 1, 2, 3, 4, 5, 6, 7,
440
+ 12, 13, 14, 15, 255, 255, 255, 255 /* 207 */,
441
+ 8, 9, 12, 13, 14, 15, 255, 255,
442
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 208 */,
443
+ 0, 1, 8, 9, 12, 13, 14, 15,
444
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 209 */,
445
+ 2, 3, 8, 9, 12, 13, 14, 15,
446
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 210 */,
447
+ 0, 1, 2, 3, 8, 9, 12, 13,
448
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 211 */,
449
+ 4, 5, 8, 9, 12, 13, 14, 15,
450
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 212 */,
451
+ 0, 1, 4, 5, 8, 9, 12, 13,
452
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 213 */,
453
+ 2, 3, 4, 5, 8, 9, 12, 13,
454
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 214 */,
455
+ 0, 1, 2, 3, 4, 5, 8, 9,
456
+ 12, 13, 14, 15, 255, 255, 255, 255 /* 215 */,
457
+ 6, 7, 8, 9, 12, 13, 14, 15,
458
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 216 */,
459
+ 0, 1, 6, 7, 8, 9, 12, 13,
460
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 217 */,
461
+ 2, 3, 6, 7, 8, 9, 12, 13,
462
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 218 */,
463
+ 0, 1, 2, 3, 6, 7, 8, 9,
464
+ 12, 13, 14, 15, 255, 255, 255, 255 /* 219 */,
465
+ 4, 5, 6, 7, 8, 9, 12, 13,
466
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 220 */,
467
+ 0, 1, 4, 5, 6, 7, 8, 9,
468
+ 12, 13, 14, 15, 255, 255, 255, 255 /* 221 */,
469
+ 2, 3, 4, 5, 6, 7, 8, 9,
470
+ 12, 13, 14, 15, 255, 255, 255, 255 /* 222 */,
471
+ 0, 1, 2, 3, 4, 5, 6, 7,
472
+ 8, 9, 12, 13, 14, 15, 255, 255 /* 223 */,
473
+ 10, 11, 12, 13, 14, 15, 255, 255,
474
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 224 */,
475
+ 0, 1, 10, 11, 12, 13, 14, 15,
476
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 225 */,
477
+ 2, 3, 10, 11, 12, 13, 14, 15,
478
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 226 */,
479
+ 0, 1, 2, 3, 10, 11, 12, 13,
480
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 227 */,
481
+ 4, 5, 10, 11, 12, 13, 14, 15,
482
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 228 */,
483
+ 0, 1, 4, 5, 10, 11, 12, 13,
484
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 229 */,
485
+ 2, 3, 4, 5, 10, 11, 12, 13,
486
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 230 */,
487
+ 0, 1, 2, 3, 4, 5, 10, 11,
488
+ 12, 13, 14, 15, 255, 255, 255, 255 /* 231 */,
489
+ 6, 7, 10, 11, 12, 13, 14, 15,
490
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 232 */,
491
+ 0, 1, 6, 7, 10, 11, 12, 13,
492
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 233 */,
493
+ 2, 3, 6, 7, 10, 11, 12, 13,
494
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 234 */,
495
+ 0, 1, 2, 3, 6, 7, 10, 11,
496
+ 12, 13, 14, 15, 255, 255, 255, 255 /* 235 */,
497
+ 4, 5, 6, 7, 10, 11, 12, 13,
498
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 236 */,
499
+ 0, 1, 4, 5, 6, 7, 10, 11,
500
+ 12, 13, 14, 15, 255, 255, 255, 255 /* 237 */,
501
+ 2, 3, 4, 5, 6, 7, 10, 11,
502
+ 12, 13, 14, 15, 255, 255, 255, 255 /* 238 */,
503
+ 0, 1, 2, 3, 4, 5, 6, 7,
504
+ 10, 11, 12, 13, 14, 15, 255, 255 /* 239 */,
505
+ 8, 9, 10, 11, 12, 13, 14, 15,
506
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 240 */,
507
+ 0, 1, 8, 9, 10, 11, 12, 13,
508
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 241 */,
509
+ 2, 3, 8, 9, 10, 11, 12, 13,
510
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 242 */,
511
+ 0, 1, 2, 3, 8, 9, 10, 11,
512
+ 12, 13, 14, 15, 255, 255, 255, 255 /* 243 */,
513
+ 4, 5, 8, 9, 10, 11, 12, 13,
514
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 244 */,
515
+ 0, 1, 4, 5, 8, 9, 10, 11,
516
+ 12, 13, 14, 15, 255, 255, 255, 255 /* 245 */,
517
+ 2, 3, 4, 5, 8, 9, 10, 11,
518
+ 12, 13, 14, 15, 255, 255, 255, 255 /* 246 */,
519
+ 0, 1, 2, 3, 4, 5, 8, 9,
520
+ 10, 11, 12, 13, 14, 15, 255, 255 /* 247 */,
521
+ 6, 7, 8, 9, 10, 11, 12, 13,
522
+ 14, 15, 255, 255, 255, 255, 255, 255 /* 248 */,
523
+ 0, 1, 6, 7, 8, 9, 10, 11,
524
+ 12, 13, 14, 15, 255, 255, 255, 255 /* 249 */,
525
+ 2, 3, 6, 7, 8, 9, 10, 11,
526
+ 12, 13, 14, 15, 255, 255, 255, 255 /* 250 */,
527
+ 0, 1, 2, 3, 6, 7, 8, 9,
528
+ 10, 11, 12, 13, 14, 15, 255, 255 /* 251 */,
529
+ 4, 5, 6, 7, 8, 9, 10, 11,
530
+ 12, 13, 14, 15, 255, 255, 255, 255 /* 252 */,
531
+ 0, 1, 4, 5, 6, 7, 8, 9,
532
+ 10, 11, 12, 13, 14, 15, 255, 255 /* 253 */,
533
+ 2, 3, 4, 5, 6, 7, 8, 9,
534
+ 10, 11, 12, 13, 14, 15, 255, 255 /* 254 */,
535
+ 0, 1, 2, 3, 4, 5, 6, 7,
536
+ 8, 9, 10, 11, 12, 13, 14, 15 /* 255 */,
537
+ };
538
+
539
+ #else /* MLD_ARITH_BACKEND_AARCH64 && !MLD_CONFIG_MULTILEVEL_NO_SHARED */
540
+
541
+ MLD_EMPTY_CU(aarch64_rej_uniform_eta_table)
542
+
543
+ #endif /* !(MLD_ARITH_BACKEND_AARCH64 && !MLD_CONFIG_MULTILEVEL_NO_SHARED) */
@@ -0,0 +1,62 @@
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
+ #include "../../../common.h"
13
+
14
+ #if defined(MLD_ARITH_BACKEND_AARCH64) && \
15
+ !defined(MLD_CONFIG_MULTILEVEL_NO_SHARED)
16
+
17
+ #include "arith_native_aarch64.h"
18
+
19
+ /*
20
+ * Lookup table used by rejection sampling of the public matrix.
21
+ * See autogen for details.
22
+ */
23
+ MLD_ALIGN const uint8_t mld_rej_uniform_table[] = {
24
+ 255, 255, 255, 255, 255, 255, 255, 255,
25
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 0 */,
26
+ 0, 1, 2, 3, 255, 255, 255, 255,
27
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 1 */,
28
+ 4, 5, 6, 7, 255, 255, 255, 255,
29
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 2 */,
30
+ 0, 1, 2, 3, 4, 5, 6, 7,
31
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 3 */,
32
+ 8, 9, 10, 11, 255, 255, 255, 255,
33
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 4 */,
34
+ 0, 1, 2, 3, 8, 9, 10, 11,
35
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 5 */,
36
+ 4, 5, 6, 7, 8, 9, 10, 11,
37
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 6 */,
38
+ 0, 1, 2, 3, 4, 5, 6, 7,
39
+ 8, 9, 10, 11, 255, 255, 255, 255 /* 7 */,
40
+ 12, 13, 14, 15, 255, 255, 255, 255,
41
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 8 */,
42
+ 0, 1, 2, 3, 12, 13, 14, 15,
43
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 9 */,
44
+ 4, 5, 6, 7, 12, 13, 14, 15,
45
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 10 */,
46
+ 0, 1, 2, 3, 4, 5, 6, 7,
47
+ 12, 13, 14, 15, 255, 255, 255, 255 /* 11 */,
48
+ 8, 9, 10, 11, 12, 13, 14, 15,
49
+ 255, 255, 255, 255, 255, 255, 255, 255 /* 12 */,
50
+ 0, 1, 2, 3, 8, 9, 10, 11,
51
+ 12, 13, 14, 15, 255, 255, 255, 255 /* 13 */,
52
+ 4, 5, 6, 7, 8, 9, 10, 11,
53
+ 12, 13, 14, 15, 255, 255, 255, 255 /* 14 */,
54
+ 0, 1, 2, 3, 4, 5, 6, 7,
55
+ 8, 9, 10, 11, 12, 13, 14, 15 /* 15 */,
56
+ };
57
+
58
+ #else /* MLD_ARITH_BACKEND_AARCH64 && !MLD_CONFIG_MULTILEVEL_NO_SHARED */
59
+
60
+ MLD_EMPTY_CU(aarch64_rej_uniform_table)
61
+
62
+ #endif /* !(MLD_ARITH_BACKEND_AARCH64 && !MLD_CONFIG_MULTILEVEL_NO_SHARED) */