Coverage Report

Created: 2025-08-03 07:05

/src/liboqs/src/sig/sig.c
Line
Count
Source (jump to first uncovered line)
1
// SPDX-License-Identifier: MIT
2
3
#include <assert.h>
4
#include <stdlib.h>
5
#if defined(_WIN32)
6
#include <string.h>
7
#define strcasecmp _stricmp
8
#else
9
#include <strings.h>
10
#endif
11
12
#include <oqs/oqs.h>
13
14
6.01k
OQS_API const char *OQS_SIG_alg_identifier(size_t i) {
15
  // EDIT-WHEN-ADDING-SIG
16
6.01k
  const char *a[OQS_SIG_algs_length] = {
17
    ///// OQS_COPY_FROM_UPSTREAM_FRAGMENT_ALG_IDENTIFIER_START
18
6.01k
    OQS_SIG_alg_dilithium_2,
19
6.01k
    OQS_SIG_alg_dilithium_3,
20
6.01k
    OQS_SIG_alg_dilithium_5,
21
6.01k
    OQS_SIG_alg_ml_dsa_44,
22
6.01k
    OQS_SIG_alg_ml_dsa_65,
23
6.01k
    OQS_SIG_alg_ml_dsa_87,
24
6.01k
    OQS_SIG_alg_falcon_512,
25
6.01k
    OQS_SIG_alg_falcon_1024,
26
6.01k
    OQS_SIG_alg_falcon_padded_512,
27
6.01k
    OQS_SIG_alg_falcon_padded_1024,
28
6.01k
    OQS_SIG_alg_sphincs_sha2_128f_simple,
29
6.01k
    OQS_SIG_alg_sphincs_sha2_128s_simple,
30
6.01k
    OQS_SIG_alg_sphincs_sha2_192f_simple,
31
6.01k
    OQS_SIG_alg_sphincs_sha2_192s_simple,
32
6.01k
    OQS_SIG_alg_sphincs_sha2_256f_simple,
33
6.01k
    OQS_SIG_alg_sphincs_sha2_256s_simple,
34
6.01k
    OQS_SIG_alg_sphincs_shake_128f_simple,
35
6.01k
    OQS_SIG_alg_sphincs_shake_128s_simple,
36
6.01k
    OQS_SIG_alg_sphincs_shake_192f_simple,
37
6.01k
    OQS_SIG_alg_sphincs_shake_192s_simple,
38
6.01k
    OQS_SIG_alg_sphincs_shake_256f_simple,
39
6.01k
    OQS_SIG_alg_sphincs_shake_256s_simple,
40
6.01k
    OQS_SIG_alg_mayo_1,
41
6.01k
    OQS_SIG_alg_mayo_2,
42
6.01k
    OQS_SIG_alg_mayo_3,
43
6.01k
    OQS_SIG_alg_mayo_5,
44
6.01k
    OQS_SIG_alg_cross_rsdp_128_balanced,
45
6.01k
    OQS_SIG_alg_cross_rsdp_128_fast,
46
6.01k
    OQS_SIG_alg_cross_rsdp_128_small,
47
6.01k
    OQS_SIG_alg_cross_rsdp_192_balanced,
48
6.01k
    OQS_SIG_alg_cross_rsdp_192_fast,
49
6.01k
    OQS_SIG_alg_cross_rsdp_192_small,
50
6.01k
    OQS_SIG_alg_cross_rsdp_256_balanced,
51
6.01k
    OQS_SIG_alg_cross_rsdp_256_fast,
52
6.01k
    OQS_SIG_alg_cross_rsdp_256_small,
53
6.01k
    OQS_SIG_alg_cross_rsdpg_128_balanced,
54
6.01k
    OQS_SIG_alg_cross_rsdpg_128_fast,
55
6.01k
    OQS_SIG_alg_cross_rsdpg_128_small,
56
6.01k
    OQS_SIG_alg_cross_rsdpg_192_balanced,
57
6.01k
    OQS_SIG_alg_cross_rsdpg_192_fast,
58
6.01k
    OQS_SIG_alg_cross_rsdpg_192_small,
59
6.01k
    OQS_SIG_alg_cross_rsdpg_256_balanced,
60
6.01k
    OQS_SIG_alg_cross_rsdpg_256_fast,
61
6.01k
    OQS_SIG_alg_cross_rsdpg_256_small,
62
6.01k
    OQS_SIG_alg_uov_ov_Is,
63
6.01k
    OQS_SIG_alg_uov_ov_Ip,
64
6.01k
    OQS_SIG_alg_uov_ov_III,
65
6.01k
    OQS_SIG_alg_uov_ov_V,
66
6.01k
    OQS_SIG_alg_uov_ov_Is_pkc,
67
6.01k
    OQS_SIG_alg_uov_ov_Ip_pkc,
68
6.01k
    OQS_SIG_alg_uov_ov_III_pkc,
69
6.01k
    OQS_SIG_alg_uov_ov_V_pkc,
70
6.01k
    OQS_SIG_alg_uov_ov_Is_pkc_skc,
71
6.01k
    OQS_SIG_alg_uov_ov_Ip_pkc_skc,
72
6.01k
    OQS_SIG_alg_uov_ov_III_pkc_skc,
73
6.01k
    OQS_SIG_alg_uov_ov_V_pkc_skc,
74
6.01k
    OQS_SIG_alg_snova_SNOVA_24_5_4,
75
6.01k
    OQS_SIG_alg_snova_SNOVA_24_5_4_SHAKE,
76
6.01k
    OQS_SIG_alg_snova_SNOVA_24_5_4_esk,
77
6.01k
    OQS_SIG_alg_snova_SNOVA_24_5_4_SHAKE_esk,
78
6.01k
    OQS_SIG_alg_snova_SNOVA_37_17_2,
79
6.01k
    OQS_SIG_alg_snova_SNOVA_25_8_3,
80
6.01k
    OQS_SIG_alg_snova_SNOVA_56_25_2,
81
6.01k
    OQS_SIG_alg_snova_SNOVA_49_11_3,
82
6.01k
    OQS_SIG_alg_snova_SNOVA_37_8_4,
83
6.01k
    OQS_SIG_alg_snova_SNOVA_24_5_5,
84
6.01k
    OQS_SIG_alg_snova_SNOVA_60_10_4,
85
6.01k
    OQS_SIG_alg_snova_SNOVA_29_6_5,///// OQS_COPY_FROM_UPSTREAM_FRAGMENT_ALG_IDENTIFIER_END
86
6.01k
  };
87
6.01k
  if (i >= OQS_SIG_algs_length) {
88
0
    return NULL;
89
6.01k
  } else {
90
6.01k
    return a[i];
91
6.01k
  }
92
6.01k
}
93
94
0
OQS_API int OQS_SIG_alg_count(void) {
95
0
  return OQS_SIG_algs_length;
96
0
}
97
98
0
OQS_API int OQS_SIG_alg_is_enabled(const char *method_name) {
99
0
  if (method_name == NULL) {
100
0
    return 0;
101
0
  }
102
0
  if (0) {
103
    ///// OQS_COPY_FROM_UPSTREAM_FRAGMENT_ENABLED_CASE_START
104
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_dilithium_2)) {
105
0
#ifdef OQS_ENABLE_SIG_dilithium_2
106
0
    return 1;
107
#else
108
    return 0;
109
#endif
110
111
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_dilithium_3)) {
112
0
#ifdef OQS_ENABLE_SIG_dilithium_3
113
0
    return 1;
114
#else
115
    return 0;
116
#endif
117
118
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_dilithium_5)) {
119
0
#ifdef OQS_ENABLE_SIG_dilithium_5
120
0
    return 1;
121
#else
122
    return 0;
123
#endif
124
125
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_ml_dsa_44)) {
126
0
#ifdef OQS_ENABLE_SIG_ml_dsa_44
127
0
    return 1;
128
#else
129
    return 0;
130
#endif
131
132
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_ml_dsa_65)) {
133
0
#ifdef OQS_ENABLE_SIG_ml_dsa_65
134
0
    return 1;
135
#else
136
    return 0;
137
#endif
138
139
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_ml_dsa_87)) {
140
0
#ifdef OQS_ENABLE_SIG_ml_dsa_87
141
0
    return 1;
142
#else
143
    return 0;
144
#endif
145
146
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_falcon_512)) {
147
0
#ifdef OQS_ENABLE_SIG_falcon_512
148
0
    return 1;
149
#else
150
    return 0;
151
#endif
152
153
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_falcon_1024)) {
154
0
#ifdef OQS_ENABLE_SIG_falcon_1024
155
0
    return 1;
156
#else
157
    return 0;
158
#endif
159
160
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_falcon_padded_512)) {
161
0
#ifdef OQS_ENABLE_SIG_falcon_padded_512
162
0
    return 1;
163
#else
164
    return 0;
165
#endif
166
167
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_falcon_padded_1024)) {
168
0
#ifdef OQS_ENABLE_SIG_falcon_padded_1024
169
0
    return 1;
170
#else
171
    return 0;
172
#endif
173
174
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_sphincs_sha2_128f_simple)) {
175
0
#ifdef OQS_ENABLE_SIG_sphincs_sha2_128f_simple
176
0
    return 1;
177
#else
178
    return 0;
179
#endif
180
181
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_sphincs_sha2_128s_simple)) {
182
0
#ifdef OQS_ENABLE_SIG_sphincs_sha2_128s_simple
183
0
    return 1;
184
#else
185
    return 0;
186
#endif
187
188
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_sphincs_sha2_192f_simple)) {
189
0
#ifdef OQS_ENABLE_SIG_sphincs_sha2_192f_simple
190
0
    return 1;
191
#else
192
    return 0;
193
#endif
194
195
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_sphincs_sha2_192s_simple)) {
196
0
#ifdef OQS_ENABLE_SIG_sphincs_sha2_192s_simple
197
0
    return 1;
198
#else
199
    return 0;
200
#endif
201
202
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_sphincs_sha2_256f_simple)) {
203
0
#ifdef OQS_ENABLE_SIG_sphincs_sha2_256f_simple
204
0
    return 1;
205
#else
206
    return 0;
207
#endif
208
209
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_sphincs_sha2_256s_simple)) {
210
0
#ifdef OQS_ENABLE_SIG_sphincs_sha2_256s_simple
211
0
    return 1;
212
#else
213
    return 0;
214
#endif
215
216
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_sphincs_shake_128f_simple)) {
217
0
#ifdef OQS_ENABLE_SIG_sphincs_shake_128f_simple
218
0
    return 1;
219
#else
220
    return 0;
221
#endif
222
223
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_sphincs_shake_128s_simple)) {
224
0
#ifdef OQS_ENABLE_SIG_sphincs_shake_128s_simple
225
0
    return 1;
226
#else
227
    return 0;
228
#endif
229
230
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_sphincs_shake_192f_simple)) {
231
0
#ifdef OQS_ENABLE_SIG_sphincs_shake_192f_simple
232
0
    return 1;
233
#else
234
    return 0;
235
#endif
236
237
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_sphincs_shake_192s_simple)) {
238
0
#ifdef OQS_ENABLE_SIG_sphincs_shake_192s_simple
239
0
    return 1;
240
#else
241
    return 0;
242
#endif
243
244
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_sphincs_shake_256f_simple)) {
245
0
#ifdef OQS_ENABLE_SIG_sphincs_shake_256f_simple
246
0
    return 1;
247
#else
248
    return 0;
249
#endif
250
251
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_sphincs_shake_256s_simple)) {
252
0
#ifdef OQS_ENABLE_SIG_sphincs_shake_256s_simple
253
0
    return 1;
254
#else
255
    return 0;
256
#endif
257
258
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_mayo_1)) {
259
0
#ifdef OQS_ENABLE_SIG_mayo_1
260
0
    return 1;
261
#else
262
    return 0;
263
#endif
264
265
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_mayo_2)) {
266
0
#ifdef OQS_ENABLE_SIG_mayo_2
267
0
    return 1;
268
#else
269
    return 0;
270
#endif
271
272
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_mayo_3)) {
273
0
#ifdef OQS_ENABLE_SIG_mayo_3
274
0
    return 1;
275
#else
276
    return 0;
277
#endif
278
279
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_mayo_5)) {
280
0
#ifdef OQS_ENABLE_SIG_mayo_5
281
0
    return 1;
282
#else
283
    return 0;
284
#endif
285
286
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdp_128_balanced)) {
287
0
#ifdef OQS_ENABLE_SIG_cross_rsdp_128_balanced
288
0
    return 1;
289
#else
290
    return 0;
291
#endif
292
293
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdp_128_fast)) {
294
0
#ifdef OQS_ENABLE_SIG_cross_rsdp_128_fast
295
0
    return 1;
296
#else
297
    return 0;
298
#endif
299
300
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdp_128_small)) {
301
0
#ifdef OQS_ENABLE_SIG_cross_rsdp_128_small
302
0
    return 1;
303
#else
304
    return 0;
305
#endif
306
307
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdp_192_balanced)) {
308
0
#ifdef OQS_ENABLE_SIG_cross_rsdp_192_balanced
309
0
    return 1;
310
#else
311
    return 0;
312
#endif
313
314
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdp_192_fast)) {
315
0
#ifdef OQS_ENABLE_SIG_cross_rsdp_192_fast
316
0
    return 1;
317
#else
318
    return 0;
319
#endif
320
321
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdp_192_small)) {
322
0
#ifdef OQS_ENABLE_SIG_cross_rsdp_192_small
323
0
    return 1;
324
#else
325
    return 0;
326
#endif
327
328
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdp_256_balanced)) {
329
0
#ifdef OQS_ENABLE_SIG_cross_rsdp_256_balanced
330
0
    return 1;
331
#else
332
    return 0;
333
#endif
334
335
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdp_256_fast)) {
336
0
#ifdef OQS_ENABLE_SIG_cross_rsdp_256_fast
337
0
    return 1;
338
#else
339
    return 0;
340
#endif
341
342
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdp_256_small)) {
343
0
#ifdef OQS_ENABLE_SIG_cross_rsdp_256_small
344
0
    return 1;
345
#else
346
    return 0;
347
#endif
348
349
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdpg_128_balanced)) {
350
0
#ifdef OQS_ENABLE_SIG_cross_rsdpg_128_balanced
351
0
    return 1;
352
#else
353
    return 0;
354
#endif
355
356
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdpg_128_fast)) {
357
0
#ifdef OQS_ENABLE_SIG_cross_rsdpg_128_fast
358
0
    return 1;
359
#else
360
    return 0;
361
#endif
362
363
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdpg_128_small)) {
364
0
#ifdef OQS_ENABLE_SIG_cross_rsdpg_128_small
365
0
    return 1;
366
#else
367
    return 0;
368
#endif
369
370
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdpg_192_balanced)) {
371
0
#ifdef OQS_ENABLE_SIG_cross_rsdpg_192_balanced
372
0
    return 1;
373
#else
374
    return 0;
375
#endif
376
377
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdpg_192_fast)) {
378
0
#ifdef OQS_ENABLE_SIG_cross_rsdpg_192_fast
379
0
    return 1;
380
#else
381
    return 0;
382
#endif
383
384
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdpg_192_small)) {
385
0
#ifdef OQS_ENABLE_SIG_cross_rsdpg_192_small
386
0
    return 1;
387
#else
388
    return 0;
389
#endif
390
391
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdpg_256_balanced)) {
392
0
#ifdef OQS_ENABLE_SIG_cross_rsdpg_256_balanced
393
0
    return 1;
394
#else
395
    return 0;
396
#endif
397
398
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdpg_256_fast)) {
399
0
#ifdef OQS_ENABLE_SIG_cross_rsdpg_256_fast
400
0
    return 1;
401
#else
402
    return 0;
403
#endif
404
405
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdpg_256_small)) {
406
0
#ifdef OQS_ENABLE_SIG_cross_rsdpg_256_small
407
0
    return 1;
408
#else
409
    return 0;
410
#endif
411
412
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_uov_ov_Is)) {
413
0
#ifdef OQS_ENABLE_SIG_uov_ov_Is
414
0
    return 1;
415
#else
416
    return 0;
417
#endif
418
419
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_uov_ov_Ip)) {
420
0
#ifdef OQS_ENABLE_SIG_uov_ov_Ip
421
0
    return 1;
422
#else
423
    return 0;
424
#endif
425
426
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_uov_ov_III)) {
427
0
#ifdef OQS_ENABLE_SIG_uov_ov_III
428
0
    return 1;
429
#else
430
    return 0;
431
#endif
432
433
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_uov_ov_V)) {
434
0
#ifdef OQS_ENABLE_SIG_uov_ov_V
435
0
    return 1;
436
#else
437
    return 0;
438
#endif
439
440
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_uov_ov_Is_pkc)) {
441
0
#ifdef OQS_ENABLE_SIG_uov_ov_Is_pkc
442
0
    return 1;
443
#else
444
    return 0;
445
#endif
446
447
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_uov_ov_Ip_pkc)) {
448
0
#ifdef OQS_ENABLE_SIG_uov_ov_Ip_pkc
449
0
    return 1;
450
#else
451
    return 0;
452
#endif
453
454
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_uov_ov_III_pkc)) {
455
0
#ifdef OQS_ENABLE_SIG_uov_ov_III_pkc
456
0
    return 1;
457
#else
458
    return 0;
459
#endif
460
461
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_uov_ov_V_pkc)) {
462
0
#ifdef OQS_ENABLE_SIG_uov_ov_V_pkc
463
0
    return 1;
464
#else
465
    return 0;
466
#endif
467
468
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_uov_ov_Is_pkc_skc)) {
469
0
#ifdef OQS_ENABLE_SIG_uov_ov_Is_pkc_skc
470
0
    return 1;
471
#else
472
    return 0;
473
#endif
474
475
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_uov_ov_Ip_pkc_skc)) {
476
0
#ifdef OQS_ENABLE_SIG_uov_ov_Ip_pkc_skc
477
0
    return 1;
478
#else
479
    return 0;
480
#endif
481
482
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_uov_ov_III_pkc_skc)) {
483
0
#ifdef OQS_ENABLE_SIG_uov_ov_III_pkc_skc
484
0
    return 1;
485
#else
486
    return 0;
487
#endif
488
489
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_uov_ov_V_pkc_skc)) {
490
0
#ifdef OQS_ENABLE_SIG_uov_ov_V_pkc_skc
491
0
    return 1;
492
#else
493
    return 0;
494
#endif
495
496
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_snova_SNOVA_24_5_4)) {
497
0
#ifdef OQS_ENABLE_SIG_snova_SNOVA_24_5_4
498
0
    return 1;
499
#else
500
    return 0;
501
#endif
502
503
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_snova_SNOVA_24_5_4_SHAKE)) {
504
0
#ifdef OQS_ENABLE_SIG_snova_SNOVA_24_5_4_SHAKE
505
0
    return 1;
506
#else
507
    return 0;
508
#endif
509
510
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_snova_SNOVA_24_5_4_esk)) {
511
0
#ifdef OQS_ENABLE_SIG_snova_SNOVA_24_5_4_esk
512
0
    return 1;
513
#else
514
    return 0;
515
#endif
516
517
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_snova_SNOVA_24_5_4_SHAKE_esk)) {
518
0
#ifdef OQS_ENABLE_SIG_snova_SNOVA_24_5_4_SHAKE_esk
519
0
    return 1;
520
#else
521
    return 0;
522
#endif
523
524
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_snova_SNOVA_37_17_2)) {
525
0
#ifdef OQS_ENABLE_SIG_snova_SNOVA_37_17_2
526
0
    return 1;
527
#else
528
    return 0;
529
#endif
530
531
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_snova_SNOVA_25_8_3)) {
532
0
#ifdef OQS_ENABLE_SIG_snova_SNOVA_25_8_3
533
0
    return 1;
534
#else
535
    return 0;
536
#endif
537
538
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_snova_SNOVA_56_25_2)) {
539
0
#ifdef OQS_ENABLE_SIG_snova_SNOVA_56_25_2
540
0
    return 1;
541
#else
542
    return 0;
543
#endif
544
545
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_snova_SNOVA_49_11_3)) {
546
0
#ifdef OQS_ENABLE_SIG_snova_SNOVA_49_11_3
547
0
    return 1;
548
#else
549
    return 0;
550
#endif
551
552
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_snova_SNOVA_37_8_4)) {
553
0
#ifdef OQS_ENABLE_SIG_snova_SNOVA_37_8_4
554
0
    return 1;
555
#else
556
    return 0;
557
#endif
558
559
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_snova_SNOVA_24_5_5)) {
560
0
#ifdef OQS_ENABLE_SIG_snova_SNOVA_24_5_5
561
0
    return 1;
562
#else
563
    return 0;
564
#endif
565
566
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_snova_SNOVA_60_10_4)) {
567
0
#ifdef OQS_ENABLE_SIG_snova_SNOVA_60_10_4
568
0
    return 1;
569
#else
570
    return 0;
571
#endif
572
573
0
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_snova_SNOVA_29_6_5)) {
574
0
#ifdef OQS_ENABLE_SIG_snova_SNOVA_29_6_5
575
0
    return 1;
576
#else
577
    return 0;
578
#endif
579
///// OQS_COPY_FROM_UPSTREAM_FRAGMENT_ENABLED_CASE_END
580
0
  } else {
581
0
    return 0;
582
0
  }
583
0
}
584
585
6.01k
OQS_API OQS_SIG *OQS_SIG_new(const char *method_name) {
586
6.01k
  if (method_name == NULL) {
587
0
    return NULL;
588
0
  }
589
6.01k
  if (0) {
590
    ///// OQS_COPY_FROM_UPSTREAM_FRAGMENT_NEW_CASE_START
591
6.01k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_dilithium_2)) {
592
137
#ifdef OQS_ENABLE_SIG_dilithium_2
593
137
    return OQS_SIG_dilithium_2_new();
594
#else
595
    return NULL;
596
#endif
597
598
5.87k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_dilithium_3)) {
599
109
#ifdef OQS_ENABLE_SIG_dilithium_3
600
109
    return OQS_SIG_dilithium_3_new();
601
#else
602
    return NULL;
603
#endif
604
605
5.76k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_dilithium_5)) {
606
113
#ifdef OQS_ENABLE_SIG_dilithium_5
607
113
    return OQS_SIG_dilithium_5_new();
608
#else
609
    return NULL;
610
#endif
611
612
5.65k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_ml_dsa_44)) {
613
98
#ifdef OQS_ENABLE_SIG_ml_dsa_44
614
98
    return OQS_SIG_ml_dsa_44_new();
615
#else
616
    return NULL;
617
#endif
618
619
5.55k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_ml_dsa_65)) {
620
101
#ifdef OQS_ENABLE_SIG_ml_dsa_65
621
101
    return OQS_SIG_ml_dsa_65_new();
622
#else
623
    return NULL;
624
#endif
625
626
5.45k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_ml_dsa_87)) {
627
105
#ifdef OQS_ENABLE_SIG_ml_dsa_87
628
105
    return OQS_SIG_ml_dsa_87_new();
629
#else
630
    return NULL;
631
#endif
632
633
5.35k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_falcon_512)) {
634
457
#ifdef OQS_ENABLE_SIG_falcon_512
635
457
    return OQS_SIG_falcon_512_new();
636
#else
637
    return NULL;
638
#endif
639
640
4.89k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_falcon_1024)) {
641
497
#ifdef OQS_ENABLE_SIG_falcon_1024
642
497
    return OQS_SIG_falcon_1024_new();
643
#else
644
    return NULL;
645
#endif
646
647
4.39k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_falcon_padded_512)) {
648
472
#ifdef OQS_ENABLE_SIG_falcon_padded_512
649
472
    return OQS_SIG_falcon_padded_512_new();
650
#else
651
    return NULL;
652
#endif
653
654
3.92k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_falcon_padded_1024)) {
655
502
#ifdef OQS_ENABLE_SIG_falcon_padded_1024
656
502
    return OQS_SIG_falcon_padded_1024_new();
657
#else
658
    return NULL;
659
#endif
660
661
3.42k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_sphincs_sha2_128f_simple)) {
662
32
#ifdef OQS_ENABLE_SIG_sphincs_sha2_128f_simple
663
32
    return OQS_SIG_sphincs_sha2_128f_simple_new();
664
#else
665
    return NULL;
666
#endif
667
668
3.39k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_sphincs_sha2_128s_simple)) {
669
35
#ifdef OQS_ENABLE_SIG_sphincs_sha2_128s_simple
670
35
    return OQS_SIG_sphincs_sha2_128s_simple_new();
671
#else
672
    return NULL;
673
#endif
674
675
3.35k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_sphincs_sha2_192f_simple)) {
676
44
#ifdef OQS_ENABLE_SIG_sphincs_sha2_192f_simple
677
44
    return OQS_SIG_sphincs_sha2_192f_simple_new();
678
#else
679
    return NULL;
680
#endif
681
682
3.31k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_sphincs_sha2_192s_simple)) {
683
28
#ifdef OQS_ENABLE_SIG_sphincs_sha2_192s_simple
684
28
    return OQS_SIG_sphincs_sha2_192s_simple_new();
685
#else
686
    return NULL;
687
#endif
688
689
3.28k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_sphincs_sha2_256f_simple)) {
690
46
#ifdef OQS_ENABLE_SIG_sphincs_sha2_256f_simple
691
46
    return OQS_SIG_sphincs_sha2_256f_simple_new();
692
#else
693
    return NULL;
694
#endif
695
696
3.23k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_sphincs_sha2_256s_simple)) {
697
47
#ifdef OQS_ENABLE_SIG_sphincs_sha2_256s_simple
698
47
    return OQS_SIG_sphincs_sha2_256s_simple_new();
699
#else
700
    return NULL;
701
#endif
702
703
3.19k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_sphincs_shake_128f_simple)) {
704
47
#ifdef OQS_ENABLE_SIG_sphincs_shake_128f_simple
705
47
    return OQS_SIG_sphincs_shake_128f_simple_new();
706
#else
707
    return NULL;
708
#endif
709
710
3.14k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_sphincs_shake_128s_simple)) {
711
34
#ifdef OQS_ENABLE_SIG_sphincs_shake_128s_simple
712
34
    return OQS_SIG_sphincs_shake_128s_simple_new();
713
#else
714
    return NULL;
715
#endif
716
717
3.11k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_sphincs_shake_192f_simple)) {
718
43
#ifdef OQS_ENABLE_SIG_sphincs_shake_192f_simple
719
43
    return OQS_SIG_sphincs_shake_192f_simple_new();
720
#else
721
    return NULL;
722
#endif
723
724
3.06k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_sphincs_shake_192s_simple)) {
725
31
#ifdef OQS_ENABLE_SIG_sphincs_shake_192s_simple
726
31
    return OQS_SIG_sphincs_shake_192s_simple_new();
727
#else
728
    return NULL;
729
#endif
730
731
3.03k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_sphincs_shake_256f_simple)) {
732
35
#ifdef OQS_ENABLE_SIG_sphincs_shake_256f_simple
733
35
    return OQS_SIG_sphincs_shake_256f_simple_new();
734
#else
735
    return NULL;
736
#endif
737
738
3.00k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_sphincs_shake_256s_simple)) {
739
42
#ifdef OQS_ENABLE_SIG_sphincs_shake_256s_simple
740
42
    return OQS_SIG_sphincs_shake_256s_simple_new();
741
#else
742
    return NULL;
743
#endif
744
745
2.96k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_mayo_1)) {
746
2
#ifdef OQS_ENABLE_SIG_mayo_1
747
2
    return OQS_SIG_mayo_1_new();
748
#else
749
    return NULL;
750
#endif
751
752
2.95k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_mayo_2)) {
753
2
#ifdef OQS_ENABLE_SIG_mayo_2
754
2
    return OQS_SIG_mayo_2_new();
755
#else
756
    return NULL;
757
#endif
758
759
2.95k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_mayo_3)) {
760
2
#ifdef OQS_ENABLE_SIG_mayo_3
761
2
    return OQS_SIG_mayo_3_new();
762
#else
763
    return NULL;
764
#endif
765
766
2.95k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_mayo_5)) {
767
2
#ifdef OQS_ENABLE_SIG_mayo_5
768
2
    return OQS_SIG_mayo_5_new();
769
#else
770
    return NULL;
771
#endif
772
773
2.95k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdp_128_balanced)) {
774
205
#ifdef OQS_ENABLE_SIG_cross_rsdp_128_balanced
775
205
    return OQS_SIG_cross_rsdp_128_balanced_new();
776
#else
777
    return NULL;
778
#endif
779
780
2.74k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdp_128_fast)) {
781
82
#ifdef OQS_ENABLE_SIG_cross_rsdp_128_fast
782
82
    return OQS_SIG_cross_rsdp_128_fast_new();
783
#else
784
    return NULL;
785
#endif
786
787
2.66k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdp_128_small)) {
788
156
#ifdef OQS_ENABLE_SIG_cross_rsdp_128_small
789
156
    return OQS_SIG_cross_rsdp_128_small_new();
790
#else
791
    return NULL;
792
#endif
793
794
2.50k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdp_192_balanced)) {
795
243
#ifdef OQS_ENABLE_SIG_cross_rsdp_192_balanced
796
243
    return OQS_SIG_cross_rsdp_192_balanced_new();
797
#else
798
    return NULL;
799
#endif
800
801
2.26k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdp_192_fast)) {
802
88
#ifdef OQS_ENABLE_SIG_cross_rsdp_192_fast
803
88
    return OQS_SIG_cross_rsdp_192_fast_new();
804
#else
805
    return NULL;
806
#endif
807
808
2.17k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdp_192_small)) {
809
176
#ifdef OQS_ENABLE_SIG_cross_rsdp_192_small
810
176
    return OQS_SIG_cross_rsdp_192_small_new();
811
#else
812
    return NULL;
813
#endif
814
815
2.00k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdp_256_balanced)) {
816
159
#ifdef OQS_ENABLE_SIG_cross_rsdp_256_balanced
817
159
    return OQS_SIG_cross_rsdp_256_balanced_new();
818
#else
819
    return NULL;
820
#endif
821
822
1.84k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdp_256_fast)) {
823
101
#ifdef OQS_ENABLE_SIG_cross_rsdp_256_fast
824
101
    return OQS_SIG_cross_rsdp_256_fast_new();
825
#else
826
    return NULL;
827
#endif
828
829
1.74k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdp_256_small)) {
830
159
#ifdef OQS_ENABLE_SIG_cross_rsdp_256_small
831
159
    return OQS_SIG_cross_rsdp_256_small_new();
832
#else
833
    return NULL;
834
#endif
835
836
1.58k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdpg_128_balanced)) {
837
172
#ifdef OQS_ENABLE_SIG_cross_rsdpg_128_balanced
838
172
    return OQS_SIG_cross_rsdpg_128_balanced_new();
839
#else
840
    return NULL;
841
#endif
842
843
1.41k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdpg_128_fast)) {
844
52
#ifdef OQS_ENABLE_SIG_cross_rsdpg_128_fast
845
52
    return OQS_SIG_cross_rsdpg_128_fast_new();
846
#else
847
    return NULL;
848
#endif
849
850
1.35k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdpg_128_small)) {
851
133
#ifdef OQS_ENABLE_SIG_cross_rsdpg_128_small
852
133
    return OQS_SIG_cross_rsdpg_128_small_new();
853
#else
854
    return NULL;
855
#endif
856
857
1.22k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdpg_192_balanced)) {
858
169
#ifdef OQS_ENABLE_SIG_cross_rsdpg_192_balanced
859
169
    return OQS_SIG_cross_rsdpg_192_balanced_new();
860
#else
861
    return NULL;
862
#endif
863
864
1.05k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdpg_192_fast)) {
865
55
#ifdef OQS_ENABLE_SIG_cross_rsdpg_192_fast
866
55
    return OQS_SIG_cross_rsdpg_192_fast_new();
867
#else
868
    return NULL;
869
#endif
870
871
1.00k
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdpg_192_small)) {
872
145
#ifdef OQS_ENABLE_SIG_cross_rsdpg_192_small
873
145
    return OQS_SIG_cross_rsdpg_192_small_new();
874
#else
875
    return NULL;
876
#endif
877
878
857
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdpg_256_balanced)) {
879
200
#ifdef OQS_ENABLE_SIG_cross_rsdpg_256_balanced
880
200
    return OQS_SIG_cross_rsdpg_256_balanced_new();
881
#else
882
    return NULL;
883
#endif
884
885
657
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdpg_256_fast)) {
886
66
#ifdef OQS_ENABLE_SIG_cross_rsdpg_256_fast
887
66
    return OQS_SIG_cross_rsdpg_256_fast_new();
888
#else
889
    return NULL;
890
#endif
891
892
591
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_cross_rsdpg_256_small)) {
893
236
#ifdef OQS_ENABLE_SIG_cross_rsdpg_256_small
894
236
    return OQS_SIG_cross_rsdpg_256_small_new();
895
#else
896
    return NULL;
897
#endif
898
899
355
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_uov_ov_Is)) {
900
28
#ifdef OQS_ENABLE_SIG_uov_ov_Is
901
28
    return OQS_SIG_uov_ov_Is_new();
902
#else
903
    return NULL;
904
#endif
905
906
327
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_uov_ov_Ip)) {
907
4
#ifdef OQS_ENABLE_SIG_uov_ov_Ip
908
4
    return OQS_SIG_uov_ov_Ip_new();
909
#else
910
    return NULL;
911
#endif
912
913
323
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_uov_ov_III)) {
914
4
#ifdef OQS_ENABLE_SIG_uov_ov_III
915
4
    return OQS_SIG_uov_ov_III_new();
916
#else
917
    return NULL;
918
#endif
919
920
319
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_uov_ov_V)) {
921
4
#ifdef OQS_ENABLE_SIG_uov_ov_V
922
4
    return OQS_SIG_uov_ov_V_new();
923
#else
924
    return NULL;
925
#endif
926
927
315
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_uov_ov_Is_pkc)) {
928
28
#ifdef OQS_ENABLE_SIG_uov_ov_Is_pkc
929
28
    return OQS_SIG_uov_ov_Is_pkc_new();
930
#else
931
    return NULL;
932
#endif
933
934
287
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_uov_ov_Ip_pkc)) {
935
4
#ifdef OQS_ENABLE_SIG_uov_ov_Ip_pkc
936
4
    return OQS_SIG_uov_ov_Ip_pkc_new();
937
#else
938
    return NULL;
939
#endif
940
941
283
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_uov_ov_III_pkc)) {
942
4
#ifdef OQS_ENABLE_SIG_uov_ov_III_pkc
943
4
    return OQS_SIG_uov_ov_III_pkc_new();
944
#else
945
    return NULL;
946
#endif
947
948
279
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_uov_ov_V_pkc)) {
949
4
#ifdef OQS_ENABLE_SIG_uov_ov_V_pkc
950
4
    return OQS_SIG_uov_ov_V_pkc_new();
951
#else
952
    return NULL;
953
#endif
954
955
275
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_uov_ov_Is_pkc_skc)) {
956
28
#ifdef OQS_ENABLE_SIG_uov_ov_Is_pkc_skc
957
28
    return OQS_SIG_uov_ov_Is_pkc_skc_new();
958
#else
959
    return NULL;
960
#endif
961
962
247
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_uov_ov_Ip_pkc_skc)) {
963
4
#ifdef OQS_ENABLE_SIG_uov_ov_Ip_pkc_skc
964
4
    return OQS_SIG_uov_ov_Ip_pkc_skc_new();
965
#else
966
    return NULL;
967
#endif
968
969
243
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_uov_ov_III_pkc_skc)) {
970
4
#ifdef OQS_ENABLE_SIG_uov_ov_III_pkc_skc
971
4
    return OQS_SIG_uov_ov_III_pkc_skc_new();
972
#else
973
    return NULL;
974
#endif
975
976
239
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_uov_ov_V_pkc_skc)) {
977
4
#ifdef OQS_ENABLE_SIG_uov_ov_V_pkc_skc
978
4
    return OQS_SIG_uov_ov_V_pkc_skc_new();
979
#else
980
    return NULL;
981
#endif
982
983
235
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_snova_SNOVA_24_5_4)) {
984
30
#ifdef OQS_ENABLE_SIG_snova_SNOVA_24_5_4
985
30
    return OQS_SIG_snova_SNOVA_24_5_4_new();
986
#else
987
    return NULL;
988
#endif
989
990
205
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_snova_SNOVA_24_5_4_SHAKE)) {
991
33
#ifdef OQS_ENABLE_SIG_snova_SNOVA_24_5_4_SHAKE
992
33
    return OQS_SIG_snova_SNOVA_24_5_4_SHAKE_new();
993
#else
994
    return NULL;
995
#endif
996
997
172
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_snova_SNOVA_24_5_4_esk)) {
998
24
#ifdef OQS_ENABLE_SIG_snova_SNOVA_24_5_4_esk
999
24
    return OQS_SIG_snova_SNOVA_24_5_4_esk_new();
1000
#else
1001
    return NULL;
1002
#endif
1003
1004
148
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_snova_SNOVA_24_5_4_SHAKE_esk)) {
1005
23
#ifdef OQS_ENABLE_SIG_snova_SNOVA_24_5_4_SHAKE_esk
1006
23
    return OQS_SIG_snova_SNOVA_24_5_4_SHAKE_esk_new();
1007
#else
1008
    return NULL;
1009
#endif
1010
1011
125
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_snova_SNOVA_37_17_2)) {
1012
7
#ifdef OQS_ENABLE_SIG_snova_SNOVA_37_17_2
1013
7
    return OQS_SIG_snova_SNOVA_37_17_2_new();
1014
#else
1015
    return NULL;
1016
#endif
1017
1018
118
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_snova_SNOVA_25_8_3)) {
1019
7
#ifdef OQS_ENABLE_SIG_snova_SNOVA_25_8_3
1020
7
    return OQS_SIG_snova_SNOVA_25_8_3_new();
1021
#else
1022
    return NULL;
1023
#endif
1024
1025
111
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_snova_SNOVA_56_25_2)) {
1026
7
#ifdef OQS_ENABLE_SIG_snova_SNOVA_56_25_2
1027
7
    return OQS_SIG_snova_SNOVA_56_25_2_new();
1028
#else
1029
    return NULL;
1030
#endif
1031
1032
104
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_snova_SNOVA_49_11_3)) {
1033
7
#ifdef OQS_ENABLE_SIG_snova_SNOVA_49_11_3
1034
7
    return OQS_SIG_snova_SNOVA_49_11_3_new();
1035
#else
1036
    return NULL;
1037
#endif
1038
1039
97
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_snova_SNOVA_37_8_4)) {
1040
23
#ifdef OQS_ENABLE_SIG_snova_SNOVA_37_8_4
1041
23
    return OQS_SIG_snova_SNOVA_37_8_4_new();
1042
#else
1043
    return NULL;
1044
#endif
1045
1046
74
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_snova_SNOVA_24_5_5)) {
1047
22
#ifdef OQS_ENABLE_SIG_snova_SNOVA_24_5_5
1048
22
    return OQS_SIG_snova_SNOVA_24_5_5_new();
1049
#else
1050
    return NULL;
1051
#endif
1052
1053
52
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_snova_SNOVA_60_10_4)) {
1054
30
#ifdef OQS_ENABLE_SIG_snova_SNOVA_60_10_4
1055
30
    return OQS_SIG_snova_SNOVA_60_10_4_new();
1056
#else
1057
    return NULL;
1058
#endif
1059
1060
30
  } else if (0 == strcasecmp(method_name, OQS_SIG_alg_snova_SNOVA_29_6_5)) {
1061
22
#ifdef OQS_ENABLE_SIG_snova_SNOVA_29_6_5
1062
22
    return OQS_SIG_snova_SNOVA_29_6_5_new();
1063
#else
1064
    return NULL;
1065
#endif
1066
///// OQS_COPY_FROM_UPSTREAM_FRAGMENT_NEW_CASE_END
1067
    // EDIT-WHEN-ADDING-SIG
1068
22
  } else {
1069
0
    return NULL;
1070
0
  }
1071
6.01k
}
1072
1073
6.01k
OQS_API OQS_STATUS OQS_SIG_keypair(const OQS_SIG *sig, uint8_t *public_key, uint8_t *secret_key) {
1074
6.01k
  if (sig == NULL || sig->keypair(public_key, secret_key) != OQS_SUCCESS) {
1075
0
    return OQS_ERROR;
1076
6.01k
  } else {
1077
6.01k
    return OQS_SUCCESS;
1078
6.01k
  }
1079
6.01k
}
1080
1081
6.01k
OQS_API OQS_STATUS OQS_SIG_sign(const OQS_SIG *sig, uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key) {
1082
6.01k
  if (sig == NULL || sig->sign(signature, signature_len, message, message_len, secret_key) != OQS_SUCCESS) {
1083
0
    return OQS_ERROR;
1084
6.01k
  } else {
1085
6.01k
    return OQS_SUCCESS;
1086
6.01k
  }
1087
6.01k
}
1088
1089
0
OQS_API OQS_STATUS OQS_SIG_sign_with_ctx_str(const OQS_SIG *sig, uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *secret_key) {
1090
0
  if (sig == NULL || sig->sign_with_ctx_str(signature, signature_len, message, message_len, ctx_str, ctx_str_len, secret_key) != OQS_SUCCESS) {
1091
0
    return OQS_ERROR;
1092
0
  } else {
1093
0
    return OQS_SUCCESS;
1094
0
  }
1095
0
}
1096
1097
6.01k
OQS_API OQS_STATUS OQS_SIG_verify(const OQS_SIG *sig, const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key) {
1098
6.01k
  if (sig == NULL || sig->verify(message, message_len, signature, signature_len, public_key) != OQS_SUCCESS) {
1099
0
    return OQS_ERROR;
1100
6.01k
  } else {
1101
6.01k
    return OQS_SUCCESS;
1102
6.01k
  }
1103
6.01k
}
1104
1105
0
OQS_API OQS_STATUS OQS_SIG_verify_with_ctx_str(const OQS_SIG *sig, const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *ctx_str, size_t ctx_str_len, const uint8_t *public_key) {
1106
0
  if (sig == NULL || sig->verify_with_ctx_str(message, message_len, signature, signature_len, ctx_str, ctx_str_len, public_key) != OQS_SUCCESS) {
1107
0
    return OQS_ERROR;
1108
0
  } else {
1109
0
    return OQS_SUCCESS;
1110
0
  }
1111
0
}
1112
1113
0
OQS_API bool OQS_SIG_supports_ctx_str(const char *alg_name) {
1114
0
  OQS_SIG *sig = OQS_SIG_new(alg_name);
1115
0
  if (sig == NULL) {
1116
0
    return false;
1117
0
  }
1118
0
  bool result = sig->sig_with_ctx_support;
1119
0
  OQS_SIG_free(sig);
1120
0
  return result;
1121
0
}
1122
1123
6.01k
OQS_API void OQS_SIG_free(OQS_SIG *sig) {
1124
6.01k
  OQS_MEM_insecure_free(sig);
1125
6.01k
}