@factoidal/core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/CHANGELOG.md +121 -0
  2. package/LICENSE +201 -0
  3. package/README.md +514 -0
  4. package/browser-wasm.js +872 -0
  5. package/browser.d.ts +514 -0
  6. package/browser.js +2276 -0
  7. package/factoidal-npm-entry.js +32609 -0
  8. package/factoidal-npm-entry.wasm.assets/code-7ac046580f1bbdda8dc6.wasm +0 -0
  9. package/factoidal-npm-entry.wasm.js +455 -0
  10. package/factoidal.js +27560 -0
  11. package/factoidal.wasm.assets/code-bbe6099bfb5b10c4c3ab.wasm +0 -0
  12. package/factoidal.wasm.js +457 -0
  13. package/fn.d.ts +519 -0
  14. package/fn.js +916 -0
  15. package/hacl-init.js +92 -0
  16. package/hacl-wasm/FStar.wasm +0 -0
  17. package/hacl-wasm/Hacl_Bignum.wasm +0 -0
  18. package/hacl-wasm/Hacl_Bignum25519_51.wasm +0 -0
  19. package/hacl-wasm/Hacl_Bignum_Base.wasm +0 -0
  20. package/hacl-wasm/Hacl_Curve25519_51.wasm +0 -0
  21. package/hacl-wasm/Hacl_Ed25519.wasm +0 -0
  22. package/hacl-wasm/Hacl_Ed25519_PrecompTable.wasm +0 -0
  23. package/hacl-wasm/Hacl_Hash_Base.wasm +0 -0
  24. package/hacl-wasm/Hacl_Hash_SHA2.wasm +0 -0
  25. package/hacl-wasm/Hacl_IntTypes_Intrinsics.wasm +0 -0
  26. package/hacl-wasm/LowStar_Endianness.wasm +0 -0
  27. package/hacl-wasm/WasmSupport.wasm +0 -0
  28. package/hacl-wasm/api.js +775 -0
  29. package/hacl-wasm/api.json +3787 -0
  30. package/hacl-wasm/layouts.json +1 -0
  31. package/hacl-wasm/loader.js +568 -0
  32. package/hacl-wasm/shell.js +12 -0
  33. package/index.d.ts +1068 -0
  34. package/index.js +237 -0
  35. package/index.mjs +85 -0
  36. package/lib/api.js +2140 -0
  37. package/lib/engine-js.js +165 -0
  38. package/lib/engine-wasm.js +300 -0
  39. package/package.json +101 -0
  40. package/rdfjs.js +540 -0
  41. package/version.json +101 -0
  42. package/wasm.d.ts +130 -0
  43. package/wasm.js +158 -0
@@ -0,0 +1,3787 @@
1
+ {
2
+ "Curve25519_51": {
3
+ "ecdh": {
4
+ "module": "Hacl_Curve25519_51",
5
+ "name": "ecdh",
6
+ "args": [{
7
+ "type": "buffer",
8
+ "size": 32,
9
+ "kind": "output",
10
+ "name": "result",
11
+ "tests": [
12
+ "c3da55379de9c6908e94ea4df28d084f32eccf03491c71f754b4075577a28552",
13
+ "95cbde9476e8907d7aade45cb4b873f88b595a68799fa152e6f8f7647aac7957"
14
+ ]
15
+ },
16
+ {
17
+ "type": "buffer",
18
+ "size": 32,
19
+ "name": "scalar",
20
+ "kind": "input",
21
+ "interface_index": 0,
22
+ "tests": [
23
+ "a546e36bf0527c9d3b16154b82465edd62144c0ac1fc5a18506a2244ba449ac4",
24
+ "4b66e9d4d1b4673c5ad22691957d6af5c11b6421e0ea01d42ca4169e7918ba0d"
25
+ ]
26
+ },
27
+ {
28
+ "type": "buffer",
29
+ "size": 32,
30
+ "name": "input",
31
+ "kind": "input",
32
+ "interface_index": 1,
33
+ "tests": [
34
+ "e6db6867583030db3594c1a424b15f7c726624ec26b3353b10a903a6d0ab1c4c",
35
+ "e5210f12786811d3f4b7959d0538ae2c31dbe7106fc03c3efc4cd549c715a493"
36
+ ]
37
+ }
38
+ ],
39
+ "return": {
40
+ "type": "bool",
41
+ "tests": [
42
+ "true",
43
+ "true"
44
+ ]
45
+ }
46
+ },
47
+ "secret_to_public": {
48
+ "module": "Hacl_Curve25519_51",
49
+ "name": "secret_to_public",
50
+ "args": [{
51
+ "type": "buffer",
52
+ "size": 32,
53
+ "kind": "output",
54
+ "name": "result",
55
+ "tests": [
56
+ "5219010a3dd8979fd84a5bb97f536d78e7775fe0367b1120777112d00dc5455c"
57
+ ]
58
+ },
59
+ {
60
+ "type": "buffer",
61
+ "size": 32,
62
+ "name": "scalar",
63
+ "kind": "input",
64
+ "interface_index": 0,
65
+ "tests": [
66
+ "e5210f12786811d3f4b7959d0538ae2c31dbe7106fc03c3efc4cd549c715a493"
67
+ ]
68
+ }
69
+ ],
70
+ "return": {
71
+ "type": "void"
72
+ }
73
+ },
74
+ "scalarmult": {
75
+ "module": "Hacl_Curve25519_51",
76
+ "name": "scalarmult",
77
+ "args": [{
78
+ "type": "buffer",
79
+ "size": 32,
80
+ "kind": "output",
81
+ "name": "result",
82
+ "tests": [
83
+ "5219010a3dd8979fd84a5bb97f536d78e7775fe0367b1120777112d00dc5455c"
84
+ ]
85
+ },
86
+ {
87
+ "type": "buffer",
88
+ "size": 32,
89
+ "name": "scalar",
90
+ "kind": "input",
91
+ "interface_index": 0,
92
+ "tests": [
93
+ "e5210f12786811d3f4b7959d0538ae2c31dbe7106fc03c3efc4cd549c715a493"
94
+ ]
95
+ },
96
+ {
97
+ "type": "buffer",
98
+ "size": 32,
99
+ "name": "input",
100
+ "kind": "input",
101
+ "interface_index": 1,
102
+ "tests": [
103
+ "0900000000000000000000000000000000000000000000000000000000000000"
104
+ ]
105
+ }
106
+ ],
107
+ "return": {
108
+ "type": "void"
109
+ }
110
+ }
111
+ },
112
+ "Chacha20Poly1305": {
113
+ "aead_encrypt": {
114
+ "module": "Hacl_Chacha20Poly1305_32",
115
+ "name": "aead_encrypt",
116
+ "args": [{
117
+ "name": "key",
118
+ "kind": "input",
119
+ "type": "buffer",
120
+ "size": 32,
121
+ "interface_index": 0,
122
+ "tests": [
123
+ "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f"
124
+ ]
125
+ },
126
+ {
127
+ "name": "nonce",
128
+ "kind": "input",
129
+ "type": "buffer",
130
+ "size": 12,
131
+ "interface_index": 1,
132
+ "tests": [
133
+ "070000004041424344454647"
134
+ ]
135
+ },
136
+ {
137
+ "name": "alen",
138
+ "kind": "input",
139
+ "type": "uint32"
140
+ },
141
+ {
142
+ "name": "aad",
143
+ "kind": "input",
144
+ "type": "buffer",
145
+ "size": "alen",
146
+ "interface_index": 2,
147
+ "tests": [
148
+ "50515253c0c1c2c3c4c5c6c7"
149
+ ]
150
+ },
151
+ {
152
+ "name": "len",
153
+ "kind": "input",
154
+ "type": "uint32"
155
+ },
156
+ {
157
+ "name": "plaintext",
158
+ "kind": "input",
159
+ "type": "buffer",
160
+ "size": "len",
161
+ "interface_index": 3,
162
+ "tests": [
163
+ "4c616469657320616e642047656e746c656d656e206f662074686520636c617373206f66202739393a204966204920636f756c64206f6666657220796f75206f6e6c79206f6e652074697020666f7220746865206675747572652c2073756e73637265656e20776f756c642062652069742e"
164
+ ]
165
+ },
166
+ {
167
+ "name": "ciphertext",
168
+ "kind": "output",
169
+ "type": "buffer",
170
+ "size": "len",
171
+ "tests": [
172
+ "d31a8d34648e60db7b86afbc53ef7ec2a4aded51296e08fea9e2b5a736ee62d63dbea45e8ca9671282fafb69da92728b1a71de0a9e060b2905d6a5b67ecd3b3692ddbd7f2d778b8c9803aee328091b58fab324e4fad675945585808b4831d7bc3ff4def08e4b7a9de576d26586cec64b6116"
173
+ ]
174
+ },
175
+ {
176
+ "name": "mac",
177
+ "kind": "output",
178
+ "type": "buffer",
179
+ "size": 16,
180
+ "tests": [
181
+ "1ae10b594f09e26a7e902ecbd0600691"
182
+ ]
183
+ }
184
+ ],
185
+ "return": {
186
+ "type": "void"
187
+ }
188
+ },
189
+ "aead_decrypt": {
190
+ "module": "Hacl_Chacha20Poly1305_32",
191
+ "name": "aead_decrypt",
192
+ "args": [{
193
+ "name": "key",
194
+ "kind": "input",
195
+ "type": "buffer",
196
+ "size": 32,
197
+ "interface_index": 0,
198
+ "tests": [
199
+ "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f"
200
+ ]
201
+ },
202
+ {
203
+ "name": "nonce",
204
+ "kind": "input",
205
+ "type": "buffer",
206
+ "size": 12,
207
+ "interface_index": 1,
208
+ "tests": [
209
+ "070000004041424344454647"
210
+ ]
211
+ },
212
+ {
213
+ "name": "alen",
214
+ "kind": "input",
215
+ "type": "uint32"
216
+ },
217
+ {
218
+ "name": "aad",
219
+ "kind": "input",
220
+ "type": "buffer",
221
+ "size": "alen",
222
+ "interface_index": 2,
223
+ "tests": [
224
+ "50515253c0c1c2c3c4c5c6c7"
225
+ ]
226
+ },
227
+ {
228
+ "name": "len",
229
+ "kind": "input",
230
+ "type": "uint32"
231
+ },
232
+ {
233
+ "name": "plaintext",
234
+ "kind": "output",
235
+ "type": "buffer",
236
+ "size": "len",
237
+ "tests": [
238
+ "4c616469657320616e642047656e746c656d656e206f662074686520636c617373206f66202739393a204966204920636f756c64206f6666657220796f75206f6e6c79206f6e652074697020666f7220746865206675747572652c2073756e73637265656e20776f756c642062652069742e"
239
+ ]
240
+ },
241
+ {
242
+ "name": "ciphertext",
243
+ "kind": "input",
244
+ "type": "buffer",
245
+ "size": "len",
246
+ "interface_index": 3,
247
+ "tests": [
248
+ "d31a8d34648e60db7b86afbc53ef7ec2a4aded51296e08fea9e2b5a736ee62d63dbea45e8ca9671282fafb69da92728b1a71de0a9e060b2905d6a5b67ecd3b3692ddbd7f2d778b8c9803aee328091b58fab324e4fad675945585808b4831d7bc3ff4def08e4b7a9de576d26586cec64b6116"
249
+ ]
250
+ },
251
+ {
252
+ "name": "mac",
253
+ "kind": "input",
254
+ "type": "buffer",
255
+ "interface_index": 4,
256
+ "size": 16,
257
+ "tests": [
258
+ "1ae10b594f09e26a7e902ecbd0600691"
259
+ ]
260
+ }
261
+ ],
262
+ "return": {
263
+ "type": "uint32",
264
+ "tests": [
265
+ 0
266
+ ]
267
+ }
268
+ }
269
+ },
270
+ "Ed25519": {
271
+ "secret_to_public": {
272
+ "module": "Hacl_Ed25519",
273
+ "name": "secret_to_public",
274
+ "args": [{
275
+ "name": "pub",
276
+ "kind": "output",
277
+ "type": "buffer",
278
+ "size": 32,
279
+ "tests": [
280
+ "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
281
+ "3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c",
282
+ "fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025",
283
+ "278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e"
284
+ ]
285
+ }, {
286
+ "name": "priv",
287
+ "kind": "input",
288
+ "type": "buffer",
289
+ "interface_index": 0,
290
+ "size": 32,
291
+ "tests": [
292
+ "9d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7f60",
293
+ "4ccd089b28ff96da9db6c346ec114e0f5b8a319f35aba624da8cf6ed4fb8a6fb",
294
+ "c5aa8df43f9f837bedb7442f31dcb7b166d38535076f094b85ce3a2e0b4458f7",
295
+ "f5e5767cf153319517630f226876b86c8160cc583bc013744c6bf255f5cc0ee5"
296
+ ]
297
+ }],
298
+ "return": {
299
+ "type": "void"
300
+ }
301
+ },
302
+ "sign": {
303
+ "module": "Hacl_Ed25519",
304
+ "name": "sign",
305
+ "args": [{
306
+ "name": "signature",
307
+ "kind": "output",
308
+ "type": "buffer",
309
+ "size": 64,
310
+ "tests": [
311
+ "e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b",
312
+ "92a009a9f0d4cab8720e820b5f642540a2b27b5416503f8fb3762223ebdb69da085ac1e43e15996e458f3613d0f11d8c387b2eaeb4302aeeb00d291612bb0c00",
313
+ "6291d657deec24024827e69c3abe01a30ce548a284743a445e3680d7db5ac3ac18ff9b538d16f290ae67f760984dc6594a7c15e9716ed28dc027beceea1ec40a",
314
+ "0aab4c900501b3e24d7cdf4663326a3a87df5e4843b2cbdb67cbf6e460fec350aa5371b1508f9f4528ecea23c436d94b5e8fcd4f681e30a6ac00a9704a188a03"
315
+ ]
316
+ }, {
317
+ "name": "priv",
318
+ "kind": "input",
319
+ "type": "buffer",
320
+ "interface_index": 0,
321
+ "size": 32,
322
+ "tests": [
323
+ "9d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7f60",
324
+ "4ccd089b28ff96da9db6c346ec114e0f5b8a319f35aba624da8cf6ed4fb8a6fb",
325
+ "c5aa8df43f9f837bedb7442f31dcb7b166d38535076f094b85ce3a2e0b4458f7",
326
+ "f5e5767cf153319517630f226876b86c8160cc583bc013744c6bf255f5cc0ee5"
327
+ ]
328
+ }, {
329
+ "name": "len",
330
+ "kind": "input",
331
+ "type": "uint32"
332
+ }, {
333
+ "name": "message",
334
+ "kind": "input",
335
+ "type": "buffer",
336
+ "size": "len",
337
+ "interface_index": 1,
338
+ "tests": [
339
+ "",
340
+ "72",
341
+ "af82",
342
+ "08b8b2b733424243760fe426a4b54908632110a66c2f6591eabd3345e3e4eb98fa6e264bf09efe12ee50f8f54e9f77b1e355f6c50544e23fb1433ddf73be84d879de7c0046dc4996d9e773f4bc9efe5738829adb26c81b37c93a1b270b20329d658675fc6ea534e0810a4432826bf58c941efb65d57a338bbd2e26640f89ffbc1a858efcb8550ee3a5e1998bd177e93a7363c344fe6b199ee5d02e82d522c4feba15452f80288a821a579116ec6dad2b3b310da903401aa62100ab5d1a36553e06203b33890cc9b832f79ef80560ccb9a39ce767967ed628c6ad573cb116dbefefd75499da96bd68a8a97b928a8bbc103b6621fcde2beca1231d206be6cd9ec7aff6f6c94fcd7204ed3455c68c83f4a41da4af2b74ef5c53f1d8ac70bdcb7ed185ce81bd84359d44254d95629e9855a94a7c1958d1f8ada5d0532ed8a5aa3fb2d17ba70eb6248e594e1a2297acbbb39d502f1a8c6eb6f1ce22b3de1a1f40cc24554119a831a9aad6079cad88425de6bde1a9187ebb6092cf67bf2b13fd65f27088d78b7e883c8759d2c4f5c65adb7553878ad575f9fad878e80a0c9ba63bcbcc2732e69485bbc9c90bfbd62481d9089beccf80cfe2df16a2cf65bd92dd597b0707e0917af48bbb75fed413d238f5555a7a569d80c3414a8d0859dc65a46128bab27af87a71314f318c782b23ebfe808b82b0ce26401d2e22f04d83d1255dc51addd3b75a2b1ae0784504df543af8969be3ea7082ff7fc9888c144da2af58429ec96031dbcad3dad9af0dcbaaaf268cb8fcffead94f3c7ca495e056a9b47acdb751fb73e666c6c655ade8297297d07ad1ba5e43f1bca32301651339e22904cc8c42f58c30c04aafdb038dda0847dd988dcda6f3bfd15c4b4c4525004aa06eeff8ca61783aacec57fb3d1f92b0fe2fd1a85f6724517b65e614ad6808d6f6ee34dff7310fdc82aebfd904b01e1dc54b2927094b2db68d6f903b68401adebf5a7e08d78ff4ef5d63653a65040cf9bfd4aca7984a74d37145986780fc0b16ac451649de6188a7dbdf191f64b5fc5e2ab47b57f7f7276cd419c17a3ca8e1b939ae49e488acba6b965610b5480109c8b17b80e1b7b750dfc7598d5d5011fd2dcc5600a32ef5b52a1ecc820e308aa342721aac0943bf6686b64b2579376504ccc493d97e6aed3fb0f9cd71a43dd497f01f17c0e2cb3797aa2a2f256656168e6c496afc5fb93246f6b1116398a346f1a641f3b041e989f7914f90cc2c7fff357876e506b50d334ba77c225bc307ba537152f3f1610e4eafe595f6d9d90d11faa933a15ef1369546868a7f3a45a96768d40fd9d03412c091c6315cf4fde7cb68606937380db2eaaa707b4c4185c32eddcdd306705e4dc1ffc872eeee475a64dfac86aba41c0618983f8741c5ef68d3a101e8a3b8cac60c905c15fc910840b94c00a0b9d0"
343
+ ]
344
+ }],
345
+ "return": {
346
+ "type": "void"
347
+ }
348
+ },
349
+ "verify": {
350
+ "module": "Hacl_Ed25519",
351
+ "name": "verify",
352
+ "args": [{
353
+ "name": "pub",
354
+ "kind": "input",
355
+ "type": "buffer",
356
+ "interface_index": 0,
357
+ "size": 32,
358
+ "tests": [
359
+ "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
360
+ "3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c",
361
+ "fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025",
362
+ "278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e"
363
+ ]
364
+ },
365
+ {
366
+ "name": "len",
367
+ "kind": "input",
368
+ "type": "uint32"
369
+ }, {
370
+ "name": "message",
371
+ "kind": "input",
372
+ "type": "buffer",
373
+ "size": "len",
374
+ "interface_index": 1,
375
+ "tests": [
376
+ "",
377
+ "72",
378
+ "af82",
379
+ "08b8b2b733424243760fe426a4b54908632110a66c2f6591eabd3345e3e4eb98fa6e264bf09efe12ee50f8f54e9f77b1e355f6c50544e23fb1433ddf73be84d879de7c0046dc4996d9e773f4bc9efe5738829adb26c81b37c93a1b270b20329d658675fc6ea534e0810a4432826bf58c941efb65d57a338bbd2e26640f89ffbc1a858efcb8550ee3a5e1998bd177e93a7363c344fe6b199ee5d02e82d522c4feba15452f80288a821a579116ec6dad2b3b310da903401aa62100ab5d1a36553e06203b33890cc9b832f79ef80560ccb9a39ce767967ed628c6ad573cb116dbefefd75499da96bd68a8a97b928a8bbc103b6621fcde2beca1231d206be6cd9ec7aff6f6c94fcd7204ed3455c68c83f4a41da4af2b74ef5c53f1d8ac70bdcb7ed185ce81bd84359d44254d95629e9855a94a7c1958d1f8ada5d0532ed8a5aa3fb2d17ba70eb6248e594e1a2297acbbb39d502f1a8c6eb6f1ce22b3de1a1f40cc24554119a831a9aad6079cad88425de6bde1a9187ebb6092cf67bf2b13fd65f27088d78b7e883c8759d2c4f5c65adb7553878ad575f9fad878e80a0c9ba63bcbcc2732e69485bbc9c90bfbd62481d9089beccf80cfe2df16a2cf65bd92dd597b0707e0917af48bbb75fed413d238f5555a7a569d80c3414a8d0859dc65a46128bab27af87a71314f318c782b23ebfe808b82b0ce26401d2e22f04d83d1255dc51addd3b75a2b1ae0784504df543af8969be3ea7082ff7fc9888c144da2af58429ec96031dbcad3dad9af0dcbaaaf268cb8fcffead94f3c7ca495e056a9b47acdb751fb73e666c6c655ade8297297d07ad1ba5e43f1bca32301651339e22904cc8c42f58c30c04aafdb038dda0847dd988dcda6f3bfd15c4b4c4525004aa06eeff8ca61783aacec57fb3d1f92b0fe2fd1a85f6724517b65e614ad6808d6f6ee34dff7310fdc82aebfd904b01e1dc54b2927094b2db68d6f903b68401adebf5a7e08d78ff4ef5d63653a65040cf9bfd4aca7984a74d37145986780fc0b16ac451649de6188a7dbdf191f64b5fc5e2ab47b57f7f7276cd419c17a3ca8e1b939ae49e488acba6b965610b5480109c8b17b80e1b7b750dfc7598d5d5011fd2dcc5600a32ef5b52a1ecc820e308aa342721aac0943bf6686b64b2579376504ccc493d97e6aed3fb0f9cd71a43dd497f01f17c0e2cb3797aa2a2f256656168e6c496afc5fb93246f6b1116398a346f1a641f3b041e989f7914f90cc2c7fff357876e506b50d334ba77c225bc307ba537152f3f1610e4eafe595f6d9d90d11faa933a15ef1369546868a7f3a45a96768d40fd9d03412c091c6315cf4fde7cb68606937380db2eaaa707b4c4185c32eddcdd306705e4dc1ffc872eeee475a64dfac86aba41c0618983f8741c5ef68d3a101e8a3b8cac60c905c15fc910840b94c00a0b9d0"
380
+ ]
381
+ },
382
+ {
383
+ "name": "signature",
384
+ "kind": "input",
385
+ "interface_index": 2,
386
+ "type": "buffer",
387
+ "size": 64,
388
+ "tests": [
389
+ "e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b",
390
+ "92a009a9f0d4cab8720e820b5f642540a2b27b5416503f8fb3762223ebdb69da085ac1e43e15996e458f3613d0f11d8c387b2eaeb4302aeeb00d291612bb0c00",
391
+ "6291d657deec24024827e69c3abe01a30ce548a284743a445e3680d7db5ac3ac18ff9b538d16f290ae67f760984dc6594a7c15e9716ed28dc027beceea1ec40a",
392
+ "0aab4c900501b3e24d7cdf4663326a3a87df5e4843b2cbdb67cbf6e460fec350aa5371b1508f9f4528ecea23c436d94b5e8fcd4f681e30a6ac00a9704a188a03"
393
+ ]
394
+ }
395
+ ],
396
+ "return": {
397
+ "type": "bool",
398
+ "tests": [
399
+ true,
400
+ true,
401
+ true,
402
+ true
403
+ ]
404
+ }
405
+ }
406
+ },
407
+ "SHA2": {
408
+ "hash_512": {
409
+ "module": "Hacl_Hash_SHA2",
410
+ "custom_module_name": true,
411
+ "name": "Hacl_Streaming_SHA2_hash_512",
412
+ "args": [{
413
+ "name": "input",
414
+ "kind": "input",
415
+ "type": "buffer",
416
+ "size": "input_len",
417
+ "interface_index": 0,
418
+ "tests": [
419
+ "616263",
420
+ "",
421
+ "6162636462636465636465666465666765666768666768696768696a68696a6b696a6b6c6a6b6c6d6b6c6d6e6c6d6e6f6d6e6f706e6f7071",
422
+ "61626364656667686263646566676869636465666768696a6465666768696a6b65666768696a6b6c666768696a6b6c6d6768696a6b6c6d6e68696a6b6c6d6e6f696a6b6c6d6e6f706a6b6c6d6e6f70716b6c6d6e6f7071726c6d6e6f707172736d6e6f70717273746e6f707172737475"
423
+ ]
424
+ },
425
+ {
426
+ "name": "input_len",
427
+ "kind": "input",
428
+ "type": "uint32"
429
+ },
430
+ {
431
+ "name": "hash",
432
+ "kind": "output",
433
+ "type": "buffer",
434
+ "size": 64,
435
+ "tests": [
436
+ "ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f",
437
+ "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e",
438
+ "204a8fc6dda82f0a0ced7beb8e08a41657c16ef468b228a8279be331a703c33596fd15c13b1b07f9aa1d3bea57789ca031ad85c7a71dd70354ec631238ca3445",
439
+ "8e959b75dae313da8cf4f72814fc143f8f7779c6eb9f7fa17299aeadb6889018501d289e4900f7e4331b99dec4b5433ac7d329eeb6dd26545e96e55b874be909"
440
+ ]
441
+ }
442
+ ],
443
+ "return": {
444
+ "type": "void"
445
+ }
446
+ },
447
+ "hash_384": {
448
+ "module": "Hacl_Hash_SHA2",
449
+ "custom_module_name": true,
450
+ "name": "Hacl_Streaming_SHA2_hash_384",
451
+ "args": [{
452
+ "name": "input",
453
+ "kind": "input",
454
+ "type": "buffer",
455
+ "size": "input_len",
456
+ "interface_index": 0,
457
+ "tests": [
458
+ "616263",
459
+ "",
460
+ "6162636462636465636465666465666765666768666768696768696a68696a6b696a6b6c6a6b6c6d6b6c6d6e6c6d6e6f6d6e6f706e6f7071",
461
+ "61626364656667686263646566676869636465666768696a6465666768696a6b65666768696a6b6c666768696a6b6c6d6768696a6b6c6d6e68696a6b6c6d6e6f696a6b6c6d6e6f706a6b6c6d6e6f70716b6c6d6e6f7071726c6d6e6f707172736d6e6f70717273746e6f707172737475"
462
+ ]
463
+ },
464
+ {
465
+ "name": "input_len",
466
+ "kind": "input",
467
+ "type": "uint32"
468
+ },
469
+ {
470
+ "name": "hash",
471
+ "kind": "output",
472
+ "type": "buffer",
473
+ "size": 48,
474
+ "tests": [
475
+ "cb00753f45a35e8bb5a03d699ac65007272c32ab0eded1631a8b605a43ff5bed8086072ba1e7cc2358baeca134c825a7",
476
+ "38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b",
477
+ "3391fdddfc8dc7393707a65b1b4709397cf8b1d162af05abfe8f450de5f36bc6b0455a8520bc4e6f5fe95b1fe3c8452b",
478
+ "09330c33f71147e83d192fc782cd1b4753111b173b3b05d22fa08086e3b0f712fcc7c71a557e2db966c3e9fa91746039"
479
+ ]
480
+ }
481
+ ],
482
+ "return": {
483
+ "type": "void"
484
+ }
485
+ },
486
+ "hash_256": {
487
+ "module": "Hacl_Hash_SHA2",
488
+ "custom_module_name": true,
489
+ "name": "Hacl_Streaming_SHA2_hash_256",
490
+ "args": [{
491
+ "name": "input",
492
+ "kind": "input",
493
+ "type": "buffer",
494
+ "size": "input_len",
495
+ "interface_index": 0,
496
+ "tests": [
497
+ "616263",
498
+ "",
499
+ "6162636462636465636465666465666765666768666768696768696a68696a6b696a6b6c6a6b6c6d6b6c6d6e6c6d6e6f6d6e6f706e6f7071",
500
+ "61626364656667686263646566676869636465666768696a6465666768696a6b65666768696a6b6c666768696a6b6c6d6768696a6b6c6d6e68696a6b6c6d6e6f696a6b6c6d6e6f706a6b6c6d6e6f70716b6c6d6e6f7071726c6d6e6f707172736d6e6f70717273746e6f707172737475"
501
+ ]
502
+ },
503
+ {
504
+ "name": "input_len",
505
+ "kind": "input",
506
+ "type": "uint32"
507
+ },
508
+ {
509
+ "name": "hash",
510
+ "kind": "output",
511
+ "type": "buffer",
512
+ "size": 32,
513
+ "tests": [
514
+ "ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad",
515
+ "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
516
+ "248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1",
517
+ "cf5b16a778af8380036ce59e7b0492370b249b11e8f07a51afac45037afee9d1"
518
+ ]
519
+ }
520
+ ],
521
+ "return": {
522
+ "type": "void"
523
+ }
524
+ }
525
+ },
526
+ "Blake2": {
527
+ "blake2b": {
528
+ "module": "Hacl_Hash_Blake2",
529
+ "custom_module_name": true,
530
+ "name": "Hacl_Blake2b_32_blake2b",
531
+ "args": [{
532
+ "type": "uint32",
533
+ "kind": "input",
534
+ "name": "output_len",
535
+ "interface_index": 0,
536
+ "tests": [
537
+ 64, 64
538
+ ]
539
+ }, {
540
+ "name": "output",
541
+ "kind": "output",
542
+ "type": "buffer",
543
+ "size": "output_len",
544
+ "tests": [
545
+ "ba80a53f981c4d0d6a2797b69f12f6e94c212f14685ac4b74b12bb6fdbffa2d17d87c5392aab792dc252d5de4533cc9518d38aa8dbf1925ab92386edd4009923",
546
+ "e47bb6f20fbf14984f72a4c3cd9f3dc0d38928e536733ba7c5b153c71546584b7371f9b7070777b9a0947703409650fd04cfc9a5d561f99ed134ef262b03db94"
547
+ ]
548
+ },
549
+ {
550
+ "type": "uint32",
551
+ "kind": "input",
552
+ "name": "data_len"
553
+ }, {
554
+ "name": "data",
555
+ "kind": "input",
556
+ "type": "buffer",
557
+ "size": "data_len",
558
+ "interface_index": 1,
559
+ "tests": [
560
+ "616263",
561
+ "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
562
+ ]
563
+ },
564
+ {
565
+ "type": "uint32",
566
+ "kind": "input",
567
+ "name": "key_len"
568
+ }, {
569
+ "name": "key",
570
+ "kind": "input",
571
+ "type": "buffer",
572
+ "size": "key_len",
573
+ "interface_index": 2,
574
+ "tests": [
575
+ "",
576
+ "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
577
+ ]
578
+ }
579
+ ],
580
+ "return": {
581
+ "type": "void"
582
+ }
583
+ },
584
+ "blake2s": {
585
+ "module": "Hacl_Hash_Blake2",
586
+ "custom_module_name": true,
587
+ "name": "Hacl_Blake2s_32_blake2s",
588
+ "args": [{
589
+ "type": "uint32",
590
+ "kind": "input",
591
+ "name": "output_len",
592
+ "interface_index": 0,
593
+ "tests": [
594
+ 32,
595
+ 32,
596
+ 32,
597
+ 32
598
+ ]
599
+ }, {
600
+ "name": "output",
601
+ "kind": "output",
602
+ "type": "buffer",
603
+ "size": "output_len",
604
+ "tests": [
605
+ "508c5e8c327c14e2e1a72ba34eeb452f37458b209ed63a294d999b4c86675982",
606
+ "40d15fee7c328830166ac3f918650f807e7e01e177258cdc0a39b11f598066f1",
607
+ "3fb735061abc519dfe979e54c1ee5bfad0a9d858b3315bad34bde999efd724dd",
608
+ "d12bf3732ef4af5c22fa90356af8fc50fcb40f8f2ea5c8594737a3b3d5abdbd7"
609
+ ]
610
+ },
611
+ {
612
+ "type": "uint32",
613
+ "kind": "input",
614
+ "name": "data_len"
615
+ }, {
616
+ "name": "data",
617
+ "kind": "input",
618
+ "type": "buffer",
619
+ "size": "data_len",
620
+ "interface_index": 1,
621
+ "tests": [
622
+ "616263",
623
+ "00",
624
+ "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfe",
625
+ "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fa"
626
+ ]
627
+ },
628
+ {
629
+ "type": "uint32",
630
+ "kind": "input",
631
+ "name": "key_len"
632
+ }, {
633
+ "name": "key",
634
+ "kind": "input",
635
+ "type": "buffer",
636
+ "size": "key_len",
637
+ "interface_index": 2,
638
+ "tests": [
639
+ "",
640
+ "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
641
+ "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
642
+ "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f"
643
+ ]
644
+ }
645
+ ],
646
+ "return": {
647
+ "type": "void"
648
+ }
649
+ }
650
+ },
651
+ "SHA3": {
652
+ "hash_512": {
653
+ "module": "Hacl_Hash_SHA3",
654
+ "custom_module_name": true,
655
+ "name": "Hacl_SHA3_sha3_512",
656
+ "args": [{
657
+ "name": "input_len",
658
+ "kind": "input",
659
+ "type": "uint32"
660
+ },
661
+ {
662
+ "name": "input",
663
+ "kind": "input",
664
+ "type": "buffer",
665
+ "size": "input_len",
666
+ "interface_index": 0,
667
+ "tests": [
668
+ "",
669
+ "616263",
670
+ "6162636462636465636465666465666765666768666768696768696a68696a6b696a6b6c6a6b6c6d6b6c6d6e6c6d6e6f6d6e6f706e6f7071",
671
+ "61626364656667686263646566676869636465666768696a6465666768696a6b65666768696a6b6c666768696a6b6c6d6768696a6b6c6d6e68696a6b6c6d6e6f696a6b6c6d6e6f706a6b6c6d6e6f70716b6c6d6e6f7071726c6d6e6f707172736d6e6f70717273746e6f707172737475"
672
+ ]
673
+ },
674
+ {
675
+ "name": "hash",
676
+ "kind": "output",
677
+ "type": "buffer",
678
+ "size": 64,
679
+ "tests": [
680
+ "a69f73cca23a9ac5c8b567dc185a756e97c982164fe25859e0d1dcc1475c80a615b2123af1f5f94c11e3e9402c3ac558f500199d95b6d3e301758586281dcd26",
681
+ "b751850b1a57168a5693cd924b6b096e08f621827444f70d884f5d0240d2712e10e116e9192af3c91a7ec57647e3934057340b4cf408d5a56592f8274eec53f0",
682
+ "04a371e84ecfb5b8b77cb48610fca8182dd457ce6f326a0fd3d7ec2f1e91636dee691fbe0c985302ba1b0d8dc78c086346b533b49c030d99a27daf1139d6e75e",
683
+ "afebb2ef542e6579c50cad06d2e578f9f8dd6881d7dc824d26360feebf18a4fa73e3261122948efcfd492e74e82e2189ed0fb440d187f382270cb455f21dd185"
684
+ ]
685
+ }
686
+ ],
687
+ "return": {
688
+ "type": "void"
689
+ }
690
+ },
691
+ "hash_384": {
692
+ "module": "Hacl_Hash_SHA3",
693
+ "custom_module_name": true,
694
+ "name": "Hacl_SHA3_sha3_384",
695
+ "args": [{
696
+ "name": "input_len",
697
+ "kind": "input",
698
+ "type": "uint32"
699
+ },
700
+ {
701
+ "name": "input",
702
+ "kind": "input",
703
+ "type": "buffer",
704
+ "size": "input_len",
705
+ "interface_index": 0,
706
+ "tests": [
707
+ "",
708
+ "616263",
709
+ "6162636462636465636465666465666765666768666768696768696a68696a6b696a6b6c6a6b6c6d6b6c6d6e6c6d6e6f6d6e6f706e6f7071",
710
+ "61626364656667686263646566676869636465666768696a6465666768696a6b65666768696a6b6c666768696a6b6c6d6768696a6b6c6d6e68696a6b6c6d6e6f696a6b6c6d6e6f706a6b6c6d6e6f70716b6c6d6e6f7071726c6d6e6f707172736d6e6f70717273746e6f707172737475"
711
+ ]
712
+ },
713
+ {
714
+ "name": "hash",
715
+ "kind": "output",
716
+ "type": "buffer",
717
+ "size": 48,
718
+ "tests": [
719
+ "0c63a75b845e4f7d01107d852e4c2485c51a50aaaa94fc61995e71bbee983a2ac3713831264adb47fb6bd1e058d5f004",
720
+ "ec01498288516fc926459f58e2c6ad8df9b473cb0fc08c2596da7cf0e49be4b298d88cea927ac7f539f1edf228376d25",
721
+ "991c665755eb3a4b6bbdfb75c78a492e8c56a22c5c4d7e429bfdbc32b9d4ad5aa04a1f076e62fea19eef51acd0657c22",
722
+ "79407d3b5916b59c3e30b09822974791c313fb9ecc849e406f23592d04f625dc8c709b98b43b3852b337216179aa7fc7"
723
+ ]
724
+ }
725
+ ],
726
+ "return": {
727
+ "type": "void"
728
+ }
729
+ },
730
+ "hash_256": {
731
+ "module": "Hacl_Hash_SHA3",
732
+ "custom_module_name": true,
733
+ "name": "Hacl_SHA3_sha3_256",
734
+ "args": [{
735
+ "name": "input_len",
736
+ "kind": "input",
737
+ "type": "uint32"
738
+ },
739
+ {
740
+ "name": "input",
741
+ "kind": "input",
742
+ "type": "buffer",
743
+ "size": "input_len",
744
+ "interface_index": 0,
745
+ "tests": [
746
+ "",
747
+ "616263",
748
+ "6162636462636465636465666465666765666768666768696768696a68696a6b696a6b6c6a6b6c6d6b6c6d6e6c6d6e6f6d6e6f706e6f7071",
749
+ "61626364656667686263646566676869636465666768696a6465666768696a6b65666768696a6b6c666768696a6b6c6d6768696a6b6c6d6e68696a6b6c6d6e6f696a6b6c6d6e6f706a6b6c6d6e6f70716b6c6d6e6f7071726c6d6e6f707172736d6e6f70717273746e6f707172737475"
750
+ ]
751
+ },
752
+ {
753
+ "name": "hash",
754
+ "kind": "output",
755
+ "type": "buffer",
756
+ "size": 32,
757
+ "tests": [
758
+ "a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a",
759
+ "3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532",
760
+ "41c0dba2a9d6240849100376a8235e2c82e1b9998a999e21db32dd97496d3376",
761
+ "916f6061fe879741ca6469b43971dfdb28b1a32dc36cb3254e812be27aad1d18"
762
+ ]
763
+ }
764
+ ],
765
+ "return": {
766
+ "type": "void"
767
+ }
768
+ },
769
+ "hash_224": {
770
+ "module": "Hacl_Hash_SHA3",
771
+ "custom_module_name": true,
772
+ "name": "Hacl_SHA3_sha3_224",
773
+ "args": [{
774
+ "name": "input_len",
775
+ "kind": "input",
776
+ "type": "uint32"
777
+ },
778
+ {
779
+ "name": "input",
780
+ "kind": "input",
781
+ "type": "buffer",
782
+ "size": "input_len",
783
+ "interface_index": 0,
784
+ "tests": [
785
+ "",
786
+ "616263",
787
+ "6162636462636465636465666465666765666768666768696768696a68696a6b696a6b6c6a6b6c6d6b6c6d6e6c6d6e6f6d6e6f706e6f7071",
788
+ "61626364656667686263646566676869636465666768696a6465666768696a6b65666768696a6b6c666768696a6b6c6d6768696a6b6c6d6e68696a6b6c6d6e6f696a6b6c6d6e6f706a6b6c6d6e6f70716b6c6d6e6f7071726c6d6e6f707172736d6e6f70717273746e6f707172737475"
789
+ ]
790
+ },
791
+ {
792
+ "name": "hash",
793
+ "kind": "output",
794
+ "type": "buffer",
795
+ "size": 28,
796
+ "tests": [
797
+ "6b4e03423667dbb73b6e15454f0eb1abd4597f9a1b078e3f5b5a6bc7",
798
+ "e642824c3f8cf24ad09234ee7d3c766fc9a3a5168d0c94ad73b46fdf",
799
+ "8a24108b154ada21c9fd5574494479ba5c7e7ab76ef264ead0fcce33",
800
+ "543e6868e1666c1a643630df77367ae5a62a85070a51c14cbf665cbc"
801
+ ]
802
+ }
803
+ ],
804
+ "return": {
805
+ "type": "void"
806
+ }
807
+ },
808
+ "keccak": {
809
+ "module": "Hacl_Hash_SHA3",
810
+ "name": "Hacl_Impl_SHA3_keccak",
811
+ "custom_module_name": true,
812
+ "args": [{
813
+ "name": "rate",
814
+ "kind": "input",
815
+ "type": "uint32",
816
+ "interface_index": 0,
817
+ "tests": [
818
+ 1088
819
+ ]
820
+ },
821
+ {
822
+ "name": "capacity",
823
+ "kind": "input",
824
+ "type": "uint32",
825
+ "interface_index": 1,
826
+ "tests": [
827
+ 512
828
+ ]
829
+ },
830
+ {
831
+ "name": "input_len",
832
+ "kind": "input",
833
+ "type": "uint32"
834
+ },
835
+ {
836
+ "name": "input",
837
+ "kind": "input",
838
+ "type": "buffer",
839
+ "size": "input_len",
840
+ "interface_index": 2,
841
+ "tests": [
842
+ "4c6f6e6774656d70732c206a65206d65207375697320636f7563686520646520626f6e6e65206865757265"
843
+ ]
844
+ },
845
+ {
846
+ "name": "suffix",
847
+ "kind": "input",
848
+ "type": "uint32",
849
+ "interface_index": 3,
850
+ "tests": [
851
+ 1
852
+ ]
853
+ },
854
+ {
855
+ "name": "output_len",
856
+ "kind": "input",
857
+ "type": "uint32",
858
+ "interface_index": 4,
859
+ "tests": [
860
+ 32
861
+ ]
862
+ },
863
+ {
864
+ "name": "digest",
865
+ "kind": "output",
866
+ "type": "buffer",
867
+ "size": "output_len",
868
+ "tests": [
869
+ "9f3afe7d35d9bbc4efd98252357e73e85ce1234a48603a063bb7079174aafa68"
870
+ ]
871
+ }
872
+ ],
873
+ "return": {
874
+ "type": "void"
875
+ }
876
+ }
877
+ },
878
+ "HMAC": {
879
+ "sha256": {
880
+ "module": "Hacl_HMAC",
881
+ "name": "compute_sha2_256",
882
+ "args": [{
883
+ "name": "tag",
884
+ "kind": "output",
885
+ "type": "buffer",
886
+ "size": 32,
887
+ "tests": [
888
+ "b0344c61d8db38535ca8afceaf0bf12b881dc200c9833da726e9376c2e32cff7",
889
+ "5bdcc146bf60754e6a042426089575c75a003f089d2739839dec58b964ec3843",
890
+ "773ea91e36800e46854db8ebd09181a72959098b3ef8c122d9635514ced565fe",
891
+ "82558a389a443c0ea4cc819899f2083a85f0faa3e578f8077a2e3ff46729665b"
892
+ ]
893
+ },
894
+ {
895
+ "name": "key",
896
+ "kind": "input",
897
+ "type": "buffer",
898
+ "size": "key_len",
899
+ "interface_index": 0,
900
+ "tests": [
901
+ "0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b",
902
+ "4a656665",
903
+ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
904
+ "0102030405060708090a0b0c0d0e0f10111213141516171819"
905
+ ]
906
+ }, {
907
+ "name": "key_len",
908
+ "kind": "input",
909
+ "type": "uint32"
910
+ }, {
911
+ "name": "data",
912
+ "kind": "input",
913
+ "type": "buffer",
914
+ "size": "data_len",
915
+ "interface_index": 1,
916
+ "tests": [
917
+ "4869205468657265",
918
+ "7768617420646f2079612077616e7420666f72206e6f7468696e673f",
919
+ "dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",
920
+ "cdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd"
921
+ ]
922
+ }, {
923
+ "name": "data_len",
924
+ "kind": "input",
925
+ "type": "uint32"
926
+ }
927
+ ],
928
+ "return": {
929
+ "type": "void"
930
+ }
931
+ },
932
+ "sha512": {
933
+ "module": "Hacl_HMAC",
934
+ "name": "compute_sha2_512",
935
+ "args": [{
936
+ "name": "tag",
937
+ "kind": "output",
938
+ "type": "buffer",
939
+ "size": 64,
940
+ "tests": [
941
+ "164b7a7bfcf819e2e395fbe73b56e0a387bd64222e831fd610270cd7ea2505549758bf75c05a994a6d034f65f8f0e6fdcaeab1a34d4a6b4b636e070a38bce737"
942
+ ]
943
+ },
944
+ {
945
+ "name": "key",
946
+ "kind": "input",
947
+ "type": "buffer",
948
+ "size": "key_len",
949
+ "interface_index": 0,
950
+ "tests": [
951
+ "4a656665"
952
+ ]
953
+ }, {
954
+ "name": "key_len",
955
+ "kind": "input",
956
+ "type": "uint32"
957
+ }, {
958
+ "name": "data",
959
+ "kind": "input",
960
+ "type": "buffer",
961
+ "size": "data_len",
962
+ "interface_index": 1,
963
+ "tests": [
964
+ "7768617420646f2079612077616e7420666f72206e6f7468696e673f"
965
+ ]
966
+ }, {
967
+ "name": "data_len",
968
+ "kind": "input",
969
+ "type": "uint32"
970
+ }
971
+ ],
972
+ "return": {
973
+ "type": "void"
974
+ }
975
+ }
976
+ },
977
+ "HKDF": {
978
+ "extract_sha2_256": {
979
+ "module": "Hacl_HKDF",
980
+ "name": "extract_sha2_256",
981
+ "args": [{
982
+ "name": "prk",
983
+ "kind": "output",
984
+ "type": "buffer",
985
+ "size": 32,
986
+ "tests": [
987
+ "077709362c2e32df0ddc3f0dc47bba6390b6c73bb50f9c3122ec844ad7c2b3e5",
988
+ "06a6b88c5853361a06104c9ceb35b45cef760014904671014a193f40c15fc244",
989
+ "19ef24a32c717b167f33a91d6f648bdf96596776afdb6377ac434c1c293ccb04"
990
+ ]
991
+ },
992
+ {
993
+ "name": "salt",
994
+ "kind": "input",
995
+ "size": "salt_len",
996
+ "interface_index": 0,
997
+ "type": "buffer",
998
+ "tests": [
999
+ "000102030405060708090a0b0c",
1000
+ "606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeaf",
1001
+ ""
1002
+ ]
1003
+ },
1004
+ {
1005
+ "name": "salt_len",
1006
+ "kind": "input",
1007
+ "type": "uint32"
1008
+ }, {
1009
+ "name": "ikm",
1010
+ "kind": "input",
1011
+ "type": "buffer",
1012
+ "size": "ikm_len",
1013
+ "interface_index": 1,
1014
+ "tests": [
1015
+ "0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b",
1016
+ "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f",
1017
+ "0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b"
1018
+ ]
1019
+ },
1020
+ {
1021
+ "name": "ikm_len",
1022
+ "kind": "input",
1023
+ "type": "uint32"
1024
+ }
1025
+ ],
1026
+ "return": {
1027
+ "type": "void"
1028
+ }
1029
+ },
1030
+ "expand_sha2_256": {
1031
+ "module": "Hacl_HKDF",
1032
+ "name": "expand_sha2_256",
1033
+ "args": [{
1034
+ "name": "okm",
1035
+ "kind": "output",
1036
+ "type": "buffer",
1037
+ "size": "len",
1038
+ "tests": [
1039
+ "3cb25f25faacd57a90434f64d0362f2a2d2d0a90cf1a5a4c5db02d56ecc4c5bf34007208d5b887185865",
1040
+ "b11e398dc80327a1c8e7f78c596a49344f012eda2d4efad8a050cc4c19afa97c59045a99cac7827271cb41c65e590e09da3275600c2f09b8367793a9aca3db71cc30c58179ec3e87c14c01d5c1f3434f1d87",
1041
+ "8da4e775a563c18f715f802a063c5a31b8a11f5c5ee1879ec3454e5f3c738d2d9d201395faa4b61a96c8"
1042
+ ]
1043
+ },
1044
+ {
1045
+ "name": "prk",
1046
+ "kind": "input",
1047
+ "type": "buffer",
1048
+ "size": "prk_len",
1049
+ "interface_index": 0,
1050
+ "tests": [
1051
+ "077709362c2e32df0ddc3f0dc47bba6390b6c73bb50f9c3122ec844ad7c2b3e5",
1052
+ "06a6b88c5853361a06104c9ceb35b45cef760014904671014a193f40c15fc244",
1053
+ "19ef24a32c717b167f33a91d6f648bdf96596776afdb6377ac434c1c293ccb04"
1054
+ ]
1055
+ },
1056
+ {
1057
+ "name": "prk_len",
1058
+ "kind": "input",
1059
+ "type": "uint32"
1060
+ }, {
1061
+ "name": "info",
1062
+ "kind": "input",
1063
+ "type": "buffer",
1064
+ "size": "infolen",
1065
+ "interface_index": 1,
1066
+ "tests": [
1067
+ "f0f1f2f3f4f5f6f7f8f9",
1068
+ "b0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff",
1069
+ ""
1070
+ ]
1071
+ },
1072
+ {
1073
+ "name": "infolen",
1074
+ "kind": "input",
1075
+ "type": "uint32"
1076
+ }, {
1077
+ "name": "len",
1078
+ "kind": "input",
1079
+ "type": "uint32",
1080
+ "interface_index": 2,
1081
+ "tests": [
1082
+ 42,
1083
+ 82,
1084
+ 42
1085
+ ]
1086
+ }
1087
+ ],
1088
+ "return": {
1089
+ "type": "void"
1090
+ }
1091
+ }
1092
+ },
1093
+ "NaCl": {
1094
+ "secretbox_easy": {
1095
+ "module": "Hacl_NaCl",
1096
+ "name": "crypto_secretbox_easy",
1097
+ "args": [
1098
+ {
1099
+ "name": "c",
1100
+ "kind": "output",
1101
+ "type": "buffer",
1102
+ "size": "mlen+16",
1103
+ "tests": [
1104
+ "79b34551ed224fa17cb6460ccb90a0d9",
1105
+ "0021f41724be3ac9a46bd56c19644d320eb9cb66303b98eda29e2281ed5e"
1106
+ ]
1107
+ },
1108
+ {
1109
+ "name": "m",
1110
+ "kind": "input",
1111
+ "type": "buffer",
1112
+ "size": "mlen",
1113
+ "interface_index": 0,
1114
+ "tests": [
1115
+ "",
1116
+ "a94d365d0f3a0a504c8c12762531"
1117
+ ]
1118
+ },
1119
+ {
1120
+ "name": "mlen",
1121
+ "kind": "input",
1122
+ "type": "uint32"
1123
+ },
1124
+ {
1125
+ "name": "n",
1126
+ "kind": "input",
1127
+ "type": "buffer",
1128
+ "size": 24,
1129
+ "interface_index": 1,
1130
+ "tests": [
1131
+ "72b90208d2800e36ad16c730941a038d7c3ad9d87030d329",
1132
+ "661d42c48f71b31c30d5c265b168511afd58b870bf354f4f"
1133
+ ]
1134
+ },
1135
+ {
1136
+ "name": "k",
1137
+ "kind": "input",
1138
+ "type": "buffer",
1139
+ "size": 32,
1140
+ "interface_index": 2,
1141
+ "tests": [
1142
+ "822bca3c7e05fde0dc204519730b35f81216a9c9f1df9525e2a900ec89718f57",
1143
+ "49d13a966a761a6acffed8923b5ee50c2971ba7e12c01fd99e0d70de9132f6d7"
1144
+ ]
1145
+ }
1146
+ ],
1147
+ "return": {
1148
+ "type": "uint32",
1149
+ "tests": [
1150
+ 0,
1151
+ 0
1152
+ ]
1153
+ }
1154
+ },
1155
+ "secretbox_open_easy": {
1156
+ "module": "Hacl_NaCl",
1157
+ "name": "crypto_secretbox_open_easy",
1158
+ "args": [
1159
+ {
1160
+ "name": "m",
1161
+ "kind": "output",
1162
+ "type": "buffer",
1163
+ "size": "clen-16",
1164
+ "tests": [
1165
+ "",
1166
+ "a94d365d0f3a0a504c8c12762531"
1167
+ ]
1168
+ },
1169
+ {
1170
+ "name": "c",
1171
+ "kind": "input",
1172
+ "type": "buffer",
1173
+ "size": "clen",
1174
+ "interface_index": 0,
1175
+ "tests": [
1176
+ "79b34551ed224fa17cb6460ccb90a0d9",
1177
+ "0021f41724be3ac9a46bd56c19644d320eb9cb66303b98eda29e2281ed5e"
1178
+ ]
1179
+ },
1180
+ {
1181
+ "name": "clen",
1182
+ "kind": "input",
1183
+ "type": "uint32"
1184
+ },
1185
+ {
1186
+ "name": "n",
1187
+ "kind": "input",
1188
+ "type": "buffer",
1189
+ "size": 24,
1190
+ "interface_index": 1,
1191
+ "tests": [
1192
+ "72b90208d2800e36ad16c730941a038d7c3ad9d87030d329",
1193
+ "661d42c48f71b31c30d5c265b168511afd58b870bf354f4f"
1194
+ ]
1195
+ },
1196
+ {
1197
+ "name": "k",
1198
+ "kind": "input",
1199
+ "type": "buffer",
1200
+ "size": 32,
1201
+ "interface_index": 2,
1202
+ "tests": [
1203
+ "822bca3c7e05fde0dc204519730b35f81216a9c9f1df9525e2a900ec89718f57",
1204
+ "49d13a966a761a6acffed8923b5ee50c2971ba7e12c01fd99e0d70de9132f6d7"
1205
+ ]
1206
+ }
1207
+ ],
1208
+ "return": {
1209
+ "type": "uint32",
1210
+ "tests": [
1211
+ 0,
1212
+ 0
1213
+ ]
1214
+ }
1215
+ },
1216
+ "box_beforenm": {
1217
+ "module": "Hacl_NaCl",
1218
+ "name": "crypto_box_beforenm",
1219
+ "args": [
1220
+ {
1221
+ "name": "k",
1222
+ "kind": "output",
1223
+ "type": "buffer",
1224
+ "size": 32,
1225
+ "tests": [
1226
+ "e59943913e5a5fc3922f9fd67708bd59974b7afb1f183e854dc65daa7f3ff013",
1227
+ "64a42f46310656f4d087635b02ff0292369b0597b3f0cd1187088b40f7dd10be"
1228
+ ]
1229
+ },
1230
+ {
1231
+ "name": "pk",
1232
+ "kind": "input",
1233
+ "type": "buffer",
1234
+ "size": 32,
1235
+ "interface_index": 0,
1236
+ "tests": [
1237
+ "fe3804027014cf0c896811d5234032e5eb6ca1786f648c6486f3fadd264d1741",
1238
+ "c799e1b6a10c609e449ba34838ecc79404989c69acb363d9527f7866e57ba64a"
1239
+ ]
1240
+ },
1241
+ {
1242
+ "name": "sk",
1243
+ "kind": "input",
1244
+ "type": "buffer",
1245
+ "size": 32,
1246
+ "interface_index": 1,
1247
+ "tests": [
1248
+ "d57dffb810eb32ffaa87932446a0c6e36eb954a737e9cc3ac0d9803441e2beac",
1249
+ "07bb38f5b2db98aee6021b5eb1e808e3e4677020a2609fa7d089b523c135f5df"
1250
+ ]
1251
+ }
1252
+ ],
1253
+ "return": {
1254
+ "type": "uint32",
1255
+ "tests": [
1256
+ 0,
1257
+ 0
1258
+ ]
1259
+ }
1260
+ },
1261
+ "box_easy_afternm": {
1262
+ "module": "Hacl_NaCl",
1263
+ "name": "crypto_box_easy_afternm",
1264
+ "args": [
1265
+ {
1266
+ "name": "c",
1267
+ "kind": "output",
1268
+ "type": "buffer",
1269
+ "size": "mlen+16",
1270
+ "tests": [
1271
+ "062f0c611b5ad32df8d42fea326eb9c5b92ada4d98ea08",
1272
+ "77878b2bce5abf2fac5a14ecd9580968a6976a8af34115ce023c950e"
1273
+ ]
1274
+ },
1275
+ {
1276
+ "name": "m",
1277
+ "kind": "input",
1278
+ "type": "buffer",
1279
+ "size": "mlen",
1280
+ "interface_index": 0,
1281
+ "tests": [
1282
+ "178cb311d20f0a",
1283
+ "93c69d5bceead524034e5c50"
1284
+ ]
1285
+ },
1286
+ {
1287
+ "name": "mlen",
1288
+ "kind": "input",
1289
+ "type": "uint32"
1290
+ },
1291
+ {
1292
+ "name": "n",
1293
+ "kind": "input",
1294
+ "type": "buffer",
1295
+ "size": 24,
1296
+ "interface_index": 1,
1297
+ "tests": [
1298
+ "000000000000000000000000000000000000000000000000",
1299
+ "000000000000000000000000000000000000000000000000"
1300
+ ]
1301
+ },
1302
+ {
1303
+ "name": "k",
1304
+ "kind": "input",
1305
+ "type": "buffer",
1306
+ "size": 32,
1307
+ "interface_index": 2,
1308
+ "tests": [
1309
+ "e59943913e5a5fc3922f9fd67708bd59974b7afb1f183e854dc65daa7f3ff013",
1310
+ "64a42f46310656f4d087635b02ff0292369b0597b3f0cd1187088b40f7dd10be"
1311
+ ]
1312
+ }
1313
+ ],
1314
+ "return": {
1315
+ "type": "uint32",
1316
+ "tests": [
1317
+ 0,
1318
+ 0
1319
+ ]
1320
+ }
1321
+ },
1322
+ "box_open_easy_afternm": {
1323
+ "module": "Hacl_NaCl",
1324
+ "name": "crypto_box_open_easy_afternm",
1325
+ "args": [
1326
+ {
1327
+ "name": "m",
1328
+ "kind": "output",
1329
+ "type": "buffer",
1330
+ "size": "clen-16",
1331
+ "tests": [
1332
+ "178cb311d20f0a",
1333
+ "93c69d5bceead524034e5c50"
1334
+ ]
1335
+ },
1336
+ {
1337
+ "name": "c",
1338
+ "kind": "input",
1339
+ "type": "buffer",
1340
+ "size": "clen",
1341
+ "interface_index": 0,
1342
+ "tests": [
1343
+ "062f0c611b5ad32df8d42fea326eb9c5b92ada4d98ea08",
1344
+ "77878b2bce5abf2fac5a14ecd9580968a6976a8af34115ce023c950e"
1345
+ ]
1346
+ },
1347
+ {
1348
+ "name": "clen",
1349
+ "kind": "input",
1350
+ "type": "uint32"
1351
+ },
1352
+ {
1353
+ "name": "n",
1354
+ "kind": "input",
1355
+ "type": "buffer",
1356
+ "size": 24,
1357
+ "interface_index": 1,
1358
+ "tests": [
1359
+ "000000000000000000000000000000000000000000000000",
1360
+ "000000000000000000000000000000000000000000000000"
1361
+ ]
1362
+ },
1363
+ {
1364
+ "name": "k",
1365
+ "kind": "input",
1366
+ "type": "buffer",
1367
+ "size": 32,
1368
+ "interface_index": 2,
1369
+ "tests": [
1370
+ "e59943913e5a5fc3922f9fd67708bd59974b7afb1f183e854dc65daa7f3ff013",
1371
+ "64a42f46310656f4d087635b02ff0292369b0597b3f0cd1187088b40f7dd10be"
1372
+ ]
1373
+ }
1374
+ ],
1375
+ "return": {
1376
+ "type": "uint32",
1377
+ "tests": [
1378
+ 0,
1379
+ 0
1380
+ ]
1381
+ }
1382
+ },
1383
+ "box_detached_afternm": {
1384
+ "module": "Hacl_NaCl",
1385
+ "name": "crypto_box_detached_afternm",
1386
+ "args": [
1387
+ {
1388
+ "name": "c",
1389
+ "kind": "output",
1390
+ "type": "buffer",
1391
+ "size": "mlen",
1392
+ "tests": [
1393
+ "b92ada4d98ea08",
1394
+ "a6976a8af34115ce023c950e"
1395
+ ]
1396
+ },
1397
+ {
1398
+ "name": "tag",
1399
+ "kind": "output",
1400
+ "type": "buffer",
1401
+ "size": 16,
1402
+ "tests": [
1403
+ "062f0c611b5ad32df8d42fea326eb9c5",
1404
+ "77878b2bce5abf2fac5a14ecd9580968"
1405
+ ]
1406
+ },
1407
+ {
1408
+ "name": "m",
1409
+ "kind": "input",
1410
+ "type": "buffer",
1411
+ "size": "mlen",
1412
+ "interface_index": 0,
1413
+ "tests": [
1414
+ "178cb311d20f0a",
1415
+ "93c69d5bceead524034e5c50"
1416
+ ]
1417
+ },
1418
+ {
1419
+ "name": "mlen",
1420
+ "kind": "input",
1421
+ "type": "uint32"
1422
+ },
1423
+ {
1424
+ "name": "n",
1425
+ "kind": "input",
1426
+ "type": "buffer",
1427
+ "size": 24,
1428
+ "interface_index": 1,
1429
+ "tests": [
1430
+ "000000000000000000000000000000000000000000000000",
1431
+ "000000000000000000000000000000000000000000000000"
1432
+ ]
1433
+ },
1434
+ {
1435
+ "name": "k",
1436
+ "kind": "input",
1437
+ "type": "buffer",
1438
+ "size": 32,
1439
+ "interface_index": 2,
1440
+ "tests": [
1441
+ "e59943913e5a5fc3922f9fd67708bd59974b7afb1f183e854dc65daa7f3ff013",
1442
+ "64a42f46310656f4d087635b02ff0292369b0597b3f0cd1187088b40f7dd10be"
1443
+ ]
1444
+ }
1445
+ ],
1446
+ "return": {
1447
+ "type": "uint32",
1448
+ "tests": [
1449
+ 0,
1450
+ 0
1451
+ ]
1452
+ }
1453
+ },
1454
+ "box_open_detached_afternm": {
1455
+ "module": "Hacl_NaCl",
1456
+ "name": "crypto_box_open_detached_afternm",
1457
+ "args": [
1458
+ {
1459
+ "name": "m",
1460
+ "kind": "output",
1461
+ "type": "buffer",
1462
+ "size": "mlen",
1463
+ "tests": [
1464
+ "178cb311d20f0a",
1465
+ "93c69d5bceead524034e5c50"
1466
+ ]
1467
+ },
1468
+ {
1469
+ "name": "c",
1470
+ "kind": "input",
1471
+ "type": "buffer",
1472
+ "size": "mlen",
1473
+ "interface_index": 0,
1474
+ "tests": [
1475
+ "b92ada4d98ea08",
1476
+ "a6976a8af34115ce023c950e"
1477
+ ]
1478
+ },
1479
+ {
1480
+ "name": "tag",
1481
+ "kind": "input",
1482
+ "type": "buffer",
1483
+ "size": 16,
1484
+ "interface_index": 1,
1485
+ "tests": [
1486
+ "062f0c611b5ad32df8d42fea326eb9c5",
1487
+ "77878b2bce5abf2fac5a14ecd9580968"
1488
+ ]
1489
+ },
1490
+ {
1491
+ "name": "mlen",
1492
+ "kind": "input",
1493
+ "type": "uint32"
1494
+ },
1495
+ {
1496
+ "name": "n",
1497
+ "kind": "input",
1498
+ "type": "buffer",
1499
+ "size": 24,
1500
+ "interface_index": 2,
1501
+ "tests": [
1502
+ "000000000000000000000000000000000000000000000000",
1503
+ "000000000000000000000000000000000000000000000000"
1504
+ ]
1505
+ },
1506
+ {
1507
+ "name": "k",
1508
+ "kind": "input",
1509
+ "type": "buffer",
1510
+ "size": 32,
1511
+ "interface_index": 3,
1512
+ "tests": [
1513
+ "e59943913e5a5fc3922f9fd67708bd59974b7afb1f183e854dc65daa7f3ff013",
1514
+ "64a42f46310656f4d087635b02ff0292369b0597b3f0cd1187088b40f7dd10be"
1515
+ ]
1516
+ }
1517
+ ],
1518
+ "return": {
1519
+ "type": "uint32",
1520
+ "tests": [
1521
+ 0,
1522
+ 0
1523
+ ]
1524
+ }
1525
+ }
1526
+ },
1527
+ "K256": {
1528
+ "ecdsa_sign_hashed_msg": {
1529
+ "module": "Hacl_K256_ECDSA",
1530
+ "name": "ecdsa_sign_hashed_msg",
1531
+ "args": [{
1532
+ "name": "signature",
1533
+ "kind": "output",
1534
+ "type": "buffer",
1535
+ "size": 64,
1536
+ "tests": [
1537
+ "241097efbf8b63bf145c8961dbdf10c310efbb3b2676bbc0f8b08505c9e2f795021006b7838609339e8b415a7f9acb1b661828131aef1ecbc7955dfb01f3ca0e"
1538
+ ]
1539
+ },
1540
+ {
1541
+ "name": "msgHash",
1542
+ "kind": "input",
1543
+ "type": "buffer",
1544
+ "size": 32,
1545
+ "interface_index": 0,
1546
+ "tests": [
1547
+ "4b688df40bcedbe641ddb16ff0a1842d9c67ea1c3bf63f3e0471baa664531d1a"
1548
+ ]
1549
+ },
1550
+ {
1551
+ "name": "private_key",
1552
+ "kind": "input",
1553
+ "type": "buffer",
1554
+ "size": 32,
1555
+ "interface_index": 1,
1556
+ "tests": [
1557
+ "ebb2c082fd7727890a28ac82f6bdf97bad8de9f5d7c9028692de1a255cad3e0f"
1558
+ ]
1559
+ },
1560
+ {
1561
+ "name": "nonce",
1562
+ "kind": "input",
1563
+ "type": "buffer",
1564
+ "size": 32,
1565
+ "interface_index": 2,
1566
+ "tests": [
1567
+ "49a0d7b786ec9cde0d0721d72804befd06571c974b191efb42ecf322ba9ddd9a"
1568
+ ]
1569
+ }
1570
+ ],
1571
+ "return": {
1572
+ "type": "bool",
1573
+ "tests": [
1574
+ "true"
1575
+ ]
1576
+ }
1577
+ },
1578
+ "ecdsa_verify_hashed_msg": {
1579
+ "module": "Hacl_K256_ECDSA",
1580
+ "name": "ecdsa_verify_hashed_msg",
1581
+ "args": [{
1582
+ "name": "m",
1583
+ "kind": "input",
1584
+ "type": "buffer",
1585
+ "size": 32,
1586
+ "interface_index": 0,
1587
+ "tests": [
1588
+ "4b688df40bcedbe641ddb16ff0a1842d9c67ea1c3bf63f3e0471baa664531d1a",
1589
+ "4b688df40bcedbe641ddb16ff0a1842d9c67ea1c3bf63f3e0471baa664531d1a"
1590
+ ]
1591
+ },
1592
+ {
1593
+ "name": "public_key",
1594
+ "kind": "input",
1595
+ "type": "buffer",
1596
+ "size": 64,
1597
+ "interface_index": 1,
1598
+ "tests": [
1599
+ "779dd197a5df977ed2cf6cb31d82d43328b790dc6b3b7d4437a427bd5847dfcde94b724a555b6d017bb7607c3e3281daf5b1699d6ef4124975c9237b917d426f",
1600
+ "779dd197a5df977ed2cf6cb31d82d43328b790dc6b3b7d4437a427bd5847dfcde94b724a555b6d017bb7607c3e3281daf5b1699d6ef4124975c9237b917d426f"
1601
+ ]
1602
+ },
1603
+ {
1604
+ "name": "signature",
1605
+ "kind": "input",
1606
+ "type": "buffer",
1607
+ "size": 64,
1608
+ "interface_index": 2,
1609
+ "tests": [
1610
+ "241097efbf8b63bf145c8961dbdf10c310efbb3b2676bbc0f8b08505c9e2f795021006b7838609339e8b415a7f9acb1b661828131aef1ecbc7955dfb01f3ca0e",
1611
+ "240097efbf8b63bf145c8961dbdf10c310efbb3b2676bbc0f8b08505c9e2f795021006b7838609339e8b415a7f9acb1b661828131aef1ecbc7955dfb01f3ca0e"
1612
+ ]
1613
+ }
1614
+ ],
1615
+ "return": {
1616
+ "type": "bool",
1617
+ "tests": [
1618
+ "true",
1619
+ "false"
1620
+ ]
1621
+ }
1622
+ },
1623
+ "secp256k1_ecdsa_sign_hashed_msg": {
1624
+ "module": "Hacl_K256_ECDSA",
1625
+ "name": "secp256k1_ecdsa_sign_hashed_msg",
1626
+ "args": [{
1627
+ "name": "signature",
1628
+ "kind": "output",
1629
+ "type": "buffer",
1630
+ "size": 64,
1631
+ "tests": [
1632
+ "241097efbf8b63bf145c8961dbdf10c310efbb3b2676bbc0f8b08505c9e2f795021006b7838609339e8b415a7f9acb1b661828131aef1ecbc7955dfb01f3ca0e"
1633
+ ]
1634
+ },
1635
+ {
1636
+ "name": "msgHash",
1637
+ "kind": "input",
1638
+ "type": "buffer",
1639
+ "size": 32,
1640
+ "interface_index": 0,
1641
+ "tests": [
1642
+ "4b688df40bcedbe641ddb16ff0a1842d9c67ea1c3bf63f3e0471baa664531d1a"
1643
+ ]
1644
+ },
1645
+ {
1646
+ "name": "private_key",
1647
+ "kind": "input",
1648
+ "type": "buffer",
1649
+ "size": 32,
1650
+ "interface_index": 1,
1651
+ "tests": [
1652
+ "ebb2c082fd7727890a28ac82f6bdf97bad8de9f5d7c9028692de1a255cad3e0f"
1653
+ ]
1654
+ },
1655
+ {
1656
+ "name": "nonce",
1657
+ "kind": "input",
1658
+ "type": "buffer",
1659
+ "size": 32,
1660
+ "interface_index": 2,
1661
+ "tests": [
1662
+ "49a0d7b786ec9cde0d0721d72804befd06571c974b191efb42ecf322ba9ddd9a"
1663
+ ]
1664
+ }
1665
+ ],
1666
+ "return": {
1667
+ "type": "bool",
1668
+ "tests": [
1669
+ "true"
1670
+ ]
1671
+ }
1672
+ },
1673
+ "secp256k1_ecdsa_verify_hashed_msg": {
1674
+ "module": "Hacl_K256_ECDSA",
1675
+ "name": "secp256k1_ecdsa_verify_hashed_msg",
1676
+ "args": [{
1677
+ "name": "m",
1678
+ "kind": "input",
1679
+ "type": "buffer",
1680
+ "size": 32,
1681
+ "interface_index": 0,
1682
+ "tests": [
1683
+ "4b688df40bcedbe641ddb16ff0a1842d9c67ea1c3bf63f3e0471baa664531d1a",
1684
+ "4b688df40bcedbe641ddb16ff0a1842d9c67ea1c3bf63f3e0471baa664531d1a"
1685
+ ]
1686
+ },
1687
+ {
1688
+ "name": "public_key",
1689
+ "kind": "input",
1690
+ "type": "buffer",
1691
+ "size": 64,
1692
+ "interface_index": 1,
1693
+ "tests": [
1694
+ "779dd197a5df977ed2cf6cb31d82d43328b790dc6b3b7d4437a427bd5847dfcde94b724a555b6d017bb7607c3e3281daf5b1699d6ef4124975c9237b917d426f",
1695
+ "779dd197a5df977ed2cf6cb31d82d43328b790dc6b3b7d4437a427bd5847dfcde94b724a555b6d017bb7607c3e3281daf5b1699d6ef4124975c9237b917d426f"
1696
+ ]
1697
+ },
1698
+ {
1699
+ "name": "signature",
1700
+ "kind": "input",
1701
+ "type": "buffer",
1702
+ "size": 64,
1703
+ "interface_index": 2,
1704
+ "tests": [
1705
+ "241097efbf8b63bf145c8961dbdf10c310efbb3b2676bbc0f8b08505c9e2f795021006b7838609339e8b415a7f9acb1b661828131aef1ecbc7955dfb01f3ca0e",
1706
+ "240097efbf8b63bf145c8961dbdf10c310efbb3b2676bbc0f8b08505c9e2f795021006b7838609339e8b415a7f9acb1b661828131aef1ecbc7955dfb01f3ca0e"
1707
+ ]
1708
+ }
1709
+ ],
1710
+ "return": {
1711
+ "type": "bool",
1712
+ "tests": [
1713
+ "true",
1714
+ "false"
1715
+ ]
1716
+ }
1717
+ },
1718
+ "secp256k1_ecdsa_signature_normalize": {
1719
+ "module": "Hacl_K256_ECDSA",
1720
+ "name": "secp256k1_ecdsa_signature_normalize",
1721
+ "args": [{
1722
+ "name": "signature",
1723
+ "kind": "input",
1724
+ "type": "buffer",
1725
+ "size": 64,
1726
+ "interface_index": 0,
1727
+ "tests": [
1728
+ "241097efbf8b63bf145c8961dbdf10c310efbb3b2676bbc0f8b08505c9e2f795021006b7838609339e8b415a7f9acb1b661828131aef1ecbc7955dfb01f3ca0e"
1729
+ ]
1730
+ }
1731
+ ],
1732
+ "return": {
1733
+ "type": "bool",
1734
+ "tests": [
1735
+ "true"
1736
+ ]
1737
+ }
1738
+ },
1739
+ "secp256k1_ecdsa_is_signature_normalized": {
1740
+ "module": "Hacl_K256_ECDSA",
1741
+ "name": "secp256k1_ecdsa_is_signature_normalized",
1742
+ "args": [{
1743
+ "name": "signature",
1744
+ "kind": "input",
1745
+ "type": "buffer",
1746
+ "size": 64,
1747
+ "interface_index": 0,
1748
+ "tests": [
1749
+ "241097efbf8b63bf145c8961dbdf10c310efbb3b2676bbc0f8b08505c9e2f795021006b7838609339e8b415a7f9acb1b661828131aef1ecbc7955dfb01f3ca0e"
1750
+ ]
1751
+ }
1752
+ ],
1753
+ "return": {
1754
+ "type": "bool",
1755
+ "tests": [
1756
+ "true"
1757
+ ]
1758
+ }
1759
+ },
1760
+ "uncompressed_to_raw": {
1761
+ "module": "Hacl_K256_ECDSA",
1762
+ "name": "public_key_uncompressed_to_raw",
1763
+ "args": [{
1764
+ "name": "pk_raw",
1765
+ "kind": "output",
1766
+ "type": "buffer",
1767
+ "size": 64,
1768
+ "tests": [
1769
+ "0a629506e1b65cd9d2e0ba9c75df9c4fed0db16dc9625ed14397f0afc836fae595dc53f8b0efe61e703075bd9b143bac75ec0e19f82a2208caeb32be53414c40"
1770
+ ]
1771
+ },
1772
+ {
1773
+ "name": "pk",
1774
+ "kind": "input",
1775
+ "type": "buffer",
1776
+ "size": 65,
1777
+ "interface_index": 0,
1778
+ "tests": [
1779
+ "040a629506e1b65cd9d2e0ba9c75df9c4fed0db16dc9625ed14397f0afc836fae595dc53f8b0efe61e703075bd9b143bac75ec0e19f82a2208caeb32be53414c40"
1780
+ ]
1781
+ }
1782
+ ],
1783
+ "return": {
1784
+ "type": "bool",
1785
+ "tests": [
1786
+ "true"
1787
+ ]
1788
+ }
1789
+ },
1790
+ "uncompressed_from_raw": {
1791
+ "module": "Hacl_K256_ECDSA",
1792
+ "name": "public_key_uncompressed_from_raw",
1793
+ "args": [{
1794
+ "name": "pk",
1795
+ "kind": "output",
1796
+ "type": "buffer",
1797
+ "size": 65,
1798
+ "tests": [
1799
+ "040a629506e1b65cd9d2e0ba9c75df9c4fed0db16dc9625ed14397f0afc836fae595dc53f8b0efe61e703075bd9b143bac75ec0e19f82a2208caeb32be53414c40"
1800
+ ]
1801
+ },
1802
+ {
1803
+ "name": "pk_raw",
1804
+ "kind": "input",
1805
+ "type": "buffer",
1806
+ "size": 64,
1807
+ "interface_index": 0,
1808
+ "tests": [
1809
+ "0a629506e1b65cd9d2e0ba9c75df9c4fed0db16dc9625ed14397f0afc836fae595dc53f8b0efe61e703075bd9b143bac75ec0e19f82a2208caeb32be53414c40"
1810
+ ]
1811
+ }
1812
+ ],
1813
+ "return": {
1814
+ "type": "void"
1815
+ }
1816
+ },
1817
+ "compressed_to_raw": {
1818
+ "module": "Hacl_K256_ECDSA",
1819
+ "name": "public_key_compressed_to_raw",
1820
+ "args": [{
1821
+ "name": "pk_raw",
1822
+ "kind": "output",
1823
+ "type": "buffer",
1824
+ "size": 64,
1825
+ "tests": [
1826
+ "0a629506e1b65cd9d2e0ba9c75df9c4fed0db16dc9625ed14397f0afc836fae595dc53f8b0efe61e703075bd9b143bac75ec0e19f82a2208caeb32be53414c40"
1827
+ ]
1828
+ },
1829
+ {
1830
+ "name": "pk",
1831
+ "kind": "input",
1832
+ "type": "buffer",
1833
+ "size": 33,
1834
+ "interface_index": 0,
1835
+ "tests": [
1836
+ "020a629506e1b65cd9d2e0ba9c75df9c4fed0db16dc9625ed14397f0afc836fae5"
1837
+ ]
1838
+ }
1839
+ ],
1840
+ "return": {
1841
+ "type": "bool",
1842
+ "tests": [
1843
+ "true"
1844
+ ]
1845
+ }
1846
+ },
1847
+ "compressed_from_raw": {
1848
+ "module": "Hacl_K256_ECDSA",
1849
+ "name": "public_key_compressed_from_raw",
1850
+ "args": [{
1851
+ "name": "pk",
1852
+ "kind": "output",
1853
+ "type": "buffer",
1854
+ "size": 33,
1855
+ "tests": [
1856
+ "020a629506e1b65cd9d2e0ba9c75df9c4fed0db16dc9625ed14397f0afc836fae5"
1857
+ ]
1858
+ },
1859
+ {
1860
+ "name": "pk_raw",
1861
+ "kind": "input",
1862
+ "type": "buffer",
1863
+ "size": 64,
1864
+ "interface_index": 0,
1865
+ "tests": [
1866
+ "0a629506e1b65cd9d2e0ba9c75df9c4fed0db16dc9625ed14397f0afc836fae595dc53f8b0efe61e703075bd9b143bac75ec0e19f82a2208caeb32be53414c40"
1867
+ ]
1868
+ }
1869
+ ],
1870
+ "return": {
1871
+ "type": "void"
1872
+ }
1873
+ },
1874
+ "is_public_key_valid": {
1875
+ "module": "Hacl_K256_ECDSA",
1876
+ "name": "is_public_key_valid",
1877
+ "args": [{
1878
+ "name": "pk",
1879
+ "kind": "input",
1880
+ "type": "buffer",
1881
+ "size": 64,
1882
+ "interface_index": 0,
1883
+ "tests": [
1884
+ "0a629506e1b65cd9d2e0ba9c75df9c4fed0db16dc9625ed14397f0afc836fae595dc53f8b0efe61e703075bd9b143bac75ec0e19f82a2208caeb32be53414c40",
1885
+ "fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2cfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e"
1886
+ ]
1887
+ }
1888
+ ],
1889
+ "return": {
1890
+ "type": "bool",
1891
+ "tests": [
1892
+ "true",
1893
+ "false"
1894
+ ]
1895
+ }
1896
+ },
1897
+ "secret_to_public": {
1898
+ "module": "Hacl_K256_ECDSA",
1899
+ "name": "secret_to_public",
1900
+ "args": [{
1901
+ "name": "public_key",
1902
+ "kind": "output",
1903
+ "type": "buffer",
1904
+ "size": 64,
1905
+ "tests": [
1906
+ "779dd197a5df977ed2cf6cb31d82d43328b790dc6b3b7d4437a427bd5847dfcde94b724a555b6d017bb7607c3e3281daf5b1699d6ef4124975c9237b917d426f"
1907
+ ]
1908
+ },
1909
+ {
1910
+ "name": "private_key",
1911
+ "kind": "input",
1912
+ "type": "buffer",
1913
+ "size": 32,
1914
+ "interface_index": 0,
1915
+ "tests": [
1916
+ "ebb2c082fd7727890a28ac82f6bdf97bad8de9f5d7c9028692de1a255cad3e0f"
1917
+ ]
1918
+ }
1919
+ ],
1920
+ "return": {
1921
+ "type": "bool",
1922
+ "tests": [
1923
+ "true"
1924
+ ]
1925
+ }
1926
+ }
1927
+ },
1928
+ "P256": {
1929
+ "ecdsa_sign_without_hash": {
1930
+ "module": "Hacl_P256",
1931
+ "name": "ecdsa_sign_p256_without_hash",
1932
+ "args": [{
1933
+ "name": "result",
1934
+ "kind": "output",
1935
+ "type": "buffer",
1936
+ "size": 64,
1937
+ "tests": [
1938
+ "f3ac8061b514795b8843e3d6629527ed2afd6b1f6a555a7acabb5e6f79c8c2accfa740fec76796d2e39216be7ebf580ea3c0ef4bb00ab2e7e4208434f45f8c9c"
1939
+ ]
1940
+ },
1941
+ {
1942
+ "name": "mlen",
1943
+ "kind": "input",
1944
+ "type": "uint32"
1945
+ },
1946
+ {
1947
+ "name": "m",
1948
+ "kind": "input",
1949
+ "type": "buffer",
1950
+ "size": "mlen",
1951
+ "interface_index": 0,
1952
+ "tests": [
1953
+ "1ccbe91c075fc7f4f033bfa248db8fccd3565de94bbfb12f3c59ff46c271bf83"
1954
+ ]
1955
+ },
1956
+ {
1957
+ "name": "privkey",
1958
+ "kind": "input",
1959
+ "type": "buffer",
1960
+ "size": 32,
1961
+ "interface_index": 1,
1962
+ "tests": [
1963
+ "519b423d715f8b581f4fa8ee59f4771a5b44c8130b4e3eacca54a56dda72b464"
1964
+ ]
1965
+ },
1966
+ {
1967
+ "name": "k",
1968
+ "kind": "input",
1969
+ "type": "buffer",
1970
+ "size": 32,
1971
+ "interface_index": 2,
1972
+ "tests": [
1973
+ "94a1bbb14b906a61a280f245f9e93c7f3b4a6247824f5d33b9670787642a68de"
1974
+ ]
1975
+ }
1976
+ ],
1977
+ "return": {
1978
+ "type": "bool",
1979
+ "tests": [
1980
+ "true"
1981
+ ]
1982
+ }
1983
+ },
1984
+ "ecdsa_verif_without_hash": {
1985
+ "module": "Hacl_P256",
1986
+ "name": "ecdsa_verif_without_hash",
1987
+ "args": [{
1988
+ "name": "mlen",
1989
+ "kind": "input",
1990
+ "type": "uint32"
1991
+ },
1992
+ {
1993
+ "name": "m",
1994
+ "kind": "input",
1995
+ "type": "buffer",
1996
+ "size": "mlen",
1997
+ "interface_index": 0,
1998
+ "tests": [
1999
+ "1ccbe91c075fc7f4f033bfa248db8fccd3565de94bbfb12f3c59ff46c271bf83"
2000
+ ]
2001
+ },
2002
+ {
2003
+ "name": "pubkey",
2004
+ "kind": "input",
2005
+ "type": "buffer",
2006
+ "size": 64,
2007
+ "interface_index": 1,
2008
+ "tests": [
2009
+ "1ccbe91c075fc7f4f033bfa248db8fccd3565de94bbfb12f3c59ff46c271bf83ce4014c68811f9a21a1fdb2c0e6113e06db7ca93b7404e78dc7ccd5ca89a4ca9"
2010
+ ]
2011
+ },
2012
+ {
2013
+ "name": "r",
2014
+ "kind": "input",
2015
+ "type": "buffer",
2016
+ "size": 32,
2017
+ "interface_index": 2,
2018
+ "tests": [
2019
+ "f3ac8061b514795b8843e3d6629527ed2afd6b1f6a555a7acabb5e6f79c8c2ac"
2020
+ ]
2021
+ },
2022
+ {
2023
+ "name": "s",
2024
+ "kind": "input",
2025
+ "type": "buffer",
2026
+ "size": 32,
2027
+ "interface_index": 3,
2028
+ "tests": [
2029
+ "cfa740fec76796d2e39216be7ebf580ea3c0ef4bb00ab2e7e4208434f45f8c9c"
2030
+ ]
2031
+ }
2032
+ ],
2033
+ "return": {
2034
+ "type": "bool",
2035
+ "tests": [ "true" ]
2036
+ }
2037
+ },
2038
+ "ecdsa_sign_sha2": {
2039
+ "module": "Hacl_P256",
2040
+ "name": "ecdsa_sign_p256_sha2",
2041
+ "args": [{
2042
+ "name": "result",
2043
+ "kind": "output",
2044
+ "type": "buffer",
2045
+ "size": 64,
2046
+ "tests": [
2047
+ "f3ac8061b514795b8843e3d6629527ed2afd6b1f6a555a7acabb5e6f79c8c2ac8bf77819ca05a6b2786c76262bf7371cef97b218e96f175a3ccdda2acc058903"
2048
+ ]
2049
+ },
2050
+ {
2051
+ "name": "mlen",
2052
+ "kind": "input",
2053
+ "type": "uint32"
2054
+ },
2055
+ {
2056
+ "name": "m",
2057
+ "kind": "input",
2058
+ "type": "buffer",
2059
+ "size": "mlen",
2060
+ "interface_index": 0,
2061
+ "tests": [
2062
+ "5905238877c77421f73e43ee3da6f2d9e2ccad5fc942dcec0cbd25482935faaf416983fe165b1a045ee2bcd2e6dca3bdf46c4310a7461f9a37960ca672d3feb5473e253605fb1ddfd28065b53cb5858a8ad28175bf9bd386a5e471ea7a65c17cc934a9d791e91491eb3754d03799790fe2d308d16146d5c9b0d0debd97d79ce8"
2063
+ ]
2064
+ },
2065
+ {
2066
+ "name": "privkey",
2067
+ "kind": "input",
2068
+ "type": "buffer",
2069
+ "size": 32,
2070
+ "interface_index": 1,
2071
+ "tests": [
2072
+ "519b423d715f8b581f4fa8ee59f4771a5b44c8130b4e3eacca54a56dda72b464"
2073
+ ]
2074
+ },
2075
+ {
2076
+ "name": "k",
2077
+ "kind": "input",
2078
+ "type": "buffer",
2079
+ "size": 32,
2080
+ "interface_index": 2,
2081
+ "tests": [
2082
+ "94a1bbb14b906a61a280f245f9e93c7f3b4a6247824f5d33b9670787642a68de"
2083
+ ]
2084
+ }
2085
+ ],
2086
+ "return": {
2087
+ "type": "bool",
2088
+ "tests": [
2089
+ "true"
2090
+ ]
2091
+ }
2092
+ },
2093
+ "ecdsa_verif_sha2": {
2094
+ "module": "Hacl_P256",
2095
+ "name": "ecdsa_verif_p256_sha2",
2096
+ "args": [{
2097
+ "name": "mlen",
2098
+ "kind": "input",
2099
+ "type": "uint32"
2100
+ },
2101
+ {
2102
+ "name": "m",
2103
+ "kind": "input",
2104
+ "type": "buffer",
2105
+ "size": "mlen",
2106
+ "interface_index": 0,
2107
+ "tests": [
2108
+ "5905238877c77421f73e43ee3da6f2d9e2ccad5fc942dcec0cbd25482935faaf416983fe165b1a045ee2bcd2e6dca3bdf46c4310a7461f9a37960ca672d3feb5473e253605fb1ddfd28065b53cb5858a8ad28175bf9bd386a5e471ea7a65c17cc934a9d791e91491eb3754d03799790fe2d308d16146d5c9b0d0debd97d79ce8"
2109
+ ]
2110
+ },
2111
+ {
2112
+ "name": "pubkey",
2113
+ "kind": "input",
2114
+ "type": "buffer",
2115
+ "size": 64,
2116
+ "interface_index": 1,
2117
+ "tests": [
2118
+ "1ccbe91c075fc7f4f033bfa248db8fccd3565de94bbfb12f3c59ff46c271bf83ce4014c68811f9a21a1fdb2c0e6113e06db7ca93b7404e78dc7ccd5ca89a4ca9"
2119
+ ]
2120
+ },
2121
+ {
2122
+ "name": "r",
2123
+ "kind": "input",
2124
+ "type": "buffer",
2125
+ "size": 32,
2126
+ "interface_index": 2,
2127
+ "tests": [
2128
+ "f3ac8061b514795b8843e3d6629527ed2afd6b1f6a555a7acabb5e6f79c8c2ac"
2129
+ ]
2130
+ },
2131
+ {
2132
+ "name": "s",
2133
+ "kind": "input",
2134
+ "type": "buffer",
2135
+ "size": 32,
2136
+ "interface_index": 3,
2137
+ "tests": [
2138
+ "8bf77819ca05a6b2786c76262bf7371cef97b218e96f175a3ccdda2acc058903"
2139
+ ]
2140
+ }
2141
+ ],
2142
+ "return": {
2143
+ "type": "bool",
2144
+ "tests": [
2145
+ "true"
2146
+ ]
2147
+ }
2148
+ },
2149
+ "validate_public_key": {
2150
+ "module": "Hacl_P256",
2151
+ "name": "validate_public_key",
2152
+ "args": [{
2153
+ "name": "pubKey",
2154
+ "kind": "input",
2155
+ "type": "buffer",
2156
+ "size": 64,
2157
+ "interface_index": 0,
2158
+ "tests": [
2159
+ "1ccbe91c075fc7f4f033bfa248db8fccd3565de94bbfb12f3c59ff46c271bf83ce4014c68811f9a21a1fdb2c0e6113e06db7ca93b7404e78dc7ccd5ca89a4ca9",
2160
+ "f3ac8061b514795b8843e3d6629527ed2afd6b1f6a555a7acabb5e6f79c8c2ac8bf77819ca05a6b2786c76262bf7371cef97b218e96f175a3ccdda2acc058903"
2161
+ ]
2162
+ }
2163
+ ],
2164
+ "return": {
2165
+ "type": "bool",
2166
+ "tests": [
2167
+ "true",
2168
+ "false"
2169
+ ]
2170
+ }
2171
+ },
2172
+ "uncompressed_to_raw": {
2173
+ "module": "Hacl_P256",
2174
+ "name": "uncompressed_to_raw",
2175
+ "args": [{
2176
+ "name": "b",
2177
+ "kind": "input",
2178
+ "type": "buffer",
2179
+ "size": 65,
2180
+ "interface_index": 0,
2181
+ "tests": [
2182
+ "04700c48f77f56584c5cc632ca65640db91b6bacce3a4df6b42ce7cc838833d287db71e509e3fd9b060ddb20ba5c51dcc5948d46fbf640dfe0441782cab85fa4ac"
2183
+ ]
2184
+ },
2185
+ {
2186
+ "name": "result",
2187
+ "kind": "output",
2188
+ "type": "buffer",
2189
+ "size": 64,
2190
+ "tests": [
2191
+ "700c48f77f56584c5cc632ca65640db91b6bacce3a4df6b42ce7cc838833d287db71e509e3fd9b060ddb20ba5c51dcc5948d46fbf640dfe0441782cab85fa4ac"
2192
+ ]
2193
+ }
2194
+ ],
2195
+ "return": {
2196
+ "type": "bool",
2197
+ "tests": [
2198
+ "true"
2199
+ ]
2200
+ }
2201
+ },
2202
+ "compressed_to_raw": {
2203
+ "module": "Hacl_P256",
2204
+ "name": "compressed_to_raw",
2205
+ "args": [{
2206
+ "name": "b",
2207
+ "kind": "input",
2208
+ "type": "buffer",
2209
+ "size": 33,
2210
+ "interface_index": 0,
2211
+ "tests": [
2212
+ "02700c48f77f56584c5cc632ca65640db91b6bacce3a4df6b42ce7cc838833d287"
2213
+ ]
2214
+ },
2215
+ {
2216
+ "name": "result",
2217
+ "kind": "output",
2218
+ "type": "buffer",
2219
+ "size": 64,
2220
+ "tests": [
2221
+ "700c48f77f56584c5cc632ca65640db91b6bacce3a4df6b42ce7cc838833d287db71e509e3fd9b060ddb20ba5c51dcc5948d46fbf640dfe0441782cab85fa4ac"
2222
+ ]
2223
+ }
2224
+ ],
2225
+ "return": {
2226
+ "type": "bool",
2227
+ "tests": [
2228
+ "true"
2229
+ ]
2230
+ }
2231
+ },
2232
+ "raw_to_uncompressed": {
2233
+ "module": "Hacl_P256",
2234
+ "name": "raw_to_uncompressed",
2235
+ "args": [{
2236
+ "name": "b",
2237
+ "kind": "input",
2238
+ "type": "buffer",
2239
+ "size": 64,
2240
+ "interface_index": 0,
2241
+ "tests": [
2242
+ "700c48f77f56584c5cc632ca65640db91b6bacce3a4df6b42ce7cc838833d287db71e509e3fd9b060ddb20ba5c51dcc5948d46fbf640dfe0441782cab85fa4ac"
2243
+ ]
2244
+ },
2245
+ {
2246
+ "name": "result",
2247
+ "kind": "output",
2248
+ "type": "buffer",
2249
+ "size": 65,
2250
+ "tests": [
2251
+ "04700c48f77f56584c5cc632ca65640db91b6bacce3a4df6b42ce7cc838833d287db71e509e3fd9b060ddb20ba5c51dcc5948d46fbf640dfe0441782cab85fa4ac"
2252
+ ]
2253
+ }
2254
+ ],
2255
+ "return": {
2256
+ "type": "void"
2257
+ }
2258
+ },
2259
+ "raw_to_compressed": {
2260
+ "module": "Hacl_P256",
2261
+ "name": "raw_to_compressed",
2262
+ "args": [{
2263
+ "name": "b",
2264
+ "kind": "input",
2265
+ "type": "buffer",
2266
+ "size": 64,
2267
+ "interface_index": 0,
2268
+ "tests": [
2269
+ "700c48f77f56584c5cc632ca65640db91b6bacce3a4df6b42ce7cc838833d287db71e509e3fd9b060ddb20ba5c51dcc5948d46fbf640dfe0441782cab85fa4ac"
2270
+ ]
2271
+ },
2272
+ {
2273
+ "name": "result",
2274
+ "kind": "output",
2275
+ "type": "buffer",
2276
+ "size": 33,
2277
+ "tests": [
2278
+ "02700c48f77f56584c5cc632ca65640db91b6bacce3a4df6b42ce7cc838833d287"
2279
+ ]
2280
+ }
2281
+ ],
2282
+ "return": {
2283
+ "type": "void"
2284
+ }
2285
+ },
2286
+ "dh_initiator": {
2287
+ "module": "Hacl_P256",
2288
+ "name": "dh_initiator",
2289
+ "args": [{
2290
+ "name": "result",
2291
+ "kind": "output",
2292
+ "type": "buffer",
2293
+ "size": 64,
2294
+ "tests": [
2295
+ "e266ddfdc12668db30d4ca3e8f7749432c416044f2d2b8c10bf3d4012aeffa8abfa86404a2e9ffe67d47c587ef7a97a7f456b863b4d02cfc6928973ab5b1cb39"
2296
+ ]
2297
+ },
2298
+ {
2299
+ "name": "scalar",
2300
+ "kind": "input",
2301
+ "type": "buffer",
2302
+ "size": 32,
2303
+ "interface_index": 0,
2304
+ "tests": [
2305
+ "0f56db78ca460b055c500064824bed999a25aaf48ebb519ac201537b85479813"
2306
+ ]
2307
+ }
2308
+ ],
2309
+ "return": {
2310
+ "type": "bool",
2311
+ "tests": [
2312
+ "true"
2313
+ ]
2314
+ }
2315
+ },
2316
+ "dh_responder": {
2317
+ "module": "Hacl_P256",
2318
+ "name": "dh_responder",
2319
+ "args": [{
2320
+ "name": "result",
2321
+ "kind": "output",
2322
+ "type": "buffer",
2323
+ "size": 64,
2324
+ "tests": [
2325
+ "46fc62106420ff012e54a434fbdd2d25ccc5852060561e68040dd7778997bd7bc553079d5a6b963c42f013ceb53c9715144bfb52d700d015387e4fae2918a9cd"
2326
+ ]
2327
+ },
2328
+ {
2329
+ "name": "pubKey",
2330
+ "kind": "input",
2331
+ "type": "buffer",
2332
+ "size": 64,
2333
+ "interface_index": 0,
2334
+ "tests": [
2335
+ "700c48f77f56584c5cc632ca65640db91b6bacce3a4df6b42ce7cc838833d287db71e509e3fd9b060ddb20ba5c51dcc5948d46fbf640dfe0441782cab85fa4ac"
2336
+ ]
2337
+ },
2338
+ {
2339
+ "name": "scalar",
2340
+ "kind": "input",
2341
+ "type": "buffer",
2342
+ "size": 32,
2343
+ "interface_index": 1,
2344
+ "tests": [
2345
+ "7d7dc5f71eb29ddaf80d6214632eeae03d9058af1fb6d22ed80badb62bc1a534"
2346
+ ]
2347
+ }
2348
+ ],
2349
+ "return": {
2350
+ "type": "bool",
2351
+ "tests": [
2352
+ "true"
2353
+ ]
2354
+ }
2355
+ },
2356
+ "validate_private_key": {
2357
+ "module": "Hacl_P256",
2358
+ "name": "validate_private_key",
2359
+ "args": [{
2360
+ "name": "pubKey",
2361
+ "kind": "input",
2362
+ "type": "buffer",
2363
+ "size": 32,
2364
+ "interface_index": 0,
2365
+ "tests": [
2366
+ "519b423d715f8b581f4fa8ee59f4771a5b44c8130b4e3eacca54a56dda72b464",
2367
+ "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
2368
+ ]
2369
+ }
2370
+ ],
2371
+ "return": {
2372
+ "type": "bool",
2373
+ "tests": [
2374
+ "true",
2375
+ "false"
2376
+ ]
2377
+ }
2378
+ }
2379
+ },
2380
+ "Bignum_64": {
2381
+ "add": {
2382
+ "module": "Hacl_Bignum64",
2383
+ "name": "add_packed",
2384
+ "args": [{
2385
+ "name": "len",
2386
+ "kind": "input",
2387
+ "type": "uint32",
2388
+ "tests": [
2389
+ ]
2390
+ },
2391
+ {
2392
+ "name": "a",
2393
+ "kind": "input",
2394
+ "type": "buffer(uint64)",
2395
+ "size": "len",
2396
+ "interface_index": 0,
2397
+ "tests": [
2398
+ ]
2399
+ },
2400
+ {
2401
+ "name": "b",
2402
+ "kind": "input",
2403
+ "type": "buffer(uint64)",
2404
+ "size": "len",
2405
+ "interface_index": 1,
2406
+ "tests": [
2407
+ ]
2408
+ },
2409
+ {
2410
+ "name": "out",
2411
+ "kind": "output",
2412
+ "type": "buffer(uint64)",
2413
+ "size": "len",
2414
+ "tests": [
2415
+ ]
2416
+ }
2417
+ ],
2418
+ "return": {
2419
+ "type": "uint64",
2420
+ "tests": []
2421
+ }
2422
+ },
2423
+ "add_mod": {
2424
+ "module": "Hacl_Bignum64",
2425
+ "name": "add_mod",
2426
+ "args": [{
2427
+ "name": "len",
2428
+ "kind": "input",
2429
+ "type": "uint32",
2430
+ "tests": [
2431
+ ]
2432
+ },
2433
+ {
2434
+ "name": "n",
2435
+ "kind": "input",
2436
+ "type": "buffer(uint64)",
2437
+ "size": "len",
2438
+ "interface_index": 0,
2439
+ "tests": [
2440
+ ]
2441
+ },
2442
+ {
2443
+ "name": "a",
2444
+ "kind": "input",
2445
+ "type": "buffer(uint64)",
2446
+ "size": "len",
2447
+ "interface_index": 1,
2448
+ "tests": [
2449
+ ]
2450
+ },
2451
+ {
2452
+ "name": "b",
2453
+ "kind": "input",
2454
+ "type": "buffer(uint64)",
2455
+ "size": "len",
2456
+ "interface_index": 2,
2457
+ "tests": [
2458
+ ]
2459
+ },
2460
+ {
2461
+ "name": "out",
2462
+ "kind": "output",
2463
+ "type": "buffer(uint64)",
2464
+ "size": "len",
2465
+ "tests": [
2466
+ ]
2467
+ }
2468
+ ],
2469
+ "return": {
2470
+ "type": "void",
2471
+ "tests": []
2472
+ }
2473
+ },
2474
+ "sub": {
2475
+ "module": "Hacl_Bignum64",
2476
+ "name": "sub_packed",
2477
+ "args": [{
2478
+ "name": "len",
2479
+ "kind": "input",
2480
+ "type": "uint32",
2481
+ "tests": [
2482
+ ]
2483
+ },
2484
+ {
2485
+ "name": "a",
2486
+ "kind": "input",
2487
+ "type": "buffer(uint64)",
2488
+ "size": "len",
2489
+ "interface_index": 0,
2490
+ "tests": [
2491
+ ]
2492
+ },
2493
+ {
2494
+ "name": "b",
2495
+ "kind": "input",
2496
+ "type": "buffer(uint64)",
2497
+ "size": "len",
2498
+ "interface_index": 1,
2499
+ "tests": [
2500
+ ]
2501
+ },
2502
+ {
2503
+ "name": "out",
2504
+ "kind": "output",
2505
+ "type": "buffer(uint64)",
2506
+ "size": "len",
2507
+ "tests": [
2508
+ ]
2509
+ }
2510
+ ],
2511
+ "return": {
2512
+ "type": "uint64",
2513
+ "tests": []
2514
+ }
2515
+ },
2516
+ "sub_mod": {
2517
+ "module": "Hacl_Bignum64",
2518
+ "name": "sub_mod",
2519
+ "args": [{
2520
+ "name": "len",
2521
+ "kind": "input",
2522
+ "type": "uint32",
2523
+ "tests": [
2524
+ ]
2525
+ },
2526
+ {
2527
+ "name": "n",
2528
+ "kind": "input",
2529
+ "type": "buffer(uint64)",
2530
+ "size": "len",
2531
+ "interface_index": 0,
2532
+ "tests": [
2533
+ ]
2534
+ },
2535
+ {
2536
+ "name": "a",
2537
+ "kind": "input",
2538
+ "type": "buffer(uint64)",
2539
+ "size": "len",
2540
+ "interface_index": 1,
2541
+ "tests": [
2542
+ ]
2543
+ },
2544
+ {
2545
+ "name": "b",
2546
+ "kind": "input",
2547
+ "type": "buffer(uint64)",
2548
+ "size": "len",
2549
+ "interface_index": 2,
2550
+ "tests": [
2551
+ ]
2552
+ },
2553
+ {
2554
+ "name": "out",
2555
+ "kind": "output",
2556
+ "type": "buffer(uint64)",
2557
+ "size": "len",
2558
+ "tests": [
2559
+ ]
2560
+ }
2561
+ ],
2562
+ "return": {
2563
+ "type": "void",
2564
+ "tests": []
2565
+ }
2566
+ },
2567
+ "mul": {
2568
+ "module": "Hacl_Bignum64",
2569
+ "name": "mul",
2570
+ "args": [{
2571
+ "name": "len",
2572
+ "kind": "input",
2573
+ "type": "uint32",
2574
+ "tests": [
2575
+ ]
2576
+ },
2577
+ {
2578
+ "name": "a",
2579
+ "kind": "input",
2580
+ "type": "buffer(uint64)",
2581
+ "size": "len",
2582
+ "interface_index": 0,
2583
+ "tests": [
2584
+ ]
2585
+ },
2586
+ {
2587
+ "name": "b",
2588
+ "kind": "input",
2589
+ "type": "buffer(uint64)",
2590
+ "size": "len",
2591
+ "interface_index": 1,
2592
+ "tests": [
2593
+ ]
2594
+ },
2595
+ {
2596
+ "name": "out",
2597
+ "kind": "output",
2598
+ "type": "buffer(uint64)",
2599
+ "size": "len*2",
2600
+ "tests": [
2601
+ ]
2602
+ }
2603
+ ],
2604
+ "return": {
2605
+ "type": "void",
2606
+ "tests": []
2607
+ }
2608
+ },
2609
+ "sqr": {
2610
+ "module": "Hacl_Bignum64",
2611
+ "name": "sqr",
2612
+ "args": [{
2613
+ "name": "len",
2614
+ "kind": "input",
2615
+ "type": "uint32",
2616
+ "tests": [
2617
+ ]
2618
+ },
2619
+ {
2620
+ "name": "a",
2621
+ "kind": "input",
2622
+ "type": "buffer(uint64)",
2623
+ "size": "len",
2624
+ "interface_index": 0,
2625
+ "tests": [
2626
+ ]
2627
+ },
2628
+ {
2629
+ "name": "out",
2630
+ "kind": "output",
2631
+ "type": "buffer(uint64)",
2632
+ "size": "len*2",
2633
+ "tests": [
2634
+ ]
2635
+ }
2636
+ ],
2637
+ "return": {
2638
+ "type": "void",
2639
+ "tests": []
2640
+ }
2641
+ },
2642
+ "mod": {
2643
+ "module": "Hacl_Bignum64",
2644
+ "name": "mod",
2645
+ "args": [{
2646
+ "name": "len",
2647
+ "kind": "input",
2648
+ "type": "uint32",
2649
+ "tests": [
2650
+ ]
2651
+ },
2652
+ {
2653
+ "name": "n",
2654
+ "kind": "input",
2655
+ "type": "buffer(uint64)",
2656
+ "size": "len",
2657
+ "interface_index": 0,
2658
+ "tests": []
2659
+ },
2660
+ {
2661
+ "name": "a",
2662
+ "kind": "input",
2663
+ "type": "buffer(uint64)",
2664
+ "size": "len*2",
2665
+ "interface_index": 1,
2666
+ "tests": []
2667
+ },
2668
+ {
2669
+ "name": "out",
2670
+ "kind": "output",
2671
+ "type": "buffer(uint64)",
2672
+ "size": "len",
2673
+ "tests": []
2674
+ }
2675
+ ],
2676
+ "return": {
2677
+ "type": "void",
2678
+ "tests": []
2679
+ }
2680
+ },
2681
+ "mod_exp_consttime": {
2682
+ "module": "Hacl_Bignum64",
2683
+ "name": "mod_exp_consttime",
2684
+ "args": [{
2685
+ "name": "len",
2686
+ "kind": "input",
2687
+ "type": "uint32",
2688
+ "tests": [
2689
+ ]
2690
+ },
2691
+ {
2692
+ "name": "n",
2693
+ "kind": "input",
2694
+ "type": "buffer(uint64)",
2695
+ "size": "len",
2696
+ "interface_index": 0,
2697
+ "tests": []
2698
+ },
2699
+ {
2700
+ "name": "a",
2701
+ "kind": "input",
2702
+ "type": "buffer(uint64)",
2703
+ "size": "len",
2704
+ "interface_index": 1,
2705
+ "tests": [
2706
+ ]
2707
+ },
2708
+ {
2709
+ "name": "bBits",
2710
+ "kind": "input",
2711
+ "type": "uint32",
2712
+ "tests": [
2713
+ ]
2714
+ },
2715
+ {
2716
+ "name": "b",
2717
+ "kind": "input",
2718
+ "type": "buffer(uint64)",
2719
+ "size": "bBits/64",
2720
+ "interface_index": 2,
2721
+ "tests": [
2722
+ ]
2723
+ },
2724
+ {
2725
+ "name": "out",
2726
+ "kind": "output",
2727
+ "type": "buffer(uint64)",
2728
+ "size": "len",
2729
+ "tests": [
2730
+ ]
2731
+ }
2732
+ ],
2733
+ "return": {
2734
+ "type": "void",
2735
+ "tests": []
2736
+ }
2737
+ },
2738
+ "mod_exp_vartime": {
2739
+ "module": "Hacl_Bignum64",
2740
+ "name": "mod_exp_vartime",
2741
+ "args": [{
2742
+ "name": "len",
2743
+ "kind": "input",
2744
+ "type": "uint32",
2745
+ "tests": [
2746
+ ]
2747
+ },
2748
+ {
2749
+ "name": "n",
2750
+ "kind": "input",
2751
+ "type": "buffer(uint64)",
2752
+ "size": "len",
2753
+ "interface_index": 0,
2754
+ "tests": []
2755
+ },
2756
+ {
2757
+ "name": "a",
2758
+ "kind": "input",
2759
+ "type": "buffer(uint64)",
2760
+ "size": "len",
2761
+ "interface_index": 1,
2762
+ "tests": [
2763
+ ]
2764
+ },
2765
+ {
2766
+ "name": "bBits",
2767
+ "kind": "input",
2768
+ "type": "uint32",
2769
+ "tests": [
2770
+ ]
2771
+ },
2772
+ {
2773
+ "name": "b",
2774
+ "kind": "input",
2775
+ "type": "buffer(uint64)",
2776
+ "size": "bBits/64",
2777
+ "interface_index": 2,
2778
+ "tests": [
2779
+ ]
2780
+ },
2781
+ {
2782
+ "name": "out",
2783
+ "kind": "output",
2784
+ "type": "buffer(uint64)",
2785
+ "size": "len",
2786
+ "tests": [
2787
+ ]
2788
+ }
2789
+ ],
2790
+ "return": {
2791
+ "type": "void",
2792
+ "tests": []
2793
+ }
2794
+ },
2795
+ "mod_inv_prime_vartime": {
2796
+ "module": "Hacl_Bignum64",
2797
+ "name": "mod_inv_prime_vartime",
2798
+ "args": [{
2799
+ "name": "len",
2800
+ "kind": "input",
2801
+ "type": "uint32",
2802
+ "tests": [
2803
+ ]
2804
+ },
2805
+ {
2806
+ "name": "n",
2807
+ "kind": "input",
2808
+ "type": "buffer(uint64)",
2809
+ "size": "len",
2810
+ "interface_index": 0,
2811
+ "tests": []
2812
+ },
2813
+ {
2814
+ "name": "a",
2815
+ "kind": "input",
2816
+ "type": "buffer(uint64)",
2817
+ "size": "len",
2818
+ "interface_index": 1,
2819
+ "tests": [
2820
+ ]
2821
+ },
2822
+ {
2823
+ "name": "out",
2824
+ "kind": "output",
2825
+ "type": "buffer(uint64)",
2826
+ "size": "len",
2827
+ "tests": [
2828
+ ]
2829
+ }
2830
+ ],
2831
+ "return": {
2832
+ "type": "void",
2833
+ "tests": []
2834
+ }
2835
+ },
2836
+ "mont_ctx_init": {
2837
+ "module": "Hacl_Bignum64",
2838
+ "name": "mont_ctx_init",
2839
+ "args": [{
2840
+ "name": "len",
2841
+ "kind": "input",
2842
+ "type": "uint32",
2843
+ "tests": [
2844
+ ]
2845
+ },
2846
+ {
2847
+ "name": "limbs",
2848
+ "kind": "input",
2849
+ "type": "buffer(uint64)",
2850
+ "size": "len",
2851
+ "interface_index": 0,
2852
+ "tests": [
2853
+ ]
2854
+ }
2855
+ ],
2856
+ "return": {
2857
+ "kind": "layout",
2858
+ "type": "Hacl_Bignum_MontArithmetic_bn_mont_ctx_u64"
2859
+ }
2860
+ },
2861
+ "mod_precomp": {
2862
+ "module": "Hacl_Bignum64",
2863
+ "name": "mod_precomp",
2864
+ "args": [{
2865
+ "name": "ctx",
2866
+ "kind": "input",
2867
+ "type": "Hacl_Bignum_MontArithmetic_bn_mont_ctx_u64",
2868
+ "interface_index": 0,
2869
+ "tests": []
2870
+ },
2871
+ {
2872
+ "name": "a",
2873
+ "kind": "input",
2874
+ "type": "buffer(uint64)",
2875
+ "size": "len*2",
2876
+ "interface_index": 1,
2877
+ "tests": []
2878
+ },
2879
+ {
2880
+ "name": "out",
2881
+ "kind": "output",
2882
+ "type": "buffer(uint64)",
2883
+ "size": "len",
2884
+ "tests": []
2885
+ }
2886
+ ],
2887
+ "return": {
2888
+ "type": "void",
2889
+ "tests": []
2890
+ }
2891
+ },
2892
+ "mod_exp_vartime_precomp": {
2893
+ "module": "Hacl_Bignum64",
2894
+ "name": "mod_exp_vartime_precomp",
2895
+ "args": [{
2896
+ "name": "ctx",
2897
+ "kind": "input",
2898
+ "type": "Hacl_Bignum_MontArithmetic_bn_mont_ctx_u64",
2899
+ "interface_index": 0,
2900
+ "tests": []
2901
+ },
2902
+ {
2903
+ "name": "a",
2904
+ "kind": "input",
2905
+ "type": "buffer(uint64)",
2906
+ "size": "len",
2907
+ "interface_index": 1,
2908
+ "tests": [
2909
+ ]
2910
+ },
2911
+ {
2912
+ "name": "bBits",
2913
+ "kind": "input",
2914
+ "type": "uint32",
2915
+ "tests": [
2916
+ ]
2917
+ },
2918
+ {
2919
+ "name": "b",
2920
+ "kind": "input",
2921
+ "type": "buffer(uint64)",
2922
+ "size": "bBits/64",
2923
+ "interface_index": 2,
2924
+ "tests": [
2925
+ ]
2926
+ },
2927
+ {
2928
+ "name": "out",
2929
+ "kind": "output",
2930
+ "type": "buffer(uint64)",
2931
+ "size": "len",
2932
+ "tests": [
2933
+ ]
2934
+ }
2935
+ ],
2936
+ "return": {
2937
+ "type": "void",
2938
+ "tests": []
2939
+ }
2940
+ },
2941
+ "mod_exp_consttime_precomp": {
2942
+ "module": "Hacl_Bignum64",
2943
+ "name": "mod_exp_consttime_precomp",
2944
+ "args": [{
2945
+ "name": "ctx",
2946
+ "kind": "input",
2947
+ "type": "Hacl_Bignum_MontArithmetic_bn_mont_ctx_u64",
2948
+ "interface_index": 0,
2949
+ "tests": []
2950
+ },
2951
+ {
2952
+ "name": "a",
2953
+ "kind": "input",
2954
+ "type": "buffer(uint64)",
2955
+ "size": "len",
2956
+ "interface_index": 1,
2957
+ "tests": [
2958
+ ]
2959
+ },
2960
+ {
2961
+ "name": "bBits",
2962
+ "kind": "input",
2963
+ "type": "uint32",
2964
+ "tests": [
2965
+ ]
2966
+ },
2967
+ {
2968
+ "name": "b",
2969
+ "kind": "input",
2970
+ "type": "buffer(uint64)",
2971
+ "size": "bBits/64",
2972
+ "interface_index": 2,
2973
+ "tests": [
2974
+ ]
2975
+ },
2976
+ {
2977
+ "name": "out",
2978
+ "kind": "output",
2979
+ "type": "buffer(uint64)",
2980
+ "size": "len",
2981
+ "tests": [
2982
+ ]
2983
+ }
2984
+ ],
2985
+ "return": {
2986
+ "type": "void",
2987
+ "tests": []
2988
+ }
2989
+ },
2990
+ "mod_inv_prime_vartime_precomp": {
2991
+ "module": "Hacl_Bignum64",
2992
+ "name": "mod_inv_prime_vartime_precomp",
2993
+ "args": [{
2994
+ "name": "ctx",
2995
+ "kind": "input",
2996
+ "type": "Hacl_Bignum_MontArithmetic_bn_mont_ctx_u64",
2997
+ "interface_index": 0,
2998
+ "tests": []
2999
+ },
3000
+ {
3001
+ "name": "a",
3002
+ "kind": "input",
3003
+ "type": "buffer(uint64)",
3004
+ "size": "len",
3005
+ "interface_index": 1,
3006
+ "tests": [
3007
+ ]
3008
+ },
3009
+ {
3010
+ "name": "out",
3011
+ "kind": "output",
3012
+ "type": "buffer(uint64)",
3013
+ "size": "len",
3014
+ "tests": [
3015
+ ]
3016
+ }
3017
+ ],
3018
+ "return": {
3019
+ "type": "void",
3020
+ "tests": []
3021
+ }
3022
+ },
3023
+ "new_bn_from_bytes_le": {
3024
+ "module": "Hacl_Bignum64",
3025
+ "name": "new_bn_from_bytes_le",
3026
+ "args": [{
3027
+ "name": "len",
3028
+ "kind": "input",
3029
+ "type": "uint32",
3030
+ "tests": [
3031
+ ]
3032
+ },
3033
+ {
3034
+ "name": "bytes",
3035
+ "kind": "input",
3036
+ "type": "buffer",
3037
+ "size": "len",
3038
+ "interface_index": 0,
3039
+ "tests": [
3040
+ ]
3041
+ }
3042
+ ],
3043
+ "return": {
3044
+ "kind": "layout",
3045
+ "type": "buffer(uint64)"
3046
+ }
3047
+ },
3048
+ "bn_to_bytes_le": {
3049
+ "module": "Hacl_Bignum64",
3050
+ "name": "bn_to_bytes_le",
3051
+ "args": [{
3052
+ "name": "len",
3053
+ "kind": "input",
3054
+ "type": "uint32",
3055
+ "tests": [
3056
+ ]
3057
+ },{
3058
+ "name": "b",
3059
+ "kind": "input",
3060
+ "type": "buffer(uint64)",
3061
+ "size": "len/8",
3062
+ "interface_index": 0,
3063
+ "tests": []
3064
+ },
3065
+ {
3066
+ "name": "out",
3067
+ "kind": "output",
3068
+ "type": "buffer",
3069
+ "size": "len",
3070
+ "tests": []
3071
+ }
3072
+ ],
3073
+ "return": {
3074
+ "type": "void",
3075
+ "tests": []
3076
+ }
3077
+ },
3078
+ "new_bn_from_bytes_be": {
3079
+ "module": "Hacl_Bignum64",
3080
+ "name": "new_bn_from_bytes_be",
3081
+ "args": [{
3082
+ "name": "len",
3083
+ "kind": "input",
3084
+ "type": "uint32",
3085
+ "tests": [
3086
+ ]
3087
+ },
3088
+ {
3089
+ "name": "bytes",
3090
+ "kind": "input",
3091
+ "type": "buffer",
3092
+ "size": "len",
3093
+ "interface_index": 0,
3094
+ "tests": [
3095
+ ]
3096
+ }
3097
+ ],
3098
+ "return": {
3099
+ "kind": "layout",
3100
+ "type": "buffer(uint64)"
3101
+ }
3102
+ },
3103
+ "bn_to_bytes_be": {
3104
+ "module": "Hacl_Bignum64",
3105
+ "name": "bn_to_bytes_be",
3106
+ "args": [{
3107
+ "name": "len",
3108
+ "kind": "input",
3109
+ "type": "uint32",
3110
+ "tests": [
3111
+ ]
3112
+ },{
3113
+ "name": "b",
3114
+ "kind": "input",
3115
+ "type": "buffer(uint64)",
3116
+ "size": "len/8",
3117
+ "interface_index": 0,
3118
+ "tests": []
3119
+ },
3120
+ {
3121
+ "name": "out",
3122
+ "kind": "output",
3123
+ "type": "buffer",
3124
+ "size": "len",
3125
+ "tests": []
3126
+ }
3127
+ ],
3128
+ "return": {
3129
+ "type": "void",
3130
+ "tests": []
3131
+ }
3132
+ },
3133
+ "lt_mask": {
3134
+ "module": "Hacl_Bignum64",
3135
+ "name": "lt_mask_packed",
3136
+ "args": [{
3137
+ "name": "len",
3138
+ "kind": "input",
3139
+ "type": "uint32",
3140
+ "tests": [
3141
+ ]
3142
+ },{
3143
+ "name": "a",
3144
+ "kind": "input",
3145
+ "type": "buffer(uint64)",
3146
+ "size": "len",
3147
+ "interface_index": 0,
3148
+ "tests": []
3149
+ },{
3150
+ "name": "b",
3151
+ "kind": "input",
3152
+ "type": "buffer(uint64)",
3153
+ "size": "len",
3154
+ "interface_index": 1,
3155
+ "tests": []
3156
+ }
3157
+ ],
3158
+ "return": {
3159
+ "type": "uint64",
3160
+ "tests": []
3161
+ }
3162
+ },
3163
+ "eq_mask": {
3164
+ "module": "Hacl_Bignum64",
3165
+ "name": "eq_mask_packed",
3166
+ "args": [{
3167
+ "name": "len",
3168
+ "kind": "input",
3169
+ "type": "uint32",
3170
+ "tests": [
3171
+ ]
3172
+ },{
3173
+ "name": "a",
3174
+ "kind": "input",
3175
+ "type": "buffer(uint64)",
3176
+ "size": "len",
3177
+ "interface_index": 0,
3178
+ "tests": []
3179
+ },{
3180
+ "name": "b",
3181
+ "kind": "input",
3182
+ "type": "buffer(uint64)",
3183
+ "size": "len",
3184
+ "interface_index": 1,
3185
+ "tests": []
3186
+ }
3187
+ ],
3188
+ "return": {
3189
+ "type": "uint64",
3190
+ "tests": []
3191
+ }
3192
+ }
3193
+ },
3194
+ "Bignum_Montgomery_64": {
3195
+ "field_modulus_check": {
3196
+ "module": "Hacl_GenericField64",
3197
+ "name": "field_modulus_check",
3198
+ "args": [{
3199
+ "name": "len",
3200
+ "kind": "input",
3201
+ "type": "uint32",
3202
+ "tests": [
3203
+ ]
3204
+ },
3205
+ {
3206
+ "name": "limbs",
3207
+ "kind": "input",
3208
+ "type": "buffer(uint64)",
3209
+ "size": "len",
3210
+ "interface_index": 0,
3211
+ "tests": [
3212
+ ]
3213
+ }
3214
+ ],
3215
+ "return": {
3216
+ "type": "bool"
3217
+ }
3218
+ },
3219
+ "field_get_len": {
3220
+ "module": "Hacl_GenericField64",
3221
+ "name": "field_get_len",
3222
+ "args": [{
3223
+ "name": "ctx",
3224
+ "kind": "input",
3225
+ "type": "Hacl_Bignum_MontArithmetic_bn_mont_ctx_u64",
3226
+ "interface_index": 0,
3227
+ "tests": [
3228
+ ]
3229
+ }
3230
+ ],
3231
+ "return": {
3232
+ "type": "uint32"
3233
+ }
3234
+ },
3235
+ "field_init": {
3236
+ "module": "Hacl_GenericField64",
3237
+ "name": "field_init",
3238
+ "args": [{
3239
+ "name": "len",
3240
+ "kind": "input",
3241
+ "type": "uint32",
3242
+ "tests": [
3243
+ ]
3244
+ },
3245
+ {
3246
+ "name": "limbs",
3247
+ "kind": "input",
3248
+ "type": "buffer(uint64)",
3249
+ "size": "len",
3250
+ "interface_index": 0,
3251
+ "tests": [
3252
+ ]
3253
+ }
3254
+ ],
3255
+ "return": {
3256
+ "kind": "layout",
3257
+ "type": "Hacl_Bignum_MontArithmetic_bn_mont_ctx_u64"
3258
+ }
3259
+ },
3260
+ "to_field": {
3261
+ "module": "Hacl_GenericField64",
3262
+ "name": "to_field",
3263
+ "args": [{
3264
+ "name": "ctx",
3265
+ "kind": "input",
3266
+ "type": "Hacl_Bignum_MontArithmetic_bn_mont_ctx_u64",
3267
+ "interface_index": 0,
3268
+ "tests": [
3269
+ ]
3270
+ },
3271
+ {
3272
+ "name": "a",
3273
+ "kind": "input",
3274
+ "type": "buffer(uint64)",
3275
+ "size": "len",
3276
+ "interface_index": 1,
3277
+ "tests": [
3278
+ ]
3279
+ },
3280
+ {
3281
+ "name": "aM",
3282
+ "kind": "output",
3283
+ "type": "buffer(uint64)",
3284
+ "size": "len",
3285
+ "tests": [
3286
+ ]
3287
+ }
3288
+ ],
3289
+ "return": {
3290
+ "type": "void",
3291
+ "tests": []
3292
+ }
3293
+ },
3294
+ "from_field": {
3295
+ "module": "Hacl_GenericField64",
3296
+ "name": "from_field",
3297
+ "args": [{
3298
+ "name": "ctx",
3299
+ "kind": "input",
3300
+ "type": "Hacl_Bignum_MontArithmetic_bn_mont_ctx_u64",
3301
+ "interface_index": 0,
3302
+ "tests": [
3303
+ ]
3304
+ },
3305
+ {
3306
+ "name": "aM",
3307
+ "kind": "input",
3308
+ "type": "buffer(uint64)",
3309
+ "size": "len",
3310
+ "interface_index": 1,
3311
+ "tests": [
3312
+ ]
3313
+ },
3314
+ {
3315
+ "name": "a",
3316
+ "kind": "output",
3317
+ "type": "buffer(uint64)",
3318
+ "size": "len",
3319
+ "tests": [
3320
+ ]
3321
+ }
3322
+ ],
3323
+ "return": {
3324
+ "type": "void",
3325
+ "tests": []
3326
+ }
3327
+ },
3328
+ "mul": {
3329
+ "module": "Hacl_GenericField64",
3330
+ "name": "mul",
3331
+ "args": [{
3332
+ "name": "ctx",
3333
+ "kind": "input",
3334
+ "type": "Hacl_Bignum_MontArithmetic_bn_mont_ctx_u64",
3335
+ "interface_index": 0,
3336
+ "tests": [
3337
+ ]
3338
+ },
3339
+ {
3340
+ "name": "a",
3341
+ "kind": "input",
3342
+ "type": "buffer(uint64)",
3343
+ "size": "len",
3344
+ "interface_index": 1,
3345
+ "tests": [
3346
+ ]
3347
+ },
3348
+ {
3349
+ "name": "b",
3350
+ "kind": "input",
3351
+ "type": "buffer(uint64)",
3352
+ "size": "len",
3353
+ "interface_index": 2,
3354
+ "tests": [
3355
+ ]
3356
+ },
3357
+ {
3358
+ "name": "out",
3359
+ "kind": "output",
3360
+ "type": "buffer(uint64)",
3361
+ "size": "len",
3362
+ "tests": [
3363
+ ]
3364
+ }
3365
+ ],
3366
+ "return": {
3367
+ "type": "void",
3368
+ "tests": []
3369
+ }
3370
+ },
3371
+ "add": {
3372
+ "module": "Hacl_GenericField64",
3373
+ "name": "add",
3374
+ "args": [{
3375
+ "name": "ctx",
3376
+ "kind": "input",
3377
+ "type": "Hacl_Bignum_MontArithmetic_bn_mont_ctx_u64",
3378
+ "interface_index": 0,
3379
+ "tests": [
3380
+ ]
3381
+ },
3382
+ {
3383
+ "name": "a",
3384
+ "kind": "input",
3385
+ "type": "buffer(uint64)",
3386
+ "size": "len",
3387
+ "interface_index": 1,
3388
+ "tests": [
3389
+ ]
3390
+ },
3391
+ {
3392
+ "name": "b",
3393
+ "kind": "input",
3394
+ "type": "buffer(uint64)",
3395
+ "size": "len",
3396
+ "interface_index": 2,
3397
+ "tests": [
3398
+ ]
3399
+ },
3400
+ {
3401
+ "name": "out",
3402
+ "kind": "output",
3403
+ "type": "buffer(uint64)",
3404
+ "size": "len",
3405
+ "tests": [
3406
+ ]
3407
+ }
3408
+ ],
3409
+ "return": {
3410
+ "type": "void",
3411
+ "tests": []
3412
+ }
3413
+ },
3414
+ "sub": {
3415
+ "module": "Hacl_GenericField64",
3416
+ "name": "sub",
3417
+ "args": [{
3418
+ "name": "ctx",
3419
+ "kind": "input",
3420
+ "type": "Hacl_Bignum_MontArithmetic_bn_mont_ctx_u64",
3421
+ "interface_index": 0,
3422
+ "tests": [
3423
+ ]
3424
+ },
3425
+ {
3426
+ "name": "a",
3427
+ "kind": "input",
3428
+ "type": "buffer(uint64)",
3429
+ "size": "len",
3430
+ "interface_index": 1,
3431
+ "tests": [
3432
+ ]
3433
+ },
3434
+ {
3435
+ "name": "b",
3436
+ "kind": "input",
3437
+ "type": "buffer(uint64)",
3438
+ "size": "len",
3439
+ "interface_index": 2,
3440
+ "tests": [
3441
+ ]
3442
+ },
3443
+ {
3444
+ "name": "out",
3445
+ "kind": "output",
3446
+ "type": "buffer(uint64)",
3447
+ "size": "len",
3448
+ "tests": [
3449
+ ]
3450
+ }
3451
+ ],
3452
+ "return": {
3453
+ "type": "void",
3454
+ "tests": []
3455
+ }
3456
+ },
3457
+ "sqr": {
3458
+ "module": "Hacl_GenericField64",
3459
+ "name": "sqr",
3460
+ "args": [{
3461
+ "name": "ctx",
3462
+ "kind": "input",
3463
+ "type": "Hacl_Bignum_MontArithmetic_bn_mont_ctx_u64",
3464
+ "interface_index": 0,
3465
+ "tests": [
3466
+ ]
3467
+ },
3468
+ {
3469
+ "name": "a",
3470
+ "kind": "input",
3471
+ "type": "buffer(uint64)",
3472
+ "size": "len",
3473
+ "interface_index": 1,
3474
+ "tests": [
3475
+ ]
3476
+ },
3477
+ {
3478
+ "name": "out",
3479
+ "kind": "output",
3480
+ "type": "buffer(uint64)",
3481
+ "size": "len",
3482
+ "tests": [
3483
+ ]
3484
+ }
3485
+ ],
3486
+ "return": {
3487
+ "type": "void",
3488
+ "tests": []
3489
+ }
3490
+ },
3491
+ "inverse": {
3492
+ "module": "Hacl_GenericField64",
3493
+ "name": "inverse",
3494
+ "args": [{
3495
+ "name": "ctx",
3496
+ "kind": "input",
3497
+ "type": "Hacl_Bignum_MontArithmetic_bn_mont_ctx_u64",
3498
+ "interface_index": 0,
3499
+ "tests": [
3500
+ ]
3501
+ },
3502
+ {
3503
+ "name": "a",
3504
+ "kind": "input",
3505
+ "type": "buffer(uint64)",
3506
+ "size": "len",
3507
+ "interface_index": 1,
3508
+ "tests": [
3509
+ ]
3510
+ },
3511
+ {
3512
+ "name": "out",
3513
+ "kind": "output",
3514
+ "type": "buffer(uint64)",
3515
+ "size": "len",
3516
+ "tests": [
3517
+ ]
3518
+ }
3519
+ ],
3520
+ "return": {
3521
+ "type": "void",
3522
+ "tests": []
3523
+ }
3524
+ },
3525
+ "exp_consttime": {
3526
+ "module": "Hacl_GenericField64",
3527
+ "name": "exp_consttime",
3528
+ "args": [{
3529
+ "name": "ctx",
3530
+ "kind": "input",
3531
+ "type": "Hacl_Bignum_MontArithmetic_bn_mont_ctx_u64",
3532
+ "interface_index": 0,
3533
+ "tests": [
3534
+ ]
3535
+ },
3536
+ {
3537
+ "name": "a",
3538
+ "kind": "input",
3539
+ "type": "buffer(uint64)",
3540
+ "size": "len",
3541
+ "interface_index": 1,
3542
+ "tests": [
3543
+ ]
3544
+ },
3545
+ {
3546
+ "name": "bBits",
3547
+ "kind": "input",
3548
+ "type": "uint32",
3549
+ "tests": [
3550
+ ]
3551
+ },
3552
+ {
3553
+ "name": "b",
3554
+ "kind": "input",
3555
+ "type": "buffer(uint64)",
3556
+ "size": "bBits/64",
3557
+ "interface_index": 2,
3558
+ "tests": [
3559
+ ]
3560
+ },
3561
+ {
3562
+ "name": "out",
3563
+ "kind": "output",
3564
+ "type": "buffer(uint64)",
3565
+ "size": "len",
3566
+ "tests": [
3567
+ ]
3568
+ }
3569
+ ],
3570
+ "return": {
3571
+ "type": "void",
3572
+ "tests": []
3573
+ }
3574
+ },
3575
+ "exp_vartime": {
3576
+ "module": "Hacl_GenericField64",
3577
+ "name": "exp_vartime",
3578
+ "args": [{
3579
+ "name": "ctx",
3580
+ "kind": "input",
3581
+ "type": "Hacl_Bignum_MontArithmetic_bn_mont_ctx_u64",
3582
+ "interface_index": 0,
3583
+ "tests": [
3584
+ ]
3585
+ },
3586
+ {
3587
+ "name": "a",
3588
+ "kind": "input",
3589
+ "type": "buffer(uint64)",
3590
+ "size": "len",
3591
+ "interface_index": 1,
3592
+ "tests": [
3593
+ ]
3594
+ },
3595
+ {
3596
+ "name": "bBits",
3597
+ "kind": "input",
3598
+ "type": "uint32",
3599
+ "tests": [
3600
+ ]
3601
+ },
3602
+ {
3603
+ "name": "b",
3604
+ "kind": "input",
3605
+ "type": "buffer(uint64)",
3606
+ "size": "bBits/64",
3607
+ "interface_index": 2,
3608
+ "tests": [
3609
+ ]
3610
+ },
3611
+ {
3612
+ "name": "out",
3613
+ "kind": "output",
3614
+ "type": "buffer(uint64)",
3615
+ "size": "len",
3616
+ "tests": [
3617
+ ]
3618
+ }
3619
+ ],
3620
+ "return": {
3621
+ "type": "void",
3622
+ "tests": []
3623
+ }
3624
+ }
3625
+ },
3626
+ "EverCrypt_Hash": {
3627
+ "hash_len": {
3628
+ "module": "EverCrypt_Hash",
3629
+ "custom_module_name": true,
3630
+ "name": "EverCrypt_Hash_Incremental_hash_len",
3631
+ "args": [{
3632
+ "name": "hash_alg",
3633
+ "kind": "input",
3634
+ "type": "uint32",
3635
+ "interface_index": 0,
3636
+ "tests": [
3637
+ 3
3638
+ ]
3639
+ }
3640
+ ],
3641
+ "return": {
3642
+ "type": "uint32",
3643
+ "tests": [
3644
+ 64
3645
+ ]
3646
+ }
3647
+ },
3648
+ "hash": {
3649
+ "module": "EverCrypt_Hash",
3650
+ "custom_module_name": true,
3651
+ "name": "EverCrypt_Hash_Incremental_hash",
3652
+ "args": [{
3653
+ "name": "hash_alg",
3654
+ "kind": "input",
3655
+ "type": "uint32",
3656
+ "interface_index": 0,
3657
+ "tests": [
3658
+ 3
3659
+ ]
3660
+ },
3661
+ {
3662
+ "name": "hash",
3663
+ "kind": "output",
3664
+ "type": "buffer",
3665
+ "size": "EverCrypt_Hash.hash_len(hash_alg)",
3666
+ "tests": [
3667
+ "ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f"
3668
+ ]
3669
+ },
3670
+ {
3671
+ "name": "input",
3672
+ "kind": "input",
3673
+ "type": "buffer",
3674
+ "size": "input_len",
3675
+ "interface_index": 1,
3676
+ "tests": [
3677
+ "616263"
3678
+ ]
3679
+ },
3680
+ {
3681
+ "name": "input_len",
3682
+ "kind": "input",
3683
+ "type": "uint32"
3684
+ }
3685
+ ],
3686
+ "return": {
3687
+ "type": "void"
3688
+ }
3689
+ },
3690
+ "alg_of_state": {
3691
+ "module": "EverCrypt_Hash",
3692
+ "custom_module_name": true,
3693
+ "name": "EverCrypt_Hash_Incremental_alg_of_state",
3694
+ "args": [{
3695
+ "name": "state",
3696
+ "kind": "input",
3697
+ "type": "EverCrypt_Hash_Incremental_hash_state",
3698
+ "interface_index": 0,
3699
+ "tests": [
3700
+ ]
3701
+ }
3702
+ ],
3703
+ "return": {
3704
+ "type": "uint32",
3705
+ "tests": [
3706
+ ]
3707
+ }
3708
+ },
3709
+ "create": {
3710
+ "module": "EverCrypt_Hash",
3711
+ "custom_module_name": true,
3712
+ "name": "EverCrypt_Hash_Incremental_create_in",
3713
+ "args": [{
3714
+ "name": "hash_alg",
3715
+ "kind": "input",
3716
+ "type": "uint32",
3717
+ "interface_index": 0,
3718
+ "tests": [
3719
+ ]
3720
+ }
3721
+ ],
3722
+ "return": {
3723
+ "kind": "layout",
3724
+ "type": "EverCrypt_Hash_Incremental_hash_state",
3725
+ "tests": [
3726
+ ]
3727
+ }
3728
+ },
3729
+ "update": {
3730
+ "module": "EverCrypt_Hash",
3731
+ "custom_module_name": true,
3732
+ "name": "EverCrypt_Hash_Incremental_update",
3733
+ "args": [{
3734
+ "name": "state",
3735
+ "kind": "output",
3736
+ "type": "EverCrypt_Hash_Incremental_hash_state",
3737
+ "interface_index": 0,
3738
+ "tests": [
3739
+ ]
3740
+ },{
3741
+ "name": "data",
3742
+ "kind": "input",
3743
+ "type": "buffer",
3744
+ "size": "len",
3745
+ "interface_index": 1,
3746
+ "tests": [
3747
+ ]
3748
+ },{
3749
+ "name": "len",
3750
+ "kind": "input",
3751
+ "type": "uint32"
3752
+ }
3753
+ ],
3754
+ "return": {
3755
+ "type": "uint32",
3756
+ "tests": [
3757
+ ]
3758
+ }
3759
+ },
3760
+ "finish": {
3761
+ "module": "EverCrypt_Hash",
3762
+ "custom_module_name": true,
3763
+ "name": "EverCrypt_Hash_Incremental_finish",
3764
+ "args": [{
3765
+ "name": "state",
3766
+ "kind": "input",
3767
+ "type": "EverCrypt_Hash_Incremental_hash_state",
3768
+ "interface_index": 0,
3769
+ "tests": [
3770
+ ]
3771
+ },{
3772
+ "name": "hash",
3773
+ "kind": "output",
3774
+ "type": "buffer",
3775
+ "size": "EverCrypt_Hash.hash_len(EverCrypt_Hash.alg_of_state(state))",
3776
+ "tests": [
3777
+ ]
3778
+ }
3779
+ ],
3780
+ "return": {
3781
+ "type": "void",
3782
+ "tests": [
3783
+ ]
3784
+ }
3785
+ }
3786
+ }
3787
+ }