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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/SECURITY.md +7 -0
- data/ext/pqcrypto/pqcrypto_version.h +1 -1
- data/ext/pqcrypto/vendor/.vendored +7 -7
- data/ext/pqcrypto/vendor/mldsa-native/README.md +23 -10
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/README.md +23 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/mldsa_native.c +114 -58
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/mldsa_native.h +498 -461
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/mldsa_native_asm.S +145 -85
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/mldsa_native_config.h +456 -422
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/cbmc.h +47 -25
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/common.h +26 -14
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/ct.h +56 -81
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/debug.h +17 -24
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/fips202.c +33 -40
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/fips202.h +67 -87
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/fips202x4.c +19 -14
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/fips202x4.h +13 -5
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/keccakf1600.c +84 -10
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/keccakf1600.h +10 -5
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/auto.h +6 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/fips202_native_aarch64.h +22 -15
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x1_scalar_aarch64_asm.S +376 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x1_v84a_aarch64_asm.S +204 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x2_v84a_aarch64_asm.S +259 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x4_v8a_scalar_hybrid_aarch64_asm.S +1077 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x4_v8a_v84a_scalar_hybrid_aarch64_asm.S +987 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccakf1600_round_constants.c +16 -10
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/x1_scalar.h +2 -1
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/x1_v84a.h +1 -1
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/x2_v84a.h +4 -2
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/x4_v8a_scalar.h +2 -2
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/x4_v8a_v84a_scalar.h +1 -1
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/api.h +60 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/mve.h +48 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/src/fips202_native_armv81m.h +18 -1
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/src/keccak_f1600_x4_mve.S +658 -582
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/src/keccak_f1600_x4_mve.c +5 -100
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/src/keccakf1600_round_constants.c +26 -25
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/src/state_extract_bytes_x4_mve.S +334 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/src/state_xor_bytes_x4_mve.S +355 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/auto.h +8 -3
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/x86_64/{xkcp.h → keccak_f1600_x4_avx2.h} +11 -8
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/x86_64/src/fips202_native_x86_64.h +44 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/x86_64/src/keccak_f1600_x4_avx2_asm.S +454 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/x86_64/src/keccakf1600_constants.c +52 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/meta.h +37 -28
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/aarch64_zetas.c +213 -196
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/arith_native_aarch64.h +248 -64
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/intt_aarch64_asm.S +753 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l4_aarch64_asm.S +129 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l5_aarch64_asm.S +145 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l7_aarch64_asm.S +177 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/ntt_aarch64_asm.S +653 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/pointwise_montgomery_aarch64_asm.S +84 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_caddq_aarch64_asm.S +53 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_chknorm_aarch64_asm.S +55 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_decompose_32_aarch64_asm.S +86 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_decompose_88_aarch64_asm.S +86 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_use_hint_32_aarch64_asm.S +103 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_use_hint_88_aarch64_asm.S +111 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/polyz_unpack_17_aarch64_asm.S +75 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/polyz_unpack_19_aarch64_asm.S +72 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/polyz_unpack_table.c +23 -11
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_aarch64_asm.S +189 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_eta2_aarch64_asm.S +137 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_eta4_aarch64_asm.S +130 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_eta_table.c +520 -516
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_table.c +34 -33
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/api.h +202 -242
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/meta.h +25 -17
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/arith_native_x86_64.h +112 -28
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/consts.c +1 -1
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/consts.h +1 -1
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/intt_avx2_asm.S +2311 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/ntt_avx2_asm.S +2383 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/nttunpack_avx2_asm.S +238 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_acc_l4_avx2_asm.S +139 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_acc_l5_avx2_asm.S +155 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_acc_l7_avx2_asm.S +187 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_avx2_asm.S +130 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_caddq_avx2_asm.S +190 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_decompose_32_avx2.c +6 -4
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_decompose_88_avx2.c +6 -4
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_use_hint_32_avx2.c +9 -8
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_use_hint_88_avx2.c +10 -9
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/polyz_unpack_17_avx2.c +8 -5
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/polyz_unpack_19_avx2.c +8 -5
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/rej_uniform_eta2_avx2.c +6 -4
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/rej_uniform_eta4_avx2.c +6 -4
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/rej_uniform_table.c +130 -129
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/packing.c +109 -180
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/packing.h +169 -150
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/poly.c +56 -40
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/poly.h +149 -164
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/poly_kl.c +52 -57
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/poly_kl.h +132 -167
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/polyvec.c +57 -424
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/polyvec.h +167 -474
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/polyvec_lazy.c +308 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/polyvec_lazy.h +653 -0
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/reduce.h +22 -29
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/rounding.h +37 -43
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/sign.c +511 -367
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/sign.h +456 -417
- data/ext/pqcrypto/vendor/mlkem-native/README.md +6 -3
- data/ext/pqcrypto/vendor/mlkem-native/RELEASE.md +22 -0
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/mlkem_native.c +77 -36
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/mlkem_native.h +135 -146
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/mlkem_native_asm.S +116 -72
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/mlkem_native_config.h +351 -415
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/cbmc.h +43 -20
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/common.h +16 -8
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/compress.c +57 -31
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/compress.h +260 -349
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/debug.h +17 -24
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/fips202.c +35 -37
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/fips202.h +43 -57
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/fips202x4.c +14 -15
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/fips202x4.h +5 -4
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/keccakf1600.c +42 -6
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/fips202_native_aarch64.h +31 -20
- 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
- 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
- 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
- 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
- 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
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/src/keccakf1600_round_constants.c +10 -9
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/x1_scalar.h +2 -1
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/x1_v84a.h +1 -1
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/x2_v84a.h +4 -2
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/x4_v8a_scalar.h +2 -2
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/aarch64/x4_v8a_v84a_scalar.h +1 -1
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/armv81m/src/fips202_native_armv81m.h +2 -1
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/armv81m/src/keccak_f1600_x4_mve.S +55 -9
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/armv81m/src/keccakf1600_round_constants.c +26 -25
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/armv81m/src/state_extract_bytes_x4_mve.S +58 -14
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/armv81m/src/state_xor_bytes_x4_mve.S +57 -16
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/auto.h +2 -1
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/x86_64/keccak_f1600_x4_avx2.h +2 -2
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/x86_64/src/fips202_native_x86_64.h +10 -7
- 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
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/fips202/native/x86_64/src/keccakf1600_constants.c +12 -11
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/indcpa.c +167 -136
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/indcpa.h +75 -68
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/kem.h +135 -157
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/meta.h +15 -13
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/aarch64_zetas.c +143 -135
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/arith_native_aarch64.h +52 -46
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/{intt.S → intt_aarch64_asm.S} +10 -10
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/{ntt.S → ntt_aarch64_asm.S} +10 -10
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/{poly_mulcache_compute_asm.S → poly_mulcache_compute_aarch64_asm.S} +10 -10
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/{poly_reduce_asm.S → poly_reduce_aarch64_asm.S} +10 -10
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/{poly_tobytes_asm.S → poly_tobytes_aarch64_asm.S} +10 -10
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/{poly_tomont_asm.S → poly_tomont_aarch64_asm.S} +10 -12
- 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
- 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
- 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
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/{rej_uniform_asm.S → rej_uniform_aarch64_asm.S} +12 -12
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/rej_uniform_table.c +514 -513
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/api.h +254 -253
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/meta.h +6 -1
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/README.md +6 -0
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/meta.h +77 -0
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/src/arith_native_ppc64le.h +24 -0
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/src/consts.c +299 -0
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/src/consts.h +34 -0
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/src/intt_ppc_asm.S +3222 -0
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/src/ntt_ppc_asm.S +1651 -0
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/src/poly_tomont_ppc_asm.S +294 -0
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/ppc64le/src/reduce_ppc_asm.S +710 -0
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/riscv64/meta.h +5 -0
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/riscv64/src/rv64v_debug.c +18 -16
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/riscv64/src/rv64v_debug.h +19 -24
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/riscv64/src/rv64v_poly.c +53 -65
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/meta.h +20 -20
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/arith_native_x86_64.h +106 -88
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/compress_consts.c +45 -35
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/compress_consts.h +8 -8
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/consts.c +1 -1
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/consts.h +1 -1
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{intt.S → intt_avx2_asm.S} +8 -8
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{ntt.S → ntt_avx2_asm.S} +8 -8
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{nttfrombytes.S → nttfrombytes_avx2_asm.S} +8 -8
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{ntttobytes.S → ntttobytes_avx2_asm.S} +8 -8
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{nttunpack.S → nttunpack_avx2_asm.S} +8 -8
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{poly_compress_d10.S → poly_compress_d10_avx2_asm.S} +9 -9
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{poly_compress_d11.S → poly_compress_d11_avx2_asm.S} +9 -9
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{poly_compress_d4.S → poly_compress_d4_avx2_asm.S} +9 -9
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{poly_compress_d5.S → poly_compress_d5_avx2_asm.S} +9 -9
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{poly_decompress_d10.S → poly_decompress_d10_avx2_asm.S} +9 -9
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{poly_decompress_d11.S → poly_decompress_d11_avx2_asm.S} +9 -9
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{poly_decompress_d4.S → poly_decompress_d4_avx2_asm.S} +9 -9
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{poly_decompress_d5.S → poly_decompress_d5_avx2_asm.S} +9 -9
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{mulcache_compute.S → poly_mulcache_compute_avx2_asm.S} +8 -8
- 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
- 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
- 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
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{reduce.S → reduce_avx2_asm.S} +8 -8
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{rej_uniform_asm.S → rej_uniform_avx2_asm.S} +9 -9
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/rej_uniform_table.c +514 -513
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/x86_64/src/{tomont.S → tomont_avx2_asm.S} +8 -8
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/poly.c +61 -57
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/poly.h +89 -116
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/poly_k.c +31 -32
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/poly_k.h +226 -301
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/randombytes.h +21 -29
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/sampling.c +68 -63
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/sampling.h +37 -48
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/sys.h +44 -2
- data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/verify.h +141 -159
- data/lib/pq_crypto/version.rb +1 -1
- data/script/vendor_libs.rb +6 -6
- metadata +86 -71
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x1_scalar_asm.S +0 -376
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x1_v84a_asm.S +0 -204
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x2_v84a_asm.S +0 -259
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x4_v8a_scalar_hybrid_asm.S +0 -1077
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x4_v8a_v84a_scalar_hybrid_asm.S +0 -987
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/x86_64/src/KeccakP_1600_times4_SIMD256.c +0 -488
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/x86_64/src/KeccakP_1600_times4_SIMD256.h +0 -16
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/intt.S +0 -753
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l4.S +0 -129
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l5.S +0 -145
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l7.S +0 -177
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/ntt.S +0 -653
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/pointwise_montgomery.S +0 -79
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_caddq_asm.S +0 -53
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_chknorm_asm.S +0 -55
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_decompose_32_asm.S +0 -85
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_decompose_88_asm.S +0 -85
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_use_hint_32_asm.S +0 -102
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_use_hint_88_asm.S +0 -110
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/polyz_unpack_17_asm.S +0 -72
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/polyz_unpack_19_asm.S +0 -69
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_asm.S +0 -189
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_eta2_asm.S +0 -135
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_eta4_asm.S +0 -128
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/intt.S +0 -2311
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/ntt.S +0 -2383
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/nttunpack.S +0 -239
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise.S +0 -131
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_acc_l4.S +0 -139
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_acc_l5.S +0 -155
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_acc_l7.S +0 -187
- data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_caddq_avx2.c +0 -61
|
@@ -20,151 +20,159 @@
|
|
|
20
20
|
* Table of zeta values used in the AArch64 forward NTT
|
|
21
21
|
* See autogen for details.
|
|
22
22
|
*/
|
|
23
|
-
MLK_ALIGN const int16_t
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
23
|
+
MLK_ALIGN MLK_INTERNAL_DATA_DEFINITION const int16_t
|
|
24
|
+
mlk_aarch64_ntt_zetas_layer12345[80] = {
|
|
25
|
+
-1600, -15749, -749, -7373, -40, -394, -687, -6762, 630, 6201,
|
|
26
|
+
-1432, -14095, 848, 8347, 0, 0, 1062, 10453, 296, 2914,
|
|
27
|
+
-882, -8682, 0, 0, -1410, -13879, 1339, 13180, 1476, 14529,
|
|
28
|
+
0, 0, 193, 1900, -283, -2786, 56, 551, 0, 0,
|
|
29
|
+
797, 7845, -1089, -10719, 1333, 13121, 0, 0, -543, -5345,
|
|
30
|
+
1426, 14036, -1235, -12156, 0, 0, -69, -679, 535, 5266,
|
|
31
|
+
-447, -4400, 0, 0, 569, 5601, -936, -9213, -450, -4429,
|
|
32
|
+
0, 0, -1583, -15582, -1355, -13338, 821, 8081, 0, 0,
|
|
32
33
|
};
|
|
33
34
|
|
|
34
|
-
MLK_ALIGN const int16_t
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
35
|
+
MLK_ALIGN MLK_INTERNAL_DATA_DEFINITION const int16_t
|
|
36
|
+
mlk_aarch64_ntt_zetas_layer67[384] = {
|
|
37
|
+
289, 289, 331, 331, -76, -76, -1573, -1573, 2845,
|
|
38
|
+
2845, 3258, 3258, -748, -748, -15483, -15483, 17, 17,
|
|
39
|
+
583, 583, 1637, 1637, -1041, -1041, 167, 167, 5739,
|
|
40
|
+
5739, 16113, 16113, -10247, -10247, -568, -568, -680, -680,
|
|
41
|
+
723, 723, 1100, 1100, -5591, -5591, -6693, -6693, 7117,
|
|
42
|
+
7117, 10828, 10828, 1197, 1197, -1025, -1025, -1052, -1052,
|
|
43
|
+
-1274, -1274, 11782, 11782, -10089, -10089, -10355, -10355, -12540,
|
|
44
|
+
-12540, 1409, 1409, -48, -48, 756, 756, -314, -314,
|
|
45
|
+
13869, 13869, -472, -472, 7441, 7441, -3091, -3091, -667,
|
|
46
|
+
-667, 233, 233, -1173, -1173, -279, -279, -6565, -6565,
|
|
47
|
+
2293, 2293, -11546, -11546, -2746, -2746, 650, 650, -1352,
|
|
48
|
+
-1352, -816, -816, 632, 632, 6398, 6398, -13308, -13308,
|
|
49
|
+
-8032, -8032, 6221, 6221, -1626, -1626, -540, -540, -1482,
|
|
50
|
+
-1482, 1461, 1461, -16005, -16005, -5315, -5315, -14588, -14588,
|
|
51
|
+
14381, 14381, 1651, 1651, -1540, -1540, 952, 952, -642,
|
|
52
|
+
-642, 16251, 16251, -15159, -15159, 9371, 9371, -6319, -6319,
|
|
53
|
+
-464, -464, 33, 33, 1320, 1320, -1414, -1414, -4567,
|
|
54
|
+
-4567, 325, 325, 12993, 12993, -13918, -13918, 939, 939,
|
|
55
|
+
-892, -892, 733, 733, 268, 268, 9243, 9243, -8780,
|
|
56
|
+
-8780, 7215, 7215, 2638, 2638, -1021, -1021, -941, -941,
|
|
57
|
+
-992, -992, 641, 641, -10050, -10050, -9262, -9262, -9764,
|
|
58
|
+
-9764, 6309, 6309, -1010, -1010, 1435, 1435, 807, 807,
|
|
59
|
+
452, 452, -9942, -9942, 14125, 14125, 7943, 7943, 4449,
|
|
60
|
+
4449, 1584, 1584, -1292, -1292, 375, 375, -1239, -1239,
|
|
61
|
+
15592, 15592, -12717, -12717, 3691, 3691, -12196, -12196, -1031,
|
|
62
|
+
-1031, -109, -109, -780, -780, 1645, 1645, -10148, -10148,
|
|
63
|
+
-1073, -1073, -7678, -7678, 16192, 16192, 1438, 1438, -461,
|
|
64
|
+
-461, 1534, 1534, -927, -927, 14155, 14155, -4538, -4538,
|
|
65
|
+
15099, 15099, -9125, -9125, 1063, 1063, -556, -556, -1230,
|
|
66
|
+
-1230, -863, -863, 10463, 10463, -5473, -5473, -12107, -12107,
|
|
67
|
+
-8495, -8495, 319, 319, 757, 757, 561, 561, -735,
|
|
68
|
+
-735, 3140, 3140, 7451, 7451, 5522, 5522, -7235, -7235,
|
|
69
|
+
-682, -682, -712, -712, 1481, 1481, 648, 648, -6713,
|
|
70
|
+
-6713, -7008, -7008, 14578, 14578, 6378, 6378, -525, -525,
|
|
71
|
+
403, 403, 1143, 1143, -554, -554, -5168, -5168, 3967,
|
|
72
|
+
3967, 11251, 11251, -5453, -5453, 1092, 1092, 1026, 1026,
|
|
73
|
+
-1179, -1179, 886, 886, 10749, 10749, 10099, 10099, -11605,
|
|
74
|
+
-11605, 8721, 8721, -855, -855, -219, -219, 1227, 1227,
|
|
75
|
+
910, 910, -8416, -8416, -2156, -2156, 12078, 12078, 8957,
|
|
76
|
+
8957, -1607, -1607, -1455, -1455, -1219, -1219, 885, 885,
|
|
77
|
+
-15818, -15818, -14322, -14322, -11999, -11999, 8711, 8711, 1212,
|
|
78
|
+
1212, 1029, 1029, -394, -394, -1175, -1175, 11930, 11930,
|
|
79
|
+
10129, 10129, -3878, -3878, -11566, -11566,
|
|
78
80
|
};
|
|
79
81
|
|
|
80
|
-
MLK_ALIGN const int16_t
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
82
|
+
MLK_ALIGN MLK_INTERNAL_DATA_DEFINITION const int16_t
|
|
83
|
+
mlk_aarch64_invntt_zetas_layer12345[80] = {
|
|
84
|
+
1583, 15582, -821, -8081, 1355, 13338, 0, 0, -569,
|
|
85
|
+
-5601, 450, 4429, 936, 9213, 0, 0, 69, 679,
|
|
86
|
+
447, 4400, -535, -5266, 0, 0, 543, 5345, 1235,
|
|
87
|
+
12156, -1426, -14036, 0, 0, -797, -7845, -1333, -13121,
|
|
88
|
+
1089, 10719, 0, 0, -193, -1900, -56, -551, 283,
|
|
89
|
+
2786, 0, 0, 1410, 13879, -1476, -14529, -1339, -13180,
|
|
90
|
+
0, 0, -1062, -10453, 882, 8682, -296, -2914, 0,
|
|
91
|
+
0, 1600, 15749, 40, 394, 749, 7373, -848, -8347,
|
|
92
|
+
1432, 14095, -630, -6201, 687, 6762, 0, 0,
|
|
89
93
|
};
|
|
90
94
|
|
|
91
|
-
MLK_ALIGN const int16_t
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
95
|
+
MLK_ALIGN MLK_INTERNAL_DATA_DEFINITION const int16_t
|
|
96
|
+
mlk_aarch64_invntt_zetas_layer67[384] = {
|
|
97
|
+
-910, -910, -1227, -1227, 219, 219, 855, 855, -8957,
|
|
98
|
+
-8957, -12078, -12078, 2156, 2156, 8416, 8416, 1175, 1175,
|
|
99
|
+
394, 394, -1029, -1029, -1212, -1212, 11566, 11566, 3878,
|
|
100
|
+
3878, -10129, -10129, -11930, -11930, -885, -885, 1219, 1219,
|
|
101
|
+
1455, 1455, 1607, 1607, -8711, -8711, 11999, 11999, 14322,
|
|
102
|
+
14322, 15818, 15818, -648, -648, -1481, -1481, 712, 712,
|
|
103
|
+
682, 682, -6378, -6378, -14578, -14578, 7008, 7008, 6713,
|
|
104
|
+
6713, -886, -886, 1179, 1179, -1026, -1026, -1092, -1092,
|
|
105
|
+
-8721, -8721, 11605, 11605, -10099, -10099, -10749, -10749, 554,
|
|
106
|
+
554, -1143, -1143, -403, -403, 525, 525, 5453, 5453,
|
|
107
|
+
-11251, -11251, -3967, -3967, 5168, 5168, 927, 927, -1534,
|
|
108
|
+
-1534, 461, 461, -1438, -1438, 9125, 9125, -15099, -15099,
|
|
109
|
+
4538, 4538, -14155, -14155, 735, 735, -561, -561, -757,
|
|
110
|
+
-757, -319, -319, 7235, 7235, -5522, -5522, -7451, -7451,
|
|
111
|
+
-3140, -3140, 863, 863, 1230, 1230, 556, 556, -1063,
|
|
112
|
+
-1063, 8495, 8495, 12107, 12107, 5473, 5473, -10463, -10463,
|
|
113
|
+
-452, -452, -807, -807, -1435, -1435, 1010, 1010, -4449,
|
|
114
|
+
-4449, -7943, -7943, -14125, -14125, 9942, 9942, -1645, -1645,
|
|
115
|
+
780, 780, 109, 109, 1031, 1031, -16192, -16192, 7678,
|
|
116
|
+
7678, 1073, 1073, 10148, 10148, 1239, 1239, -375, -375,
|
|
117
|
+
1292, 1292, -1584, -1584, 12196, 12196, -3691, -3691, 12717,
|
|
118
|
+
12717, -15592, -15592, 1414, 1414, -1320, -1320, -33, -33,
|
|
119
|
+
464, 464, 13918, 13918, -12993, -12993, -325, -325, 4567,
|
|
120
|
+
4567, -641, -641, 992, 992, 941, 941, 1021, 1021,
|
|
121
|
+
-6309, -6309, 9764, 9764, 9262, 9262, 10050, 10050, -268,
|
|
122
|
+
-268, -733, -733, 892, 892, -939, -939, -2638, -2638,
|
|
123
|
+
-7215, -7215, 8780, 8780, -9243, -9243, -632, -632, 816,
|
|
124
|
+
816, 1352, 1352, -650, -650, -6221, -6221, 8032, 8032,
|
|
125
|
+
13308, 13308, -6398, -6398, 642, 642, -952, -952, 1540,
|
|
126
|
+
1540, -1651, -1651, 6319, 6319, -9371, -9371, 15159, 15159,
|
|
127
|
+
-16251, -16251, -1461, -1461, 1482, 1482, 540, 540, 1626,
|
|
128
|
+
1626, -14381, -14381, 14588, 14588, 5315, 5315, 16005, 16005,
|
|
129
|
+
1274, 1274, 1052, 1052, 1025, 1025, -1197, -1197, 12540,
|
|
130
|
+
12540, 10355, 10355, 10089, 10089, -11782, -11782, 279, 279,
|
|
131
|
+
1173, 1173, -233, -233, 667, 667, 2746, 2746, 11546,
|
|
132
|
+
11546, -2293, -2293, 6565, 6565, 314, 314, -756, -756,
|
|
133
|
+
48, 48, -1409, -1409, 3091, 3091, -7441, -7441, 472,
|
|
134
|
+
472, -13869, -13869, 1573, 1573, 76, 76, -331, -331,
|
|
135
|
+
-289, -289, 15483, 15483, 748, 748, -3258, -3258, -2845,
|
|
136
|
+
-2845, -1100, -1100, -723, -723, 680, 680, 568, 568,
|
|
137
|
+
-10828, -10828, -7117, -7117, 6693, 6693, 5591, 5591, 1041,
|
|
138
|
+
1041, -1637, -1637, -583, -583, -17, -17, 10247, 10247,
|
|
139
|
+
-16113, -16113, -5739, -5739, -167, -167,
|
|
135
140
|
};
|
|
136
141
|
|
|
137
|
-
MLK_ALIGN const int16_t
|
|
138
|
-
|
|
139
|
-
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
142
|
+
MLK_ALIGN MLK_INTERNAL_DATA_DEFINITION const int16_t
|
|
143
|
+
mlk_aarch64_zetas_mulcache_native[128] = {
|
|
144
|
+
17, -17, -568, 568, 583, -583, -680, 680, 1637, -1637,
|
|
145
|
+
723, -723, -1041, 1041, 1100, -1100, 1409, -1409, -667, 667,
|
|
146
|
+
-48, 48, 233, -233, 756, -756, -1173, 1173, -314, 314,
|
|
147
|
+
-279, 279, -1626, 1626, 1651, -1651, -540, 540, -1540, 1540,
|
|
148
|
+
-1482, 1482, 952, -952, 1461, -1461, -642, 642, 939, -939,
|
|
149
|
+
-1021, 1021, -892, 892, -941, 941, 733, -733, -992, 992,
|
|
150
|
+
268, -268, 641, -641, 1584, -1584, -1031, 1031, -1292, 1292,
|
|
151
|
+
-109, 109, 375, -375, -780, 780, -1239, 1239, 1645, -1645,
|
|
152
|
+
1063, -1063, 319, -319, -556, 556, 757, -757, -1230, 1230,
|
|
153
|
+
561, -561, -863, 863, -735, 735, -525, 525, 1092, -1092,
|
|
154
|
+
403, -403, 1026, -1026, 1143, -1143, -1179, 1179, -554, 554,
|
|
155
|
+
886, -886, -1607, 1607, 1212, -1212, -1455, 1455, 1029, -1029,
|
|
156
|
+
-1219, 1219, -394, 394, 885, -885, -1175, 1175,
|
|
150
157
|
};
|
|
151
158
|
|
|
152
|
-
MLK_ALIGN const int16_t
|
|
153
|
-
|
|
154
|
-
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
159
|
+
MLK_ALIGN MLK_INTERNAL_DATA_DEFINITION const int16_t
|
|
160
|
+
mlk_aarch64_zetas_mulcache_twisted_native[128] = {
|
|
161
|
+
167, -167, -5591, 5591, 5739, -5739, -6693, 6693, 16113,
|
|
162
|
+
-16113, 7117, -7117, -10247, 10247, 10828, -10828, 13869, -13869,
|
|
163
|
+
-6565, 6565, -472, 472, 2293, -2293, 7441, -7441, -11546,
|
|
164
|
+
11546, -3091, 3091, -2746, 2746, -16005, 16005, 16251, -16251,
|
|
165
|
+
-5315, 5315, -15159, 15159, -14588, 14588, 9371, -9371, 14381,
|
|
166
|
+
-14381, -6319, 6319, 9243, -9243, -10050, 10050, -8780, 8780,
|
|
167
|
+
-9262, 9262, 7215, -7215, -9764, 9764, 2638, -2638, 6309,
|
|
168
|
+
-6309, 15592, -15592, -10148, 10148, -12717, 12717, -1073, 1073,
|
|
169
|
+
3691, -3691, -7678, 7678, -12196, 12196, 16192, -16192, 10463,
|
|
170
|
+
-10463, 3140, -3140, -5473, 5473, 7451, -7451, -12107, 12107,
|
|
171
|
+
5522, -5522, -8495, 8495, -7235, 7235, -5168, 5168, 10749,
|
|
172
|
+
-10749, 3967, -3967, 10099, -10099, 11251, -11251, -11605, 11605,
|
|
173
|
+
-5453, 5453, 8721, -8721, -15818, 15818, 11930, -11930, -14322,
|
|
174
|
+
14322, 10129, -10129, -11999, 11999, -3878, 3878, 8711, -8711,
|
|
175
|
+
-11566, 11566,
|
|
168
176
|
};
|
|
169
177
|
|
|
170
178
|
#else /* MLK_ARITH_BACKEND_AARCH64 && !MLK_CONFIG_MULTILEVEL_NO_SHARED */
|
|
@@ -21,19 +21,24 @@
|
|
|
21
21
|
MLK_NAMESPACE(aarch64_zetas_mulcache_twisted_native)
|
|
22
22
|
#define mlk_rej_uniform_table MLK_NAMESPACE(rej_uniform_table)
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
24
|
+
MLK_INTERNAL_DATA_DECLARATION const int16_t
|
|
25
|
+
mlk_aarch64_ntt_zetas_layer12345[80];
|
|
26
|
+
MLK_INTERNAL_DATA_DECLARATION const int16_t mlk_aarch64_ntt_zetas_layer67[384];
|
|
27
|
+
MLK_INTERNAL_DATA_DECLARATION const int16_t
|
|
28
|
+
mlk_aarch64_invntt_zetas_layer12345[80];
|
|
29
|
+
MLK_INTERNAL_DATA_DECLARATION const int16_t
|
|
30
|
+
mlk_aarch64_invntt_zetas_layer67[384];
|
|
31
|
+
MLK_INTERNAL_DATA_DECLARATION const int16_t
|
|
32
|
+
mlk_aarch64_zetas_mulcache_native[128];
|
|
33
|
+
MLK_INTERNAL_DATA_DECLARATION const int16_t
|
|
34
|
+
mlk_aarch64_zetas_mulcache_twisted_native[128];
|
|
35
|
+
MLK_INTERNAL_DATA_DECLARATION const uint8_t mlk_rej_uniform_table[4096];
|
|
31
36
|
|
|
32
|
-
#define
|
|
33
|
-
void
|
|
34
|
-
|
|
37
|
+
#define mlk_ntt_aarch64_asm MLK_NAMESPACE(ntt_aarch64_asm)
|
|
38
|
+
void mlk_ntt_aarch64_asm(int16_t p[256], const int16_t twiddles12345[80],
|
|
39
|
+
const int16_t twiddles56[384])
|
|
35
40
|
/* This must be kept in sync with the HOL-Light specification
|
|
36
|
-
* in proofs/hol_light/aarch64/proofs/
|
|
41
|
+
* in proofs/hol_light/aarch64/proofs/ntt_aarch64_asm.ml */
|
|
37
42
|
__contract__(
|
|
38
43
|
requires(memory_no_alias(p, sizeof(int16_t) * MLKEM_N))
|
|
39
44
|
requires(array_abs_bound(p, 0, MLKEM_N, 8192))
|
|
@@ -45,11 +50,11 @@ __contract__(
|
|
|
45
50
|
/* check-magic: on */
|
|
46
51
|
);
|
|
47
52
|
|
|
48
|
-
#define
|
|
49
|
-
void
|
|
50
|
-
|
|
53
|
+
#define mlk_intt_aarch64_asm MLK_NAMESPACE(intt_aarch64_asm)
|
|
54
|
+
void mlk_intt_aarch64_asm(int16_t p[256], const int16_t twiddles12345[80],
|
|
55
|
+
const int16_t twiddles56[384])
|
|
51
56
|
/* This must be kept in sync with the HOL-Light specification
|
|
52
|
-
* in proofs/hol_light/aarch64/proofs/
|
|
57
|
+
* in proofs/hol_light/aarch64/proofs/intt_aarch64_asm.ml */
|
|
53
58
|
__contract__(
|
|
54
59
|
requires(memory_no_alias(p, sizeof(int16_t) * MLKEM_N))
|
|
55
60
|
requires(twiddles12345 == mlk_aarch64_invntt_zetas_layer12345)
|
|
@@ -60,33 +65,34 @@ __contract__(
|
|
|
60
65
|
/* check-magic: on */
|
|
61
66
|
);
|
|
62
67
|
|
|
63
|
-
#define
|
|
64
|
-
void
|
|
68
|
+
#define mlk_poly_reduce_aarch64_asm MLK_NAMESPACE(poly_reduce_aarch64_asm)
|
|
69
|
+
void mlk_poly_reduce_aarch64_asm(int16_t p[256])
|
|
65
70
|
/* This must be kept in sync with the HOL-Light specification
|
|
66
|
-
* in proofs/hol_light/aarch64/proofs/
|
|
71
|
+
* in proofs/hol_light/aarch64/proofs/poly_reduce_aarch64_asm.ml */
|
|
67
72
|
__contract__(
|
|
68
73
|
requires(memory_no_alias(p, sizeof(int16_t) * MLKEM_N))
|
|
69
74
|
assigns(memory_slice(p, sizeof(int16_t) * MLKEM_N))
|
|
70
75
|
ensures(array_bound(p, 0, MLKEM_N, 0, MLKEM_Q))
|
|
71
76
|
);
|
|
72
77
|
|
|
73
|
-
#define
|
|
74
|
-
void
|
|
78
|
+
#define mlk_poly_tomont_aarch64_asm MLK_NAMESPACE(poly_tomont_aarch64_asm)
|
|
79
|
+
void mlk_poly_tomont_aarch64_asm(int16_t p[256])
|
|
75
80
|
/* This must be kept in sync with the HOL-Light specification
|
|
76
|
-
* in proofs/hol_light/aarch64/proofs/
|
|
81
|
+
* in proofs/hol_light/aarch64/proofs/poly_tomont_aarch64_asm.ml */
|
|
77
82
|
__contract__(
|
|
78
83
|
requires(memory_no_alias(p, sizeof(int16_t) * MLKEM_N))
|
|
79
84
|
assigns(memory_slice(p, sizeof(int16_t) * MLKEM_N))
|
|
80
85
|
ensures(array_abs_bound(p, 0, MLKEM_N, MLKEM_Q))
|
|
81
86
|
);
|
|
82
87
|
|
|
83
|
-
#define
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
+
#define mlk_poly_mulcache_compute_aarch64_asm \
|
|
89
|
+
MLK_NAMESPACE(poly_mulcache_compute_aarch64_asm)
|
|
90
|
+
void mlk_poly_mulcache_compute_aarch64_asm(int16_t cache[128],
|
|
91
|
+
const int16_t mlk_poly[256],
|
|
92
|
+
const int16_t zetas[128],
|
|
93
|
+
const int16_t zetas_twisted[128])
|
|
88
94
|
/* This must be kept in sync with the HOL-Light specification
|
|
89
|
-
* in proofs/hol_light/aarch64/proofs/
|
|
95
|
+
* in proofs/hol_light/aarch64/proofs/poly_mulcache_compute_aarch64_asm.ml */
|
|
90
96
|
__contract__(
|
|
91
97
|
requires(memory_no_alias(cache, sizeof(int16_t) * (MLKEM_N / 2)))
|
|
92
98
|
requires(memory_no_alias(mlk_poly, sizeof(int16_t) * MLKEM_N))
|
|
@@ -96,10 +102,10 @@ __contract__(
|
|
|
96
102
|
ensures(array_abs_bound(cache, 0, MLKEM_N/2, MLKEM_Q))
|
|
97
103
|
);
|
|
98
104
|
|
|
99
|
-
#define
|
|
100
|
-
void
|
|
105
|
+
#define mlk_poly_tobytes_aarch64_asm MLK_NAMESPACE(poly_tobytes_aarch64_asm)
|
|
106
|
+
void mlk_poly_tobytes_aarch64_asm(uint8_t r[384], const int16_t a[256])
|
|
101
107
|
/* This must be kept in sync with the HOL-Light specification
|
|
102
|
-
* in proofs/hol_light/aarch64/proofs/
|
|
108
|
+
* in proofs/hol_light/aarch64/proofs/poly_tobytes_aarch64_asm.ml */
|
|
103
109
|
__contract__(
|
|
104
110
|
requires(memory_no_alias(r, MLKEM_POLYBYTES))
|
|
105
111
|
requires(memory_no_alias(a, sizeof(int16_t) * MLKEM_N))
|
|
@@ -107,13 +113,13 @@ __contract__(
|
|
|
107
113
|
assigns(memory_slice(r, MLKEM_POLYBYTES))
|
|
108
114
|
);
|
|
109
115
|
|
|
110
|
-
#define
|
|
111
|
-
MLK_NAMESPACE(
|
|
112
|
-
void
|
|
116
|
+
#define mlk_polyvec_basemul_acc_montgomery_cached_k2_aarch64_asm \
|
|
117
|
+
MLK_NAMESPACE(polyvec_basemul_acc_montgomery_cached_k2_aarch64_asm)
|
|
118
|
+
void mlk_polyvec_basemul_acc_montgomery_cached_k2_aarch64_asm(
|
|
113
119
|
int16_t r[256], const int16_t a[512], const int16_t b[512],
|
|
114
120
|
const int16_t b_cache[256])
|
|
115
121
|
/* This must be kept in sync with the HOL-Light specification in
|
|
116
|
-
* proofs/hol_light/aarch64/proofs/
|
|
122
|
+
* proofs/hol_light/aarch64/proofs/polyvec_basemul_acc_montgomery_cached_k2_aarch64_asm.ml.
|
|
117
123
|
*/
|
|
118
124
|
__contract__(
|
|
119
125
|
requires(memory_no_alias(r, sizeof(int16_t) * MLKEM_N))
|
|
@@ -124,13 +130,13 @@ __contract__(
|
|
|
124
130
|
assigns(memory_slice(r, sizeof(int16_t) * MLKEM_N))
|
|
125
131
|
);
|
|
126
132
|
|
|
127
|
-
#define
|
|
128
|
-
MLK_NAMESPACE(
|
|
129
|
-
void
|
|
133
|
+
#define mlk_polyvec_basemul_acc_montgomery_cached_k3_aarch64_asm \
|
|
134
|
+
MLK_NAMESPACE(polyvec_basemul_acc_montgomery_cached_k3_aarch64_asm)
|
|
135
|
+
void mlk_polyvec_basemul_acc_montgomery_cached_k3_aarch64_asm(
|
|
130
136
|
int16_t r[256], const int16_t a[768], const int16_t b[768],
|
|
131
137
|
const int16_t b_cache[384])
|
|
132
138
|
/* This must be kept in sync with the HOL-Light specification in
|
|
133
|
-
* proofs/hol_light/aarch64/proofs/
|
|
139
|
+
* proofs/hol_light/aarch64/proofs/polyvec_basemul_acc_montgomery_cached_k3_aarch64_asm.ml.
|
|
134
140
|
*/
|
|
135
141
|
__contract__(
|
|
136
142
|
requires(memory_no_alias(r, sizeof(int16_t) * MLKEM_N))
|
|
@@ -141,13 +147,13 @@ __contract__(
|
|
|
141
147
|
assigns(memory_slice(r, sizeof(int16_t) * MLKEM_N))
|
|
142
148
|
);
|
|
143
149
|
|
|
144
|
-
#define
|
|
145
|
-
MLK_NAMESPACE(
|
|
146
|
-
void
|
|
150
|
+
#define mlk_polyvec_basemul_acc_montgomery_cached_k4_aarch64_asm \
|
|
151
|
+
MLK_NAMESPACE(polyvec_basemul_acc_montgomery_cached_k4_aarch64_asm)
|
|
152
|
+
void mlk_polyvec_basemul_acc_montgomery_cached_k4_aarch64_asm(
|
|
147
153
|
int16_t r[256], const int16_t a[1024], const int16_t b[1024],
|
|
148
154
|
const int16_t b_cache[512])
|
|
149
155
|
/* This must be kept in sync with the HOL-Light specification in
|
|
150
|
-
* proofs/hol_light/aarch64/proofs/
|
|
156
|
+
* proofs/hol_light/aarch64/proofs/polyvec_basemul_acc_montgomery_cached_k4_aarch64_asm.ml.
|
|
151
157
|
*/
|
|
152
158
|
__contract__(
|
|
153
159
|
requires(memory_no_alias(r, sizeof(int16_t) * MLKEM_N))
|
|
@@ -158,12 +164,12 @@ __contract__(
|
|
|
158
164
|
assigns(memory_slice(r, sizeof(int16_t) * MLKEM_N))
|
|
159
165
|
);
|
|
160
166
|
|
|
161
|
-
#define
|
|
167
|
+
#define mlk_rej_uniform_aarch64_asm MLK_NAMESPACE(rej_uniform_aarch64_asm)
|
|
162
168
|
MLK_MUST_CHECK_RETURN_VALUE
|
|
163
|
-
uint64_t
|
|
164
|
-
|
|
169
|
+
uint64_t mlk_rej_uniform_aarch64_asm(int16_t r[256], const uint8_t *buf,
|
|
170
|
+
unsigned buflen, const uint8_t table[4096])
|
|
165
171
|
/* This must be kept in sync with the HOL-Light specification
|
|
166
|
-
* in proofs/hol_light/aarch64/proofs/
|
|
172
|
+
* in proofs/hol_light/aarch64/proofs/rej_uniform_aarch64_asm.ml. */
|
|
167
173
|
__contract__(
|
|
168
174
|
requires(buflen % 24 == 0)
|
|
169
175
|
requires(memory_no_alias(buf, buflen))
|
data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/{intt.S → intt_aarch64_asm.S}
RENAMED
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
22
|
/*yaml
|
|
23
|
-
Name:
|
|
23
|
+
Name: intt_aarch64_asm
|
|
24
24
|
Description: AArch64 ML-KEM inverse NTT following @[NeonNTT] and @[SLOTHY_Paper]
|
|
25
|
-
Signature: void
|
|
25
|
+
Signature: void mlk_intt_aarch64_asm(int16_t p[256], const int16_t twiddles12345[80], const int16_t twiddles56[384])
|
|
26
26
|
ABI:
|
|
27
27
|
x0:
|
|
28
28
|
type: buffer
|
|
@@ -52,17 +52,13 @@
|
|
|
52
52
|
|
|
53
53
|
/*
|
|
54
54
|
* WARNING: This file is auto-derived from the mlkem-native source file
|
|
55
|
-
* dev/aarch64_opt/src/
|
|
55
|
+
* dev/aarch64_opt/src/intt_aarch64_asm.S using scripts/simpasm. Do not modify it directly.
|
|
56
56
|
*/
|
|
57
57
|
|
|
58
|
-
#if defined(__ELF__)
|
|
59
|
-
.section .note.GNU-stack,"",@progbits
|
|
60
|
-
#endif
|
|
61
|
-
|
|
62
58
|
.text
|
|
63
59
|
.balign 4
|
|
64
|
-
.global MLK_ASM_NAMESPACE(
|
|
65
|
-
MLK_ASM_FN_SYMBOL(
|
|
60
|
+
.global MLK_ASM_NAMESPACE(intt_aarch64_asm)
|
|
61
|
+
MLK_ASM_FN_SYMBOL(intt_aarch64_asm)
|
|
66
62
|
|
|
67
63
|
.cfi_startproc
|
|
68
64
|
sub sp, sp, #0x40
|
|
@@ -623,6 +619,10 @@ Lintt_layer123_start:
|
|
|
623
619
|
ret
|
|
624
620
|
.cfi_endproc
|
|
625
621
|
|
|
626
|
-
MLK_ASM_FN_SIZE(
|
|
622
|
+
MLK_ASM_FN_SIZE(intt_aarch64_asm)
|
|
627
623
|
|
|
628
624
|
#endif /* MLK_ARITH_BACKEND_AARCH64 && !MLK_CONFIG_MULTILEVEL_NO_SHARED */
|
|
625
|
+
|
|
626
|
+
#if defined(__ELF__)
|
|
627
|
+
.section .note.GNU-stack,"",%progbits
|
|
628
|
+
#endif
|
data/ext/pqcrypto/vendor/mlkem-native/mlkem/src/native/aarch64/src/{ntt.S → ntt_aarch64_asm.S}
RENAMED
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
22
|
/*yaml
|
|
23
|
-
Name:
|
|
23
|
+
Name: ntt_aarch64_asm
|
|
24
24
|
Description: AArch64 ML-KEM forward NTT following @[NeonNTT] and @[SLOTHY_Paper]
|
|
25
|
-
Signature: void
|
|
25
|
+
Signature: void mlk_ntt_aarch64_asm(int16_t p[256], const int16_t twiddles12345[80], const int16_t twiddles56[384])
|
|
26
26
|
ABI:
|
|
27
27
|
x0:
|
|
28
28
|
type: buffer
|
|
@@ -52,17 +52,13 @@
|
|
|
52
52
|
|
|
53
53
|
/*
|
|
54
54
|
* WARNING: This file is auto-derived from the mlkem-native source file
|
|
55
|
-
* dev/aarch64_opt/src/
|
|
55
|
+
* dev/aarch64_opt/src/ntt_aarch64_asm.S using scripts/simpasm. Do not modify it directly.
|
|
56
56
|
*/
|
|
57
57
|
|
|
58
|
-
#if defined(__ELF__)
|
|
59
|
-
.section .note.GNU-stack,"",@progbits
|
|
60
|
-
#endif
|
|
61
|
-
|
|
62
58
|
.text
|
|
63
59
|
.balign 4
|
|
64
|
-
.global MLK_ASM_NAMESPACE(
|
|
65
|
-
MLK_ASM_FN_SYMBOL(
|
|
60
|
+
.global MLK_ASM_NAMESPACE(ntt_aarch64_asm)
|
|
61
|
+
MLK_ASM_FN_SYMBOL(ntt_aarch64_asm)
|
|
66
62
|
|
|
67
63
|
.cfi_startproc
|
|
68
64
|
sub sp, sp, #0x40
|
|
@@ -557,6 +553,10 @@ Lntt_layer4567_start:
|
|
|
557
553
|
ret
|
|
558
554
|
.cfi_endproc
|
|
559
555
|
|
|
560
|
-
MLK_ASM_FN_SIZE(
|
|
556
|
+
MLK_ASM_FN_SIZE(ntt_aarch64_asm)
|
|
561
557
|
|
|
562
558
|
#endif /* MLK_ARITH_BACKEND_AARCH64 && !MLK_CONFIG_MULTILEVEL_NO_SHARED */
|
|
559
|
+
|
|
560
|
+
#if defined(__ELF__)
|
|
561
|
+
.section .note.GNU-stack,"",%progbits
|
|
562
|
+
#endif
|