pq_crypto 0.6.1 → 0.6.2

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 (141) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/SECURITY.md +7 -0
  4. data/ext/pqcrypto/pqcrypto_version.h +1 -1
  5. data/ext/pqcrypto/vendor/.vendored +4 -4
  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/lib/pq_crypto/version.rb +1 -1
  108. data/script/vendor_libs.rb +3 -3
  109. metadata +41 -35
  110. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x1_scalar_asm.S +0 -376
  111. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x1_v84a_asm.S +0 -204
  112. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x2_v84a_asm.S +0 -259
  113. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x4_v8a_scalar_hybrid_asm.S +0 -1077
  114. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x4_v8a_v84a_scalar_hybrid_asm.S +0 -987
  115. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/x86_64/src/KeccakP_1600_times4_SIMD256.c +0 -488
  116. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/x86_64/src/KeccakP_1600_times4_SIMD256.h +0 -16
  117. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/intt.S +0 -753
  118. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l4.S +0 -129
  119. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l5.S +0 -145
  120. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l7.S +0 -177
  121. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/ntt.S +0 -653
  122. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/pointwise_montgomery.S +0 -79
  123. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_caddq_asm.S +0 -53
  124. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_chknorm_asm.S +0 -55
  125. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_decompose_32_asm.S +0 -85
  126. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_decompose_88_asm.S +0 -85
  127. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_use_hint_32_asm.S +0 -102
  128. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_use_hint_88_asm.S +0 -110
  129. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/polyz_unpack_17_asm.S +0 -72
  130. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/polyz_unpack_19_asm.S +0 -69
  131. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_asm.S +0 -189
  132. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_eta2_asm.S +0 -135
  133. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_eta4_asm.S +0 -128
  134. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/intt.S +0 -2311
  135. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/ntt.S +0 -2383
  136. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/nttunpack.S +0 -239
  137. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise.S +0 -131
  138. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_acc_l4.S +0 -139
  139. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_acc_l5.S +0 -155
  140. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_acc_l7.S +0 -187
  141. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_caddq_avx2.c +0 -61
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PQCrypto
4
- VERSION = "0.6.1"
4
+ VERSION = "0.6.2"
5
5
  end
@@ -21,9 +21,9 @@ PINS = {
21
21
  },
22
22
  mldsa: {
23
23
  repo: "https://github.com/pq-code-package/mldsa-native.git",
24
- ref: "v1.0.0-beta",
25
- commit: "db65535319d9750d75d34c6d170677415f9d2c46",
26
- tree_sha256: "3b2cb648dade4540191f08d606b422042bf781fb37b434934ab02b58a0121f5c",
24
+ ref: "v1.0.0-beta2",
25
+ commit: "9b0ee84f4cf399043eca59eca4e5f8531ca1d61b",
26
+ tree_sha256: "2887f59926c18a877e8c5a5e30727e84497c357032093d00d7135aedf53f011e",
27
27
  target: "mldsa-native",
28
28
  source_dir: "mldsa"
29
29
  }
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.2
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-05-23 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
@@ -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 */