pq_crypto 0.6.1 → 0.6.3

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 (247) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +10 -0
  3. data/SECURITY.md +7 -0
  4. data/ext/pqcrypto/pqcrypto_version.h +1 -1
  5. data/ext/pqcrypto/vendor/.vendored +7 -7
  6. data/ext/pqcrypto/vendor/mldsa-native/README.md +23 -10
  7. data/ext/pqcrypto/vendor/mldsa-native/mldsa/README.md +23 -0
  8. data/ext/pqcrypto/vendor/mldsa-native/mldsa/mldsa_native.c +114 -58
  9. data/ext/pqcrypto/vendor/mldsa-native/mldsa/mldsa_native.h +498 -461
  10. data/ext/pqcrypto/vendor/mldsa-native/mldsa/mldsa_native_asm.S +145 -85
  11. data/ext/pqcrypto/vendor/mldsa-native/mldsa/mldsa_native_config.h +456 -422
  12. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/cbmc.h +47 -25
  13. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/common.h +26 -14
  14. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/ct.h +56 -81
  15. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/debug.h +17 -24
  16. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/fips202.c +33 -40
  17. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/fips202.h +67 -87
  18. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/fips202x4.c +19 -14
  19. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/fips202x4.h +13 -5
  20. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/keccakf1600.c +84 -10
  21. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/keccakf1600.h +10 -5
  22. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/auto.h +6 -0
  23. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/fips202_native_aarch64.h +22 -15
  24. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x1_scalar_aarch64_asm.S +376 -0
  25. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x1_v84a_aarch64_asm.S +204 -0
  26. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x2_v84a_aarch64_asm.S +259 -0
  27. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x4_v8a_scalar_hybrid_aarch64_asm.S +1077 -0
  28. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x4_v8a_v84a_scalar_hybrid_aarch64_asm.S +987 -0
  29. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccakf1600_round_constants.c +16 -10
  30. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/x1_scalar.h +2 -1
  31. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/x1_v84a.h +1 -1
  32. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/x2_v84a.h +4 -2
  33. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/x4_v8a_scalar.h +2 -2
  34. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/x4_v8a_v84a_scalar.h +1 -1
  35. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/api.h +60 -0
  36. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/mve.h +48 -0
  37. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/src/fips202_native_armv81m.h +18 -1
  38. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/src/keccak_f1600_x4_mve.S +658 -582
  39. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/src/keccak_f1600_x4_mve.c +5 -100
  40. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/src/keccakf1600_round_constants.c +26 -25
  41. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/src/state_extract_bytes_x4_mve.S +334 -0
  42. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/src/state_xor_bytes_x4_mve.S +355 -0
  43. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/auto.h +8 -3
  44. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/x86_64/{xkcp.h → keccak_f1600_x4_avx2.h} +11 -8
  45. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/x86_64/src/fips202_native_x86_64.h +44 -0
  46. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/x86_64/src/keccak_f1600_x4_avx2_asm.S +454 -0
  47. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/x86_64/src/keccakf1600_constants.c +52 -0
  48. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/meta.h +37 -28
  49. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/aarch64_zetas.c +213 -196
  50. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/arith_native_aarch64.h +248 -64
  51. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/intt_aarch64_asm.S +753 -0
  52. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l4_aarch64_asm.S +129 -0
  53. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l5_aarch64_asm.S +145 -0
  54. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l7_aarch64_asm.S +177 -0
  55. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/ntt_aarch64_asm.S +653 -0
  56. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/pointwise_montgomery_aarch64_asm.S +84 -0
  57. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_caddq_aarch64_asm.S +53 -0
  58. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_chknorm_aarch64_asm.S +55 -0
  59. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_decompose_32_aarch64_asm.S +86 -0
  60. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_decompose_88_aarch64_asm.S +86 -0
  61. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_use_hint_32_aarch64_asm.S +103 -0
  62. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_use_hint_88_aarch64_asm.S +111 -0
  63. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/polyz_unpack_17_aarch64_asm.S +75 -0
  64. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/polyz_unpack_19_aarch64_asm.S +72 -0
  65. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/polyz_unpack_table.c +23 -11
  66. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_aarch64_asm.S +189 -0
  67. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_eta2_aarch64_asm.S +137 -0
  68. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_eta4_aarch64_asm.S +130 -0
  69. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_eta_table.c +520 -516
  70. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_table.c +34 -33
  71. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/api.h +202 -242
  72. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/meta.h +25 -17
  73. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/arith_native_x86_64.h +112 -28
  74. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/consts.c +1 -1
  75. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/consts.h +1 -1
  76. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/intt_avx2_asm.S +2311 -0
  77. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/ntt_avx2_asm.S +2383 -0
  78. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/nttunpack_avx2_asm.S +238 -0
  79. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_acc_l4_avx2_asm.S +139 -0
  80. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_acc_l5_avx2_asm.S +155 -0
  81. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_acc_l7_avx2_asm.S +187 -0
  82. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_avx2_asm.S +130 -0
  83. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_caddq_avx2_asm.S +190 -0
  84. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_decompose_32_avx2.c +6 -4
  85. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_decompose_88_avx2.c +6 -4
  86. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_use_hint_32_avx2.c +9 -8
  87. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_use_hint_88_avx2.c +10 -9
  88. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/polyz_unpack_17_avx2.c +8 -5
  89. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/polyz_unpack_19_avx2.c +8 -5
  90. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/rej_uniform_eta2_avx2.c +6 -4
  91. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/rej_uniform_eta4_avx2.c +6 -4
  92. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/rej_uniform_table.c +130 -129
  93. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/packing.c +109 -180
  94. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/packing.h +169 -150
  95. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/poly.c +56 -40
  96. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/poly.h +149 -164
  97. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/poly_kl.c +52 -57
  98. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/poly_kl.h +132 -167
  99. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/polyvec.c +57 -424
  100. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/polyvec.h +167 -474
  101. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/polyvec_lazy.c +308 -0
  102. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/polyvec_lazy.h +653 -0
  103. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/reduce.h +22 -29
  104. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/rounding.h +37 -43
  105. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/sign.c +511 -367
  106. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/sign.h +456 -417
  107. data/ext/pqcrypto/vendor/mlkem-native/README.md +6 -3
  108. data/ext/pqcrypto/vendor/mlkem-native/RELEASE.md +22 -0
  109. data/ext/pqcrypto/vendor/mlkem-native/mlkem/mlkem_native.c +77 -36
  110. data/ext/pqcrypto/vendor/mlkem-native/mlkem/mlkem_native.h +135 -146
  111. data/ext/pqcrypto/vendor/mlkem-native/mlkem/mlkem_native_asm.S +116 -72
  112. data/ext/pqcrypto/vendor/mlkem-native/mlkem/mlkem_native_config.h +351 -415
  113. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/cbmc.h +43 -20
  114. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/common.h +16 -8
  115. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/compress.c +57 -31
  116. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/compress.h +260 -349
  117. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/debug.h +17 -24
  118. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/fips202.c +35 -37
  119. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/fips202.h +43 -57
  120. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/fips202x4.c +14 -15
  121. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/fips202x4.h +5 -4
  122. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/keccakf1600.c +42 -6
  123. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/fips202_native_aarch64.h +31 -20
  124. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/{keccak_f1600_x1_scalar_asm.S → keccak_f1600_x1_scalar_aarch64_asm.S} +10 -10
  125. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/{keccak_f1600_x1_v84a_asm.S → keccak_f1600_x1_v84a_aarch64_asm.S} +10 -10
  126. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/{keccak_f1600_x2_v84a_asm.S → keccak_f1600_x2_v84a_aarch64_asm.S} +10 -10
  127. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/{keccak_f1600_x4_v8a_scalar_hybrid_asm.S → keccak_f1600_x4_v8a_scalar_hybrid_aarch64_asm.S} +10 -10
  128. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/{keccak_f1600_x4_v8a_v84a_scalar_hybrid_asm.S → keccak_f1600_x4_v8a_v84a_scalar_hybrid_aarch64_asm.S} +10 -10
  129. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/keccakf1600_round_constants.c +10 -9
  130. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/x1_scalar.h +2 -1
  131. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/x1_v84a.h +1 -1
  132. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/x2_v84a.h +4 -2
  133. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/x4_v8a_scalar.h +2 -2
  134. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/x4_v8a_v84a_scalar.h +1 -1
  135. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/armv81m/src/fips202_native_armv81m.h +2 -1
  136. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/armv81m/src/keccak_f1600_x4_mve.S +55 -9
  137. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/armv81m/src/keccakf1600_round_constants.c +26 -25
  138. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/armv81m/src/state_extract_bytes_x4_mve.S +58 -14
  139. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/armv81m/src/state_xor_bytes_x4_mve.S +57 -16
  140. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/auto.h +2 -1
  141. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/x86_64/keccak_f1600_x4_avx2.h +2 -2
  142. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/x86_64/src/fips202_native_x86_64.h +10 -7
  143. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/x86_64/src/{keccak_f1600_x4_avx2.S → keccak_f1600_x4_avx2_asm.S} +13 -11
  144. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/x86_64/src/keccakf1600_constants.c +12 -11
  145. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/indcpa.c +167 -136
  146. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/indcpa.h +75 -68
  147. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/kem.h +135 -157
  148. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/meta.h +15 -13
  149. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/aarch64_zetas.c +143 -135
  150. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/arith_native_aarch64.h +52 -46
  151. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/{intt.S → intt_aarch64_asm.S} +10 -10
  152. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/{ntt.S → ntt_aarch64_asm.S} +10 -10
  153. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/{poly_mulcache_compute_asm.S → poly_mulcache_compute_aarch64_asm.S} +10 -10
  154. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/{poly_reduce_asm.S → poly_reduce_aarch64_asm.S} +10 -10
  155. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/{poly_tobytes_asm.S → poly_tobytes_aarch64_asm.S} +10 -10
  156. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/{poly_tomont_asm.S → poly_tomont_aarch64_asm.S} +10 -12
  157. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/{polyvec_basemul_acc_montgomery_cached_asm_k2.S → polyvec_basemul_acc_montgomery_cached_k2_aarch64_asm.S} +10 -10
  158. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/{polyvec_basemul_acc_montgomery_cached_asm_k3.S → polyvec_basemul_acc_montgomery_cached_k3_aarch64_asm.S} +10 -10
  159. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/{polyvec_basemul_acc_montgomery_cached_asm_k4.S → polyvec_basemul_acc_montgomery_cached_k4_aarch64_asm.S} +10 -10
  160. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/{rej_uniform_asm.S → rej_uniform_aarch64_asm.S} +12 -12
  161. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/rej_uniform_table.c +514 -513
  162. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/api.h +254 -253
  163. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/meta.h +6 -1
  164. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/README.md +6 -0
  165. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/meta.h +77 -0
  166. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/src/arith_native_ppc64le.h +24 -0
  167. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/src/consts.c +299 -0
  168. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/src/consts.h +34 -0
  169. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/src/intt_ppc_asm.S +3222 -0
  170. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/src/ntt_ppc_asm.S +1651 -0
  171. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/src/poly_tomont_ppc_asm.S +294 -0
  172. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/src/reduce_ppc_asm.S +710 -0
  173. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/riscv64/meta.h +5 -0
  174. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/riscv64/src/rv64v_debug.c +18 -16
  175. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/riscv64/src/rv64v_debug.h +19 -24
  176. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/riscv64/src/rv64v_poly.c +53 -65
  177. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/meta.h +20 -20
  178. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/arith_native_x86_64.h +106 -88
  179. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/compress_consts.c +45 -35
  180. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/compress_consts.h +8 -8
  181. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/consts.c +1 -1
  182. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/consts.h +1 -1
  183. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{intt.S → intt_avx2_asm.S} +8 -8
  184. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{ntt.S → ntt_avx2_asm.S} +8 -8
  185. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{nttfrombytes.S → nttfrombytes_avx2_asm.S} +8 -8
  186. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{ntttobytes.S → ntttobytes_avx2_asm.S} +8 -8
  187. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{nttunpack.S → nttunpack_avx2_asm.S} +8 -8
  188. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{poly_compress_d10.S → poly_compress_d10_avx2_asm.S} +9 -9
  189. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{poly_compress_d11.S → poly_compress_d11_avx2_asm.S} +9 -9
  190. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{poly_compress_d4.S → poly_compress_d4_avx2_asm.S} +9 -9
  191. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{poly_compress_d5.S → poly_compress_d5_avx2_asm.S} +9 -9
  192. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{poly_decompress_d10.S → poly_decompress_d10_avx2_asm.S} +9 -9
  193. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{poly_decompress_d11.S → poly_decompress_d11_avx2_asm.S} +9 -9
  194. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{poly_decompress_d4.S → poly_decompress_d4_avx2_asm.S} +9 -9
  195. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{poly_decompress_d5.S → poly_decompress_d5_avx2_asm.S} +9 -9
  196. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{mulcache_compute.S → poly_mulcache_compute_avx2_asm.S} +8 -8
  197. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{polyvec_basemul_acc_montgomery_cached_asm_k2.S → polyvec_basemul_acc_montgomery_cached_k2_avx2_asm.S} +8 -8
  198. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{polyvec_basemul_acc_montgomery_cached_asm_k3.S → polyvec_basemul_acc_montgomery_cached_k3_avx2_asm.S} +8 -8
  199. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{polyvec_basemul_acc_montgomery_cached_asm_k4.S → polyvec_basemul_acc_montgomery_cached_k4_avx2_asm.S} +8 -8
  200. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{reduce.S → reduce_avx2_asm.S} +8 -8
  201. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{rej_uniform_asm.S → rej_uniform_avx2_asm.S} +9 -9
  202. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/rej_uniform_table.c +514 -513
  203. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{tomont.S → tomont_avx2_asm.S} +8 -8
  204. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/poly.c +61 -57
  205. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/poly.h +89 -116
  206. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/poly_k.c +31 -32
  207. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/poly_k.h +226 -301
  208. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/randombytes.h +21 -29
  209. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/sampling.c +68 -63
  210. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/sampling.h +37 -48
  211. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/sys.h +44 -2
  212. data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/verify.h +141 -159
  213. data/lib/pq_crypto/version.rb +1 -1
  214. data/script/vendor_libs.rb +6 -6
  215. metadata +86 -71
  216. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x1_scalar_asm.S +0 -376
  217. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x1_v84a_asm.S +0 -204
  218. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x2_v84a_asm.S +0 -259
  219. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x4_v8a_scalar_hybrid_asm.S +0 -1077
  220. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x4_v8a_v84a_scalar_hybrid_asm.S +0 -987
  221. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/x86_64/src/KeccakP_1600_times4_SIMD256.c +0 -488
  222. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/x86_64/src/KeccakP_1600_times4_SIMD256.h +0 -16
  223. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/intt.S +0 -753
  224. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l4.S +0 -129
  225. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l5.S +0 -145
  226. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l7.S +0 -177
  227. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/ntt.S +0 -653
  228. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/pointwise_montgomery.S +0 -79
  229. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_caddq_asm.S +0 -53
  230. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_chknorm_asm.S +0 -55
  231. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_decompose_32_asm.S +0 -85
  232. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_decompose_88_asm.S +0 -85
  233. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_use_hint_32_asm.S +0 -102
  234. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_use_hint_88_asm.S +0 -110
  235. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/polyz_unpack_17_asm.S +0 -72
  236. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/polyz_unpack_19_asm.S +0 -69
  237. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_asm.S +0 -189
  238. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_eta2_asm.S +0 -135
  239. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_eta4_asm.S +0 -128
  240. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/intt.S +0 -2311
  241. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/ntt.S +0 -2383
  242. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/nttunpack.S +0 -239
  243. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise.S +0 -131
  244. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_acc_l4.S +0 -139
  245. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_acc_l5.S +0 -155
  246. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_acc_l7.S +0 -187
  247. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_caddq_avx2.c +0 -61
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pq_crypto
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.6.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roman Haydarov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-05-14 00:00:00.000000000 Z
11
+ date: 2026-06-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -84,6 +84,7 @@ files:
84
84
  - ext/pqcrypto/vendor/mldsa-native/META.yml
85
85
  - ext/pqcrypto/vendor/mldsa-native/README.md
86
86
  - ext/pqcrypto/vendor/mldsa-native/SECURITY.md
87
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/README.md
87
88
  - ext/pqcrypto/vendor/mldsa-native/mldsa/mldsa_native.c
88
89
  - ext/pqcrypto/vendor/mldsa-native/mldsa/mldsa_native.h
89
90
  - ext/pqcrypto/vendor/mldsa-native/mldsa/mldsa_native_asm.S
@@ -102,11 +103,11 @@ files:
102
103
  - ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/keccakf1600.h
103
104
  - ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/auto.h
104
105
  - ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/fips202_native_aarch64.h
105
- - ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x1_scalar_asm.S
106
- - ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x1_v84a_asm.S
107
- - ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x2_v84a_asm.S
108
- - ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x4_v8a_scalar_hybrid_asm.S
109
- - ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x4_v8a_v84a_scalar_hybrid_asm.S
106
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x1_scalar_aarch64_asm.S
107
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x1_v84a_aarch64_asm.S
108
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x2_v84a_aarch64_asm.S
109
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x4_v8a_scalar_hybrid_aarch64_asm.S
110
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x4_v8a_v84a_scalar_hybrid_aarch64_asm.S
110
111
  - ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccakf1600_round_constants.c
111
112
  - ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/x1_scalar.h
112
113
  - ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/x1_v84a.h
@@ -120,31 +121,34 @@ files:
120
121
  - ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/src/keccak_f1600_x4_mve.S
121
122
  - ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/src/keccak_f1600_x4_mve.c
122
123
  - ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/src/keccakf1600_round_constants.c
124
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/src/state_extract_bytes_x4_mve.S
125
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/src/state_xor_bytes_x4_mve.S
123
126
  - ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/auto.h
124
- - ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/x86_64/src/KeccakP_1600_times4_SIMD256.c
125
- - ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/x86_64/src/KeccakP_1600_times4_SIMD256.h
126
- - ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/x86_64/xkcp.h
127
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/x86_64/keccak_f1600_x4_avx2.h
128
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/x86_64/src/fips202_native_x86_64.h
129
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/x86_64/src/keccak_f1600_x4_avx2_asm.S
130
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/x86_64/src/keccakf1600_constants.c
127
131
  - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/meta.h
128
132
  - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/aarch64_zetas.c
129
133
  - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/arith_native_aarch64.h
130
- - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/intt.S
131
- - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l4.S
132
- - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l5.S
133
- - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l7.S
134
- - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/ntt.S
135
- - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/pointwise_montgomery.S
136
- - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_caddq_asm.S
137
- - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_chknorm_asm.S
138
- - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_decompose_32_asm.S
139
- - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_decompose_88_asm.S
140
- - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_use_hint_32_asm.S
141
- - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_use_hint_88_asm.S
142
- - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/polyz_unpack_17_asm.S
143
- - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/polyz_unpack_19_asm.S
134
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/intt_aarch64_asm.S
135
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l4_aarch64_asm.S
136
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l5_aarch64_asm.S
137
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l7_aarch64_asm.S
138
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/ntt_aarch64_asm.S
139
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/pointwise_montgomery_aarch64_asm.S
140
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_caddq_aarch64_asm.S
141
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_chknorm_aarch64_asm.S
142
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_decompose_32_aarch64_asm.S
143
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_decompose_88_aarch64_asm.S
144
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_use_hint_32_aarch64_asm.S
145
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_use_hint_88_aarch64_asm.S
146
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/polyz_unpack_17_aarch64_asm.S
147
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/polyz_unpack_19_aarch64_asm.S
144
148
  - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/polyz_unpack_table.c
145
- - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_asm.S
146
- - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_eta2_asm.S
147
- - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_eta4_asm.S
149
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_aarch64_asm.S
150
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_eta2_aarch64_asm.S
151
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_eta4_aarch64_asm.S
148
152
  - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_eta_table.c
149
153
  - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_table.c
150
154
  - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/api.h
@@ -153,14 +157,14 @@ files:
153
157
  - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/arith_native_x86_64.h
154
158
  - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/consts.c
155
159
  - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/consts.h
156
- - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/intt.S
157
- - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/ntt.S
158
- - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/nttunpack.S
159
- - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise.S
160
- - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_acc_l4.S
161
- - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_acc_l5.S
162
- - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_acc_l7.S
163
- - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_caddq_avx2.c
160
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/intt_avx2_asm.S
161
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/ntt_avx2_asm.S
162
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/nttunpack_avx2_asm.S
163
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_acc_l4_avx2_asm.S
164
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_acc_l5_avx2_asm.S
165
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_acc_l7_avx2_asm.S
166
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_avx2_asm.S
167
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_caddq_avx2_asm.S
164
168
  - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_chknorm_avx2.c
165
169
  - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_decompose_32_avx2.c
166
170
  - ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_decompose_88_avx2.c
@@ -181,6 +185,8 @@ files:
181
185
  - ext/pqcrypto/vendor/mldsa-native/mldsa/src/poly_kl.h
182
186
  - ext/pqcrypto/vendor/mldsa-native/mldsa/src/polyvec.c
183
187
  - ext/pqcrypto/vendor/mldsa-native/mldsa/src/polyvec.h
188
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/polyvec_lazy.c
189
+ - ext/pqcrypto/vendor/mldsa-native/mldsa/src/polyvec_lazy.h
184
190
  - ext/pqcrypto/vendor/mldsa-native/mldsa/src/randombytes.h
185
191
  - ext/pqcrypto/vendor/mldsa-native/mldsa/src/reduce.h
186
192
  - ext/pqcrypto/vendor/mldsa-native/mldsa/src/rounding.h
@@ -214,11 +220,11 @@ files:
214
220
  - ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/keccakf1600.h
215
221
  - ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/auto.h
216
222
  - ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/fips202_native_aarch64.h
217
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/keccak_f1600_x1_scalar_asm.S
218
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/keccak_f1600_x1_v84a_asm.S
219
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/keccak_f1600_x2_v84a_asm.S
220
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/keccak_f1600_x4_v8a_scalar_hybrid_asm.S
221
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/keccak_f1600_x4_v8a_v84a_scalar_hybrid_asm.S
223
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/keccak_f1600_x1_scalar_aarch64_asm.S
224
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/keccak_f1600_x1_v84a_aarch64_asm.S
225
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/keccak_f1600_x2_v84a_aarch64_asm.S
226
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/keccak_f1600_x4_v8a_scalar_hybrid_aarch64_asm.S
227
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/keccak_f1600_x4_v8a_v84a_scalar_hybrid_aarch64_asm.S
222
228
  - ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/keccakf1600_round_constants.c
223
229
  - ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/x1_scalar.h
224
230
  - ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/x1_v84a.h
@@ -237,7 +243,7 @@ files:
237
243
  - ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/auto.h
238
244
  - ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/x86_64/keccak_f1600_x4_avx2.h
239
245
  - ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/x86_64/src/fips202_native_x86_64.h
240
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/x86_64/src/keccak_f1600_x4_avx2.S
246
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/x86_64/src/keccak_f1600_x4_avx2_asm.S
241
247
  - ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/x86_64/src/keccakf1600_constants.c
242
248
  - ext/pqcrypto/vendor/mlkem-native/mlkem/src/indcpa.c
243
249
  - ext/pqcrypto/vendor/mlkem-native/mlkem/src/indcpa.h
@@ -247,19 +253,28 @@ files:
247
253
  - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/meta.h
248
254
  - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/aarch64_zetas.c
249
255
  - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/arith_native_aarch64.h
250
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/intt.S
251
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/ntt.S
252
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/poly_mulcache_compute_asm.S
253
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/poly_reduce_asm.S
254
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/poly_tobytes_asm.S
255
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/poly_tomont_asm.S
256
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/polyvec_basemul_acc_montgomery_cached_asm_k2.S
257
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/polyvec_basemul_acc_montgomery_cached_asm_k3.S
258
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/polyvec_basemul_acc_montgomery_cached_asm_k4.S
259
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/rej_uniform_asm.S
256
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/intt_aarch64_asm.S
257
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/ntt_aarch64_asm.S
258
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/poly_mulcache_compute_aarch64_asm.S
259
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/poly_reduce_aarch64_asm.S
260
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/poly_tobytes_aarch64_asm.S
261
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/poly_tomont_aarch64_asm.S
262
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/polyvec_basemul_acc_montgomery_cached_k2_aarch64_asm.S
263
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/polyvec_basemul_acc_montgomery_cached_k3_aarch64_asm.S
264
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/polyvec_basemul_acc_montgomery_cached_k4_aarch64_asm.S
265
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/rej_uniform_aarch64_asm.S
260
266
  - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/rej_uniform_table.c
261
267
  - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/api.h
262
268
  - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/meta.h
269
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/README.md
270
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/meta.h
271
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/src/arith_native_ppc64le.h
272
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/src/consts.c
273
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/src/consts.h
274
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/src/intt_ppc_asm.S
275
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/src/ntt_ppc_asm.S
276
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/src/poly_tomont_ppc_asm.S
277
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/src/reduce_ppc_asm.S
263
278
  - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/riscv64/README.md
264
279
  - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/riscv64/meta.h
265
280
  - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/riscv64/src/arith_native_riscv64.h
@@ -276,27 +291,27 @@ files:
276
291
  - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/compress_consts.h
277
292
  - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/consts.c
278
293
  - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/consts.h
279
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/intt.S
280
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/mulcache_compute.S
281
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/ntt.S
282
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/nttfrombytes.S
283
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/ntttobytes.S
284
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/nttunpack.S
285
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/poly_compress_d10.S
286
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/poly_compress_d11.S
287
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/poly_compress_d4.S
288
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/poly_compress_d5.S
289
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/poly_decompress_d10.S
290
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/poly_decompress_d11.S
291
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/poly_decompress_d4.S
292
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/poly_decompress_d5.S
293
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/polyvec_basemul_acc_montgomery_cached_asm_k2.S
294
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/polyvec_basemul_acc_montgomery_cached_asm_k3.S
295
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/polyvec_basemul_acc_montgomery_cached_asm_k4.S
296
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/reduce.S
297
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/rej_uniform_asm.S
294
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/intt_avx2_asm.S
295
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/ntt_avx2_asm.S
296
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/nttfrombytes_avx2_asm.S
297
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/ntttobytes_avx2_asm.S
298
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/nttunpack_avx2_asm.S
299
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/poly_compress_d10_avx2_asm.S
300
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/poly_compress_d11_avx2_asm.S
301
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/poly_compress_d4_avx2_asm.S
302
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/poly_compress_d5_avx2_asm.S
303
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/poly_decompress_d10_avx2_asm.S
304
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/poly_decompress_d11_avx2_asm.S
305
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/poly_decompress_d4_avx2_asm.S
306
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/poly_decompress_d5_avx2_asm.S
307
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/poly_mulcache_compute_avx2_asm.S
308
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/polyvec_basemul_acc_montgomery_cached_k2_avx2_asm.S
309
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/polyvec_basemul_acc_montgomery_cached_k3_avx2_asm.S
310
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/polyvec_basemul_acc_montgomery_cached_k4_avx2_asm.S
311
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/reduce_avx2_asm.S
312
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/rej_uniform_avx2_asm.S
298
313
  - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/rej_uniform_table.c
299
- - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/tomont.S
314
+ - ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/tomont_avx2_asm.S
300
315
  - ext/pqcrypto/vendor/mlkem-native/mlkem/src/params.h
301
316
  - ext/pqcrypto/vendor/mlkem-native/mlkem/src/poly.c
302
317
  - ext/pqcrypto/vendor/mlkem-native/mlkem/src/poly.h
@@ -1,376 +0,0 @@
1
- /*
2
- * Copyright (c) The mlkem-native project authors
3
- * Copyright (c) The mldsa-native project authors
4
- * Copyright (c) 2021-2022 Arm Limited
5
- * Copyright (c) 2022 Matthias Kannwischer
6
- * SPDX-License-Identifier: Apache-2.0 OR ISC OR MIT
7
- */
8
-
9
- // Author: Hanno Becker <hanno.becker@arm.com>
10
- // Author: Matthias Kannwischer <matthias@kannwischer.eu>
11
-
12
- /*yaml
13
- Name: keccak_f1600_x1_scalar_asm
14
- Description: AArch64 scalar implementation of Keccak-f[1600] permutation for single state
15
- Signature: void mld_keccak_f1600_x1_scalar_asm(uint64_t state[25], const uint64_t rc[24])
16
- ABI:
17
- x0:
18
- type: buffer
19
- size_bytes: 200
20
- permissions: read/write
21
- c_parameter: uint64_t state[25]
22
- description: Keccak state (25 x uint64_t)
23
- x1:
24
- type: buffer
25
- size_bytes: 192
26
- permissions: read-only
27
- c_parameter: uint64_t const *rc
28
- description: Round constants (24 x uint64_t)
29
- Stack:
30
- bytes: 128
31
- description: register preservation and temporary storage
32
- */
33
-
34
- #include "../../../../common.h"
35
- #if defined(MLD_FIPS202_AARCH64_NEED_X1_SCALAR) && \
36
- !defined(MLD_CONFIG_MULTILEVEL_NO_SHARED)
37
-
38
- /*
39
- * WARNING: This file is auto-derived from the mldsa-native source file
40
- * dev/fips202/aarch64/src/keccak_f1600_x1_scalar_asm.S using scripts/simpasm. Do not modify it directly.
41
- */
42
-
43
- #if defined(__ELF__)
44
- .section .note.GNU-stack,"",@progbits
45
- #endif
46
-
47
- .text
48
- .balign 4
49
- .global MLD_ASM_NAMESPACE(keccak_f1600_x1_scalar_asm)
50
- MLD_ASM_FN_SYMBOL(keccak_f1600_x1_scalar_asm)
51
-
52
- .cfi_startproc
53
- sub sp, sp, #0x80
54
- .cfi_adjust_cfa_offset 0x80
55
- stp x19, x20, [sp, #0x20]
56
- .cfi_rel_offset x19, 0x20
57
- .cfi_rel_offset x20, 0x28
58
- stp x21, x22, [sp, #0x30]
59
- .cfi_rel_offset x21, 0x30
60
- .cfi_rel_offset x22, 0x38
61
- stp x23, x24, [sp, #0x40]
62
- .cfi_rel_offset x23, 0x40
63
- .cfi_rel_offset x24, 0x48
64
- stp x25, x26, [sp, #0x50]
65
- .cfi_rel_offset x25, 0x50
66
- .cfi_rel_offset x26, 0x58
67
- stp x27, x28, [sp, #0x60]
68
- .cfi_rel_offset x27, 0x60
69
- .cfi_rel_offset x28, 0x68
70
- stp x29, x30, [sp, #0x70]
71
- .cfi_rel_offset x29, 0x70
72
- .cfi_rel_offset x30, 0x78
73
-
74
- Lkeccak_f1600_x1_scalar_initial:
75
- mov x26, x1
76
- str x1, [sp, #0x8]
77
- ldp x1, x6, [x0]
78
- ldp x11, x16, [x0, #0x10]
79
- ldp x21, x2, [x0, #0x20]
80
- ldp x7, x12, [x0, #0x30]
81
- ldp x17, x22, [x0, #0x40]
82
- ldp x3, x8, [x0, #0x50]
83
- ldp x13, x28, [x0, #0x60]
84
- ldp x23, x4, [x0, #0x70]
85
- ldp x9, x14, [x0, #0x80]
86
- ldp x19, x24, [x0, #0x90]
87
- ldp x5, x10, [x0, #0xa0]
88
- ldp x15, x20, [x0, #0xb0]
89
- ldr x25, [x0, #0xc0]
90
- str x0, [sp]
91
- eor x30, x24, x25
92
- eor x27, x9, x10
93
- eor x0, x30, x21
94
- eor x26, x27, x6
95
- eor x27, x26, x7
96
- eor x29, x0, x22
97
- eor x26, x29, x23
98
- eor x29, x4, x5
99
- eor x30, x29, x1
100
- eor x0, x27, x8
101
- eor x29, x30, x2
102
- eor x30, x19, x20
103
- eor x30, x30, x16
104
- eor x27, x26, x0, ror #63
105
- eor x4, x4, x27
106
- eor x30, x30, x17
107
- eor x30, x30, x28
108
- eor x29, x29, x3
109
- eor x0, x0, x30, ror #63
110
- eor x30, x30, x29, ror #63
111
- eor x22, x22, x30
112
- eor x23, x23, x30
113
- str x23, [sp, #0x18]
114
- eor x23, x14, x15
115
- eor x14, x14, x0
116
- eor x23, x23, x11
117
- eor x15, x15, x0
118
- eor x1, x1, x27
119
- eor x23, x23, x12
120
- eor x23, x23, x13
121
- eor x11, x11, x0
122
- eor x29, x29, x23, ror #63
123
- eor x23, x23, x26, ror #63
124
- eor x26, x13, x0
125
- eor x13, x28, x23
126
- eor x28, x24, x30
127
- eor x24, x16, x23
128
- eor x16, x21, x30
129
- eor x21, x25, x30
130
- eor x30, x19, x23
131
- eor x19, x20, x23
132
- eor x20, x17, x23
133
- eor x17, x12, x0
134
- eor x0, x2, x27
135
- eor x2, x6, x29
136
- eor x6, x8, x29
137
- bic x8, x28, x13, ror #47
138
- eor x12, x3, x27
139
- bic x3, x13, x17, ror #19
140
- eor x5, x5, x27
141
- ldr x27, [sp, #0x18]
142
- bic x25, x17, x2, ror #5
143
- eor x9, x9, x29
144
- eor x23, x25, x5, ror #52
145
- eor x3, x3, x2, ror #24
146
- eor x8, x8, x17, ror #2
147
- eor x17, x10, x29
148
- bic x25, x12, x22, ror #47
149
- eor x29, x7, x29
150
- bic x10, x4, x27, ror #2
151
- bic x7, x5, x28, ror #10
152
- eor x10, x10, x20, ror #50
153
- eor x13, x7, x13, ror #57
154
- bic x7, x2, x5, ror #47
155
- eor x2, x25, x24, ror #39
156
- bic x25, x20, x11, ror #57
157
- bic x5, x17, x4, ror #25
158
- eor x25, x25, x17, ror #53
159
- bic x17, x11, x17, ror #60
160
- eor x28, x7, x28, ror #57
161
- bic x7, x9, x12, ror #42
162
- eor x7, x7, x22, ror #25
163
- bic x22, x22, x24, ror #56
164
- bic x24, x24, x15, ror #31
165
- eor x22, x22, x15, ror #23
166
- bic x20, x27, x20, ror #48
167
- bic x15, x15, x9, ror #16
168
- eor x12, x15, x12, ror #58
169
- eor x15, x5, x27, ror #27
170
- eor x5, x20, x11, ror #41
171
- ldr x11, [sp, #0x8]
172
- eor x20, x17, x4, ror #21
173
- eor x17, x24, x9, ror #47
174
- mov x24, #0x1 // =1
175
- bic x9, x0, x16, ror #9
176
- str x24, [sp, #0x10]
177
- bic x24, x29, x1, ror #44
178
- bic x27, x1, x21, ror #50
179
- bic x4, x26, x29, ror #63
180
- eor x1, x1, x4, ror #21
181
- ldr x11, [x11]
182
- bic x4, x21, x30, ror #57
183
- eor x21, x24, x21, ror #30
184
- eor x24, x9, x19, ror #44
185
- bic x9, x14, x6, ror #5
186
- eor x9, x9, x0, ror #43
187
- bic x0, x6, x0, ror #38
188
- eor x1, x1, x11
189
- eor x11, x4, x26, ror #35
190
- eor x4, x0, x16, ror #47
191
- bic x0, x16, x19, ror #35
192
- eor x16, x27, x30, ror #43
193
- bic x27, x30, x26, ror #42
194
- bic x26, x19, x14, ror #41
195
- eor x19, x0, x14, ror #12
196
- eor x14, x26, x6, ror #46
197
- eor x6, x27, x29, ror #41
198
-
199
- Lkeccak_f1600_x1_scalar_loop:
200
- eor x0, x15, x11, ror #52
201
- eor x0, x0, x13, ror #48
202
- eor x26, x8, x9, ror #57
203
- eor x27, x0, x14, ror #10
204
- eor x29, x16, x28, ror #63
205
- eor x26, x26, x6, ror #51
206
- eor x30, x23, x22, ror #50
207
- eor x0, x26, x10, ror #31
208
- eor x29, x29, x19, ror #37
209
- eor x27, x27, x12, ror #5
210
- eor x30, x30, x24, ror #34
211
- eor x0, x0, x7, ror #27
212
- eor x26, x30, x21, ror #26
213
- eor x26, x26, x25, ror #15
214
- ror x30, x27, #0x3e
215
- eor x30, x30, x26, ror #57
216
- ror x26, x26, #0x3a
217
- eor x16, x30, x16
218
- eor x28, x30, x28, ror #63
219
- str x28, [sp, #0x18]
220
- eor x29, x29, x17, ror #36
221
- eor x28, x1, x2, ror #61
222
- eor x19, x30, x19, ror #37
223
- eor x29, x29, x20, ror #2
224
- eor x28, x28, x4, ror #54
225
- eor x26, x26, x0, ror #55
226
- eor x28, x28, x3, ror #39
227
- eor x28, x28, x5, ror #25
228
- ror x0, x0, #0x38
229
- eor x0, x0, x29, ror #63
230
- eor x27, x28, x27, ror #61
231
- eor x13, x0, x13, ror #46
232
- eor x28, x29, x28, ror #63
233
- eor x29, x30, x20, ror #2
234
- eor x20, x26, x3, ror #39
235
- eor x11, x0, x11, ror #50
236
- eor x25, x28, x25, ror #9
237
- eor x3, x28, x21, ror #20
238
- eor x21, x26, x1
239
- eor x9, x27, x9, ror #49
240
- eor x24, x28, x24, ror #28
241
- eor x1, x30, x17, ror #36
242
- eor x14, x0, x14, ror #8
243
- eor x22, x28, x22, ror #44
244
- eor x8, x27, x8, ror #56
245
- eor x17, x27, x7, ror #19
246
- eor x15, x0, x15, ror #62
247
- bic x7, x20, x22, ror #47
248
- eor x4, x26, x4, ror #54
249
- eor x0, x0, x12, ror #3
250
- eor x28, x28, x23, ror #58
251
- eor x23, x26, x2, ror #61
252
- eor x26, x26, x5, ror #25
253
- eor x2, x7, x16, ror #39
254
- bic x7, x9, x20, ror #42
255
- bic x30, x15, x9, ror #16
256
- eor x7, x7, x22, ror #25
257
- eor x12, x30, x20, ror #58
258
- bic x20, x22, x16, ror #56
259
- eor x30, x27, x6, ror #43
260
- eor x22, x20, x15, ror #23
261
- bic x6, x19, x13, ror #42
262
- eor x6, x6, x17, ror #41
263
- bic x5, x13, x17, ror #63
264
- eor x5, x21, x5, ror #21
265
- bic x17, x17, x21, ror #44
266
- eor x27, x27, x10, ror #23
267
- bic x21, x21, x25, ror #50
268
- bic x20, x27, x4, ror #25
269
- bic x10, x16, x15, ror #31
270
- eor x16, x21, x19, ror #43
271
- eor x21, x17, x25, ror #30
272
- bic x19, x25, x19, ror #57
273
- ldr x25, [sp, #0x10]
274
- eor x17, x10, x9, ror #47
275
- ldr x9, [sp, #0x8]
276
- eor x15, x20, x28, ror #27
277
- bic x20, x4, x28, ror #2
278
- eor x10, x20, x1, ror #50
279
- bic x20, x11, x27, ror #60
280
- eor x20, x20, x4, ror #21
281
- bic x4, x28, x1, ror #48
282
- bic x1, x1, x11, ror #57
283
- ldr x28, [x9, x25, lsl #3]
284
- ldr x9, [sp, #0x18]
285
- add x25, x25, #0x1
286
- str x25, [sp, #0x10]
287
- cmp x25, #0x17
288
- eor x25, x1, x27, ror #53
289
- bic x27, x30, x26, ror #47
290
- eor x1, x5, x28
291
- eor x5, x4, x11, ror #41
292
- eor x11, x19, x13, ror #35
293
- bic x13, x26, x24, ror #10
294
- eor x28, x27, x24, ror #57
295
- bic x27, x24, x9, ror #47
296
- bic x19, x23, x3, ror #9
297
- bic x4, x29, x14, ror #41
298
- eor x24, x19, x29, ror #44
299
- bic x29, x3, x29, ror #35
300
- eor x13, x13, x9, ror #57
301
- eor x19, x29, x14, ror #12
302
- bic x29, x9, x0, ror #19
303
- bic x14, x14, x8, ror #5
304
- eor x9, x14, x23, ror #43
305
- eor x14, x4, x8, ror #46
306
- bic x23, x8, x23, ror #38
307
- eor x8, x27, x0, ror #2
308
- eor x4, x23, x3, ror #47
309
- bic x3, x0, x30, ror #5
310
- eor x23, x3, x26, ror #52
311
- eor x3, x29, x30, ror #24
312
- b.le Lkeccak_f1600_x1_scalar_loop
313
- ror x6, x6, #0x2b
314
- ror x11, x11, #0x32
315
- ror x21, x21, #0x14
316
- ror x2, x2, #0x3d
317
- ror x7, x7, #0x13
318
- ror x12, x12, #0x3
319
- ror x17, x17, #0x24
320
- ror x22, x22, #0x2c
321
- ror x3, x3, #0x27
322
- ror x8, x8, #0x38
323
- ror x13, x13, #0x2e
324
- ror x28, x28, #0x3f
325
- ror x23, x23, #0x3a
326
- ror x4, x4, #0x36
327
- ror x9, x9, #0x31
328
- ror x14, x14, #0x8
329
- ror x19, x19, #0x25
330
- ror x24, x24, #0x1c
331
- ror x5, x5, #0x19
332
- ror x10, x10, #0x17
333
- ror x15, x15, #0x3e
334
- ror x20, x20, #0x2
335
- ror x25, x25, #0x9
336
- ldr x0, [sp]
337
- stp x1, x6, [x0]
338
- stp x11, x16, [x0, #0x10]
339
- stp x21, x2, [x0, #0x20]
340
- stp x7, x12, [x0, #0x30]
341
- stp x17, x22, [x0, #0x40]
342
- stp x3, x8, [x0, #0x50]
343
- stp x13, x28, [x0, #0x60]
344
- stp x23, x4, [x0, #0x70]
345
- stp x9, x14, [x0, #0x80]
346
- stp x19, x24, [x0, #0x90]
347
- stp x5, x10, [x0, #0xa0]
348
- stp x15, x20, [x0, #0xb0]
349
- str x25, [x0, #0xc0]
350
- ldp x19, x20, [sp, #0x20]
351
- .cfi_restore x19
352
- .cfi_restore x20
353
- ldp x21, x22, [sp, #0x30]
354
- .cfi_restore x21
355
- .cfi_restore x22
356
- ldp x23, x24, [sp, #0x40]
357
- .cfi_restore x23
358
- .cfi_restore x24
359
- ldp x25, x26, [sp, #0x50]
360
- .cfi_restore x25
361
- .cfi_restore x26
362
- ldp x27, x28, [sp, #0x60]
363
- .cfi_restore x27
364
- .cfi_restore x28
365
- ldp x29, x30, [sp, #0x70]
366
- .cfi_restore x29
367
- .cfi_restore x30
368
- add sp, sp, #0x80
369
- .cfi_adjust_cfa_offset -0x80
370
- ret
371
- .cfi_endproc
372
-
373
- MLD_ASM_FN_SIZE(keccak_f1600_x1_scalar_asm)
374
-
375
- #endif /* MLD_FIPS202_AARCH64_NEED_X1_SCALAR && \
376
- !MLD_CONFIG_MULTILEVEL_NO_SHARED */