Skip to content

Commit e8c793f

Browse files
committed
s2n-bignum: add wrap
1 parent f1edcf6 commit e8c793f

File tree

8 files changed

+745
-1
lines changed

8 files changed

+745
-1
lines changed

ci_config.json

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1292,6 +1292,19 @@
12921292
"libjack-dev"
12931293
]
12941294
},
1295+
"s2n-bignum": {
1296+
"build_on": {
1297+
"windows": false,
1298+
"msys2": false
1299+
},
1300+
"build_options": [
1301+
"s2n-bignum:tests=enabled"
1302+
],
1303+
"_comment": "Math heavy tests can take a long time to complete.",
1304+
"test_options": [
1305+
"--timeout-multiplier=2"
1306+
]
1307+
},
12951308
"s2n-tls": {
12961309
"_comment": "- No upstream windows support",
12971310
"build_on": {

releases.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3806,6 +3806,14 @@
38063806
"4.1.0-1"
38073807
]
38083808
},
3809+
"s2n-bignum": {
3810+
"dependency_names": [
3811+
"s2n-bignum"
3812+
],
3813+
"versions": [
3814+
"1.0.0-1"
3815+
]
3816+
},
38093817
"s2n-tls": {
38103818
"dependency_names": [
38113819
"s2n-tls"
Lines changed: 318 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,318 @@
1+
src = files(
2+
'curve25519/bignum_add_p25519.S',
3+
'curve25519/bignum_cmul_p25519.S',
4+
'curve25519/bignum_double_p25519.S',
5+
'curve25519/bignum_inv_p25519.S',
6+
'curve25519/bignum_invsqrt_p25519.S',
7+
'curve25519/bignum_invsqrt_p25519_alt.S',
8+
'curve25519/bignum_madd_n25519.S',
9+
'curve25519/bignum_madd_n25519_alt.S',
10+
'curve25519/bignum_mod_m25519_4.S',
11+
'curve25519/bignum_mod_n25519.S',
12+
'curve25519/bignum_mod_n25519_4.S',
13+
'curve25519/bignum_mod_p25519_4.S',
14+
'curve25519/bignum_mul_p25519.S',
15+
'curve25519/bignum_mul_p25519_alt.S',
16+
'curve25519/bignum_neg_p25519.S',
17+
'curve25519/bignum_optneg_p25519.S',
18+
'curve25519/bignum_sqr_p25519.S',
19+
'curve25519/bignum_sqr_p25519_alt.S',
20+
'curve25519/bignum_sqrt_p25519.S',
21+
'curve25519/bignum_sqrt_p25519_alt.S',
22+
'curve25519/bignum_sub_p25519.S',
23+
'curve25519/curve25519_ladderstep.S',
24+
'curve25519/curve25519_ladderstep_alt.S',
25+
'curve25519/curve25519_pxscalarmul.S',
26+
'curve25519/curve25519_pxscalarmul_alt.S',
27+
'curve25519/curve25519_x25519.S',
28+
'curve25519/curve25519_x25519_alt.S',
29+
'curve25519/curve25519_x25519_byte.S',
30+
'curve25519/curve25519_x25519_byte_alt.S',
31+
'curve25519/curve25519_x25519base.S',
32+
'curve25519/curve25519_x25519base_alt.S',
33+
'curve25519/curve25519_x25519base_byte.S',
34+
'curve25519/curve25519_x25519base_byte_alt.S',
35+
'curve25519/edwards25519_decode.S',
36+
'curve25519/edwards25519_decode_alt.S',
37+
'curve25519/edwards25519_encode.S',
38+
'curve25519/edwards25519_epadd.S',
39+
'curve25519/edwards25519_epadd_alt.S',
40+
'curve25519/edwards25519_epdouble.S',
41+
'curve25519/edwards25519_epdouble_alt.S',
42+
'curve25519/edwards25519_pdouble.S',
43+
'curve25519/edwards25519_pdouble_alt.S',
44+
'curve25519/edwards25519_pepadd.S',
45+
'curve25519/edwards25519_pepadd_alt.S',
46+
'curve25519/edwards25519_scalarmulbase.S',
47+
'curve25519/edwards25519_scalarmulbase_alt.S',
48+
'curve25519/edwards25519_scalarmuldouble.S',
49+
'curve25519/edwards25519_scalarmuldouble_alt.S',
50+
'fastmul/bignum_emontredc_8n.S',
51+
'fastmul/bignum_emontredc_8n_cdiff.S',
52+
'fastmul/bignum_kmul_16_32.S',
53+
'fastmul/bignum_kmul_32_64.S',
54+
'fastmul/bignum_ksqr_16_32.S',
55+
'fastmul/bignum_ksqr_32_64.S',
56+
'fastmul/bignum_mul_4_8.S',
57+
'fastmul/bignum_mul_4_8_alt.S',
58+
'fastmul/bignum_mul_6_12.S',
59+
'fastmul/bignum_mul_6_12_alt.S',
60+
'fastmul/bignum_mul_8_16.S',
61+
'fastmul/bignum_mul_8_16_alt.S',
62+
'fastmul/bignum_sqr_4_8.S',
63+
'fastmul/bignum_sqr_4_8_alt.S',
64+
'fastmul/bignum_sqr_6_12.S',
65+
'fastmul/bignum_sqr_6_12_alt.S',
66+
'fastmul/bignum_sqr_8_16.S',
67+
'fastmul/bignum_sqr_8_16_alt.S',
68+
'generic/bignum_add.S',
69+
'generic/bignum_amontifier.S',
70+
'generic/bignum_amontmul.S',
71+
'generic/bignum_amontredc.S',
72+
'generic/bignum_amontsqr.S',
73+
'generic/bignum_bitfield.S',
74+
'generic/bignum_bitsize.S',
75+
'generic/bignum_cdiv.S',
76+
'generic/bignum_cdiv_exact.S',
77+
'generic/bignum_cld.S',
78+
'generic/bignum_clz.S',
79+
'generic/bignum_cmadd.S',
80+
'generic/bignum_cmnegadd.S',
81+
'generic/bignum_cmod.S',
82+
'generic/bignum_cmul.S',
83+
'generic/bignum_coprime.S',
84+
'generic/bignum_copy.S',
85+
'generic/bignum_copy_row_from_table.S',
86+
'generic/bignum_copy_row_from_table_16.S',
87+
'generic/bignum_copy_row_from_table_32.S',
88+
'generic/bignum_copy_row_from_table_8n.S',
89+
'generic/bignum_ctd.S',
90+
'generic/bignum_ctz.S',
91+
'generic/bignum_demont.S',
92+
'generic/bignum_digit.S',
93+
'generic/bignum_digitsize.S',
94+
'generic/bignum_divmod10.S',
95+
'generic/bignum_emontredc.S',
96+
'generic/bignum_eq.S',
97+
'generic/bignum_even.S',
98+
'generic/bignum_ge.S',
99+
'generic/bignum_gt.S',
100+
'generic/bignum_iszero.S',
101+
'generic/bignum_le.S',
102+
'generic/bignum_lt.S',
103+
'generic/bignum_madd.S',
104+
'generic/bignum_modadd.S',
105+
'generic/bignum_moddouble.S',
106+
'generic/bignum_modexp.S',
107+
'generic/bignum_modifier.S',
108+
'generic/bignum_modinv.S',
109+
'generic/bignum_modoptneg.S',
110+
'generic/bignum_modsub.S',
111+
'generic/bignum_montifier.S',
112+
'generic/bignum_montmul.S',
113+
'generic/bignum_montredc.S',
114+
'generic/bignum_montsqr.S',
115+
'generic/bignum_mul.S',
116+
'generic/bignum_muladd10.S',
117+
'generic/bignum_mux.S',
118+
'generic/bignum_mux16.S',
119+
'generic/bignum_negmodinv.S',
120+
'generic/bignum_nonzero.S',
121+
'generic/bignum_normalize.S',
122+
'generic/bignum_odd.S',
123+
'generic/bignum_of_word.S',
124+
'generic/bignum_optadd.S',
125+
'generic/bignum_optneg.S',
126+
'generic/bignum_optsub.S',
127+
'generic/bignum_optsubadd.S',
128+
'generic/bignum_pow2.S',
129+
'generic/bignum_shl_small.S',
130+
'generic/bignum_shr_small.S',
131+
'generic/bignum_sqr.S',
132+
'generic/bignum_sub.S',
133+
'generic/word_bytereverse.S',
134+
'generic/word_clz.S',
135+
'generic/word_ctz.S',
136+
'generic/word_divstep59.S',
137+
'generic/word_max.S',
138+
'generic/word_min.S',
139+
'generic/word_negmodinv.S',
140+
'generic/word_popcount.S',
141+
'generic/word_recip.S',
142+
'mlkem/mlkem_basemul_k2.S',
143+
'mlkem/mlkem_basemul_k3.S',
144+
'mlkem/mlkem_basemul_k4.S',
145+
'mlkem/mlkem_intt.S',
146+
'mlkem/mlkem_mulcache_compute.S',
147+
'mlkem/mlkem_ntt.S',
148+
'mlkem/mlkem_reduce.S',
149+
'mlkem/mlkem_rej_uniform_VARIABLE_TIME.S',
150+
'mlkem/mlkem_tobytes.S',
151+
'mlkem/mlkem_tomont.S',
152+
'p256/bignum_add_p256.S',
153+
'p256/bignum_bigendian_4.S',
154+
'p256/bignum_cmul_p256.S',
155+
'p256/bignum_deamont_p256.S',
156+
'p256/bignum_demont_p256.S',
157+
'p256/bignum_double_p256.S',
158+
'p256/bignum_half_p256.S',
159+
'p256/bignum_inv_p256.S',
160+
'p256/bignum_littleendian_4.S',
161+
'p256/bignum_mod_n256.S',
162+
'p256/bignum_mod_n256_4.S',
163+
'p256/bignum_mod_p256.S',
164+
'p256/bignum_mod_p256_4.S',
165+
'p256/bignum_montinv_p256.S',
166+
'p256/bignum_montmul_p256.S',
167+
'p256/bignum_montmul_p256_alt.S',
168+
'p256/bignum_montsqr_p256.S',
169+
'p256/bignum_montsqr_p256_alt.S',
170+
'p256/bignum_mux_4.S',
171+
'p256/bignum_neg_p256.S',
172+
'p256/bignum_nonzero_4.S',
173+
'p256/bignum_optneg_p256.S',
174+
'p256/bignum_sub_p256.S',
175+
'p256/bignum_tomont_p256.S',
176+
'p256/bignum_triple_p256.S',
177+
'p256/p256_montjadd.S',
178+
'p256/p256_montjadd_alt.S',
179+
'p256/p256_montjdouble.S',
180+
'p256/p256_montjdouble_alt.S',
181+
'p256/p256_montjmixadd.S',
182+
'p256/p256_montjmixadd_alt.S',
183+
'p256/p256_montjscalarmul.S',
184+
'p256/p256_montjscalarmul_alt.S',
185+
'p256/p256_scalarmul.S',
186+
'p256/p256_scalarmul_alt.S',
187+
'p256/p256_scalarmulbase.S',
188+
'p256/p256_scalarmulbase_alt.S',
189+
'p384/bignum_add_p384.S',
190+
'p384/bignum_bigendian_6.S',
191+
'p384/bignum_cmul_p384.S',
192+
'p384/bignum_deamont_p384.S',
193+
'p384/bignum_demont_p384.S',
194+
'p384/bignum_double_p384.S',
195+
'p384/bignum_half_p384.S',
196+
'p384/bignum_inv_p384.S',
197+
'p384/bignum_littleendian_6.S',
198+
'p384/bignum_mod_n384.S',
199+
'p384/bignum_mod_n384_6.S',
200+
'p384/bignum_mod_p384.S',
201+
'p384/bignum_mod_p384_6.S',
202+
'p384/bignum_montinv_p384.S',
203+
'p384/bignum_montmul_p384.S',
204+
'p384/bignum_montmul_p384_alt.S',
205+
'p384/bignum_montsqr_p384.S',
206+
'p384/bignum_montsqr_p384_alt.S',
207+
'p384/bignum_mux_6.S',
208+
'p384/bignum_neg_p384.S',
209+
'p384/bignum_nonzero_6.S',
210+
'p384/bignum_optneg_p384.S',
211+
'p384/bignum_sub_p384.S',
212+
'p384/bignum_tomont_p384.S',
213+
'p384/bignum_triple_p384.S',
214+
'p384/p384_montjadd.S',
215+
'p384/p384_montjadd_alt.S',
216+
'p384/p384_montjdouble.S',
217+
'p384/p384_montjdouble_alt.S',
218+
'p384/p384_montjmixadd.S',
219+
'p384/p384_montjmixadd_alt.S',
220+
'p384/p384_montjscalarmul.S',
221+
'p384/p384_montjscalarmul_alt.S',
222+
'p521/bignum_add_p521.S',
223+
'p521/bignum_cmul_p521.S',
224+
'p521/bignum_deamont_p521.S',
225+
'p521/bignum_demont_p521.S',
226+
'p521/bignum_double_p521.S',
227+
'p521/bignum_fromlebytes_p521.S',
228+
'p521/bignum_half_p521.S',
229+
'p521/bignum_inv_p521.S',
230+
'p521/bignum_mod_n521_9.S',
231+
'p521/bignum_mod_p521_9.S',
232+
'p521/bignum_montmul_p521.S',
233+
'p521/bignum_montmul_p521_alt.S',
234+
'p521/bignum_montsqr_p521.S',
235+
'p521/bignum_montsqr_p521_alt.S',
236+
'p521/bignum_mul_p521.S',
237+
'p521/bignum_mul_p521_alt.S',
238+
'p521/bignum_neg_p521.S',
239+
'p521/bignum_optneg_p521.S',
240+
'p521/bignum_sqr_p521.S',
241+
'p521/bignum_sqr_p521_alt.S',
242+
'p521/bignum_sub_p521.S',
243+
'p521/bignum_tolebytes_p521.S',
244+
'p521/bignum_tomont_p521.S',
245+
'p521/bignum_triple_p521.S',
246+
'p521/p521_jadd.S',
247+
'p521/p521_jadd_alt.S',
248+
'p521/p521_jdouble.S',
249+
'p521/p521_jdouble_alt.S',
250+
'p521/p521_jmixadd.S',
251+
'p521/p521_jmixadd_alt.S',
252+
'p521/p521_jscalarmul.S',
253+
'p521/p521_jscalarmul_alt.S',
254+
'secp256k1/bignum_add_p256k1.S',
255+
'secp256k1/bignum_cmul_p256k1.S',
256+
'secp256k1/bignum_deamont_p256k1.S',
257+
'secp256k1/bignum_demont_p256k1.S',
258+
'secp256k1/bignum_double_p256k1.S',
259+
'secp256k1/bignum_half_p256k1.S',
260+
'secp256k1/bignum_mod_n256k1_4.S',
261+
'secp256k1/bignum_mod_p256k1_4.S',
262+
'secp256k1/bignum_montmul_p256k1.S',
263+
'secp256k1/bignum_montmul_p256k1_alt.S',
264+
'secp256k1/bignum_montsqr_p256k1.S',
265+
'secp256k1/bignum_montsqr_p256k1_alt.S',
266+
'secp256k1/bignum_mul_p256k1.S',
267+
'secp256k1/bignum_mul_p256k1_alt.S',
268+
'secp256k1/bignum_neg_p256k1.S',
269+
'secp256k1/bignum_optneg_p256k1.S',
270+
'secp256k1/bignum_sqr_p256k1.S',
271+
'secp256k1/bignum_sqr_p256k1_alt.S',
272+
'secp256k1/bignum_sub_p256k1.S',
273+
'secp256k1/bignum_tomont_p256k1.S',
274+
'secp256k1/bignum_triple_p256k1.S',
275+
'secp256k1/secp256k1_jadd.S',
276+
'secp256k1/secp256k1_jadd_alt.S',
277+
'secp256k1/secp256k1_jdouble.S',
278+
'secp256k1/secp256k1_jdouble_alt.S',
279+
'secp256k1/secp256k1_jmixadd.S',
280+
'secp256k1/secp256k1_jmixadd_alt.S',
281+
'sha3/sha3_keccak2_f1600.S',
282+
'sha3/sha3_keccak2_f1600_alt.S',
283+
'sha3/sha3_keccak4_f1600.S',
284+
'sha3/sha3_keccak4_f1600_alt.S',
285+
'sha3/sha3_keccak4_f1600_alt2.S',
286+
'sha3/sha3_keccak_f1600.S',
287+
'sha3/sha3_keccak_f1600_alt.S',
288+
'sha3/sha3_keccak_f1600_alt2.S',
289+
'sm2/bignum_add_sm2.S',
290+
'sm2/bignum_cmul_sm2.S',
291+
'sm2/bignum_deamont_sm2.S',
292+
'sm2/bignum_demont_sm2.S',
293+
'sm2/bignum_double_sm2.S',
294+
'sm2/bignum_half_sm2.S',
295+
'sm2/bignum_inv_sm2.S',
296+
'sm2/bignum_mod_nsm2.S',
297+
'sm2/bignum_mod_nsm2_4.S',
298+
'sm2/bignum_mod_sm2.S',
299+
'sm2/bignum_mod_sm2_4.S',
300+
'sm2/bignum_montinv_sm2.S',
301+
'sm2/bignum_montmul_sm2.S',
302+
'sm2/bignum_montmul_sm2_alt.S',
303+
'sm2/bignum_montsqr_sm2.S',
304+
'sm2/bignum_montsqr_sm2_alt.S',
305+
'sm2/bignum_neg_sm2.S',
306+
'sm2/bignum_optneg_sm2.S',
307+
'sm2/bignum_sub_sm2.S',
308+
'sm2/bignum_tomont_sm2.S',
309+
'sm2/bignum_triple_sm2.S',
310+
'sm2/sm2_montjadd.S',
311+
'sm2/sm2_montjadd_alt.S',
312+
'sm2/sm2_montjdouble.S',
313+
'sm2/sm2_montjdouble_alt.S',
314+
'sm2/sm2_montjmixadd.S',
315+
'sm2/sm2_montjmixadd_alt.S',
316+
'sm2/sm2_montjscalarmul.S',
317+
'sm2/sm2_montjscalarmul_alt.S',
318+
)

0 commit comments

Comments
 (0)