pq_crypto 0.6.2 → 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 +5 -0
- data/ext/pqcrypto/pqcrypto_version.h +1 -1
- data/ext/pqcrypto/vendor/.vendored +4 -4
- 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 +3 -3
- metadata +47 -38
|
@@ -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
|