30#if defined(__cplusplus)
36#define OQS_SIG_alg_ml_dsa_44 "ML-DSA-44"
38#define OQS_SIG_alg_ml_dsa_65 "ML-DSA-65"
40#define OQS_SIG_alg_ml_dsa_87 "ML-DSA-87"
42#define OQS_SIG_alg_falcon_512 "Falcon-512"
44#define OQS_SIG_alg_falcon_1024 "Falcon-1024"
46#define OQS_SIG_alg_falcon_padded_512 "Falcon-padded-512"
48#define OQS_SIG_alg_falcon_padded_1024 "Falcon-padded-1024"
50#define OQS_SIG_alg_sphincs_sha2_128f_simple "SPHINCS+-SHA2-128f-simple"
52#define OQS_SIG_alg_sphincs_sha2_128s_simple "SPHINCS+-SHA2-128s-simple"
54#define OQS_SIG_alg_sphincs_sha2_192f_simple "SPHINCS+-SHA2-192f-simple"
56#define OQS_SIG_alg_sphincs_sha2_192s_simple "SPHINCS+-SHA2-192s-simple"
58#define OQS_SIG_alg_sphincs_sha2_256f_simple "SPHINCS+-SHA2-256f-simple"
60#define OQS_SIG_alg_sphincs_sha2_256s_simple "SPHINCS+-SHA2-256s-simple"
62#define OQS_SIG_alg_sphincs_shake_128f_simple "SPHINCS+-SHAKE-128f-simple"
64#define OQS_SIG_alg_sphincs_shake_128s_simple "SPHINCS+-SHAKE-128s-simple"
66#define OQS_SIG_alg_sphincs_shake_192f_simple "SPHINCS+-SHAKE-192f-simple"
68#define OQS_SIG_alg_sphincs_shake_192s_simple "SPHINCS+-SHAKE-192s-simple"
70#define OQS_SIG_alg_sphincs_shake_256f_simple "SPHINCS+-SHAKE-256f-simple"
72#define OQS_SIG_alg_sphincs_shake_256s_simple "SPHINCS+-SHAKE-256s-simple"
74#define OQS_SIG_alg_mayo_1 "MAYO-1"
76#define OQS_SIG_alg_mayo_2 "MAYO-2"
78#define OQS_SIG_alg_mayo_3 "MAYO-3"
80#define OQS_SIG_alg_mayo_5 "MAYO-5"
82#define OQS_SIG_alg_cross_rsdp_128_balanced "cross-rsdp-128-balanced"
84#define OQS_SIG_alg_cross_rsdp_128_fast "cross-rsdp-128-fast"
86#define OQS_SIG_alg_cross_rsdp_128_small "cross-rsdp-128-small"
88#define OQS_SIG_alg_cross_rsdp_192_balanced "cross-rsdp-192-balanced"
90#define OQS_SIG_alg_cross_rsdp_192_fast "cross-rsdp-192-fast"
92#define OQS_SIG_alg_cross_rsdp_192_small "cross-rsdp-192-small"
94#define OQS_SIG_alg_cross_rsdp_256_balanced "cross-rsdp-256-balanced"
96#define OQS_SIG_alg_cross_rsdp_256_fast "cross-rsdp-256-fast"
98#define OQS_SIG_alg_cross_rsdp_256_small "cross-rsdp-256-small"
100#define OQS_SIG_alg_cross_rsdpg_128_balanced "cross-rsdpg-128-balanced"
102#define OQS_SIG_alg_cross_rsdpg_128_fast "cross-rsdpg-128-fast"
104#define OQS_SIG_alg_cross_rsdpg_128_small "cross-rsdpg-128-small"
106#define OQS_SIG_alg_cross_rsdpg_192_balanced "cross-rsdpg-192-balanced"
108#define OQS_SIG_alg_cross_rsdpg_192_fast "cross-rsdpg-192-fast"
110#define OQS_SIG_alg_cross_rsdpg_192_small "cross-rsdpg-192-small"
112#define OQS_SIG_alg_cross_rsdpg_256_balanced "cross-rsdpg-256-balanced"
114#define OQS_SIG_alg_cross_rsdpg_256_fast "cross-rsdpg-256-fast"
116#define OQS_SIG_alg_cross_rsdpg_256_small "cross-rsdpg-256-small"
118#define OQS_SIG_alg_uov_ov_Is "OV-Is"
120#define OQS_SIG_alg_uov_ov_Ip "OV-Ip"
122#define OQS_SIG_alg_uov_ov_III "OV-III"
124#define OQS_SIG_alg_uov_ov_V "OV-V"
126#define OQS_SIG_alg_uov_ov_Is_pkc "OV-Is-pkc"
128#define OQS_SIG_alg_uov_ov_Ip_pkc "OV-Ip-pkc"
130#define OQS_SIG_alg_uov_ov_III_pkc "OV-III-pkc"
132#define OQS_SIG_alg_uov_ov_V_pkc "OV-V-pkc"
134#define OQS_SIG_alg_uov_ov_Is_pkc_skc "OV-Is-pkc-skc"
136#define OQS_SIG_alg_uov_ov_Ip_pkc_skc "OV-Ip-pkc-skc"
138#define OQS_SIG_alg_uov_ov_III_pkc_skc "OV-III-pkc-skc"
140#define OQS_SIG_alg_uov_ov_V_pkc_skc "OV-V-pkc-skc"
142#define OQS_SIG_alg_snova_SNOVA_24_5_4 "SNOVA_24_5_4"
144#define OQS_SIG_alg_snova_SNOVA_24_5_4_SHAKE "SNOVA_24_5_4_SHAKE"
146#define OQS_SIG_alg_snova_SNOVA_24_5_4_esk "SNOVA_24_5_4_esk"
148#define OQS_SIG_alg_snova_SNOVA_24_5_4_SHAKE_esk "SNOVA_24_5_4_SHAKE_esk"
150#define OQS_SIG_alg_snova_SNOVA_37_17_2 "SNOVA_37_17_2"
152#define OQS_SIG_alg_snova_SNOVA_25_8_3 "SNOVA_25_8_3"
154#define OQS_SIG_alg_snova_SNOVA_56_25_2 "SNOVA_56_25_2"
156#define OQS_SIG_alg_snova_SNOVA_49_11_3 "SNOVA_49_11_3"
158#define OQS_SIG_alg_snova_SNOVA_37_8_4 "SNOVA_37_8_4"
160#define OQS_SIG_alg_snova_SNOVA_24_5_5 "SNOVA_24_5_5"
162#define OQS_SIG_alg_snova_SNOVA_60_10_4 "SNOVA_60_10_4"
164#define OQS_SIG_alg_snova_SNOVA_29_6_5 "SNOVA_29_6_5"
168#define OQS_SIG_alg_slh_dsa_pure_sha2_128s "SLH_DSA_PURE_SHA2_128S"
170#define OQS_SIG_alg_slh_dsa_pure_sha2_128f "SLH_DSA_PURE_SHA2_128F"
172#define OQS_SIG_alg_slh_dsa_pure_sha2_192s "SLH_DSA_PURE_SHA2_192S"
174#define OQS_SIG_alg_slh_dsa_pure_sha2_192f "SLH_DSA_PURE_SHA2_192F"
176#define OQS_SIG_alg_slh_dsa_pure_sha2_256s "SLH_DSA_PURE_SHA2_256S"
178#define OQS_SIG_alg_slh_dsa_pure_sha2_256f "SLH_DSA_PURE_SHA2_256F"
180#define OQS_SIG_alg_slh_dsa_pure_shake_128s "SLH_DSA_PURE_SHAKE_128S"
182#define OQS_SIG_alg_slh_dsa_pure_shake_128f "SLH_DSA_PURE_SHAKE_128F"
184#define OQS_SIG_alg_slh_dsa_pure_shake_192s "SLH_DSA_PURE_SHAKE_192S"
186#define OQS_SIG_alg_slh_dsa_pure_shake_192f "SLH_DSA_PURE_SHAKE_192F"
188#define OQS_SIG_alg_slh_dsa_pure_shake_256s "SLH_DSA_PURE_SHAKE_256S"
190#define OQS_SIG_alg_slh_dsa_pure_shake_256f "SLH_DSA_PURE_SHAKE_256F"
192#define OQS_SIG_alg_slh_dsa_sha2_224_prehash_sha2_128s "SLH_DSA_SHA2_224_PREHASH_SHA2_128S"
194#define OQS_SIG_alg_slh_dsa_sha2_224_prehash_sha2_128f "SLH_DSA_SHA2_224_PREHASH_SHA2_128F"
196#define OQS_SIG_alg_slh_dsa_sha2_224_prehash_sha2_192s "SLH_DSA_SHA2_224_PREHASH_SHA2_192S"
198#define OQS_SIG_alg_slh_dsa_sha2_224_prehash_sha2_192f "SLH_DSA_SHA2_224_PREHASH_SHA2_192F"
200#define OQS_SIG_alg_slh_dsa_sha2_224_prehash_sha2_256s "SLH_DSA_SHA2_224_PREHASH_SHA2_256S"
202#define OQS_SIG_alg_slh_dsa_sha2_224_prehash_sha2_256f "SLH_DSA_SHA2_224_PREHASH_SHA2_256F"
204#define OQS_SIG_alg_slh_dsa_sha2_224_prehash_shake_128s "SLH_DSA_SHA2_224_PREHASH_SHAKE_128S"
206#define OQS_SIG_alg_slh_dsa_sha2_224_prehash_shake_128f "SLH_DSA_SHA2_224_PREHASH_SHAKE_128F"
208#define OQS_SIG_alg_slh_dsa_sha2_224_prehash_shake_192s "SLH_DSA_SHA2_224_PREHASH_SHAKE_192S"
210#define OQS_SIG_alg_slh_dsa_sha2_224_prehash_shake_192f "SLH_DSA_SHA2_224_PREHASH_SHAKE_192F"
212#define OQS_SIG_alg_slh_dsa_sha2_224_prehash_shake_256s "SLH_DSA_SHA2_224_PREHASH_SHAKE_256S"
214#define OQS_SIG_alg_slh_dsa_sha2_224_prehash_shake_256f "SLH_DSA_SHA2_224_PREHASH_SHAKE_256F"
216#define OQS_SIG_alg_slh_dsa_sha2_256_prehash_sha2_128s "SLH_DSA_SHA2_256_PREHASH_SHA2_128S"
218#define OQS_SIG_alg_slh_dsa_sha2_256_prehash_sha2_128f "SLH_DSA_SHA2_256_PREHASH_SHA2_128F"
220#define OQS_SIG_alg_slh_dsa_sha2_256_prehash_sha2_192s "SLH_DSA_SHA2_256_PREHASH_SHA2_192S"
222#define OQS_SIG_alg_slh_dsa_sha2_256_prehash_sha2_192f "SLH_DSA_SHA2_256_PREHASH_SHA2_192F"
224#define OQS_SIG_alg_slh_dsa_sha2_256_prehash_sha2_256s "SLH_DSA_SHA2_256_PREHASH_SHA2_256S"
226#define OQS_SIG_alg_slh_dsa_sha2_256_prehash_sha2_256f "SLH_DSA_SHA2_256_PREHASH_SHA2_256F"
228#define OQS_SIG_alg_slh_dsa_sha2_256_prehash_shake_128s "SLH_DSA_SHA2_256_PREHASH_SHAKE_128S"
230#define OQS_SIG_alg_slh_dsa_sha2_256_prehash_shake_128f "SLH_DSA_SHA2_256_PREHASH_SHAKE_128F"
232#define OQS_SIG_alg_slh_dsa_sha2_256_prehash_shake_192s "SLH_DSA_SHA2_256_PREHASH_SHAKE_192S"
234#define OQS_SIG_alg_slh_dsa_sha2_256_prehash_shake_192f "SLH_DSA_SHA2_256_PREHASH_SHAKE_192F"
236#define OQS_SIG_alg_slh_dsa_sha2_256_prehash_shake_256s "SLH_DSA_SHA2_256_PREHASH_SHAKE_256S"
238#define OQS_SIG_alg_slh_dsa_sha2_256_prehash_shake_256f "SLH_DSA_SHA2_256_PREHASH_SHAKE_256F"
240#define OQS_SIG_alg_slh_dsa_sha2_384_prehash_sha2_128s "SLH_DSA_SHA2_384_PREHASH_SHA2_128S"
242#define OQS_SIG_alg_slh_dsa_sha2_384_prehash_sha2_128f "SLH_DSA_SHA2_384_PREHASH_SHA2_128F"
244#define OQS_SIG_alg_slh_dsa_sha2_384_prehash_sha2_192s "SLH_DSA_SHA2_384_PREHASH_SHA2_192S"
246#define OQS_SIG_alg_slh_dsa_sha2_384_prehash_sha2_192f "SLH_DSA_SHA2_384_PREHASH_SHA2_192F"
248#define OQS_SIG_alg_slh_dsa_sha2_384_prehash_sha2_256s "SLH_DSA_SHA2_384_PREHASH_SHA2_256S"
250#define OQS_SIG_alg_slh_dsa_sha2_384_prehash_sha2_256f "SLH_DSA_SHA2_384_PREHASH_SHA2_256F"
252#define OQS_SIG_alg_slh_dsa_sha2_384_prehash_shake_128s "SLH_DSA_SHA2_384_PREHASH_SHAKE_128S"
254#define OQS_SIG_alg_slh_dsa_sha2_384_prehash_shake_128f "SLH_DSA_SHA2_384_PREHASH_SHAKE_128F"
256#define OQS_SIG_alg_slh_dsa_sha2_384_prehash_shake_192s "SLH_DSA_SHA2_384_PREHASH_SHAKE_192S"
258#define OQS_SIG_alg_slh_dsa_sha2_384_prehash_shake_192f "SLH_DSA_SHA2_384_PREHASH_SHAKE_192F"
260#define OQS_SIG_alg_slh_dsa_sha2_384_prehash_shake_256s "SLH_DSA_SHA2_384_PREHASH_SHAKE_256S"
262#define OQS_SIG_alg_slh_dsa_sha2_384_prehash_shake_256f "SLH_DSA_SHA2_384_PREHASH_SHAKE_256F"
264#define OQS_SIG_alg_slh_dsa_sha2_512_prehash_sha2_128s "SLH_DSA_SHA2_512_PREHASH_SHA2_128S"
266#define OQS_SIG_alg_slh_dsa_sha2_512_prehash_sha2_128f "SLH_DSA_SHA2_512_PREHASH_SHA2_128F"
268#define OQS_SIG_alg_slh_dsa_sha2_512_prehash_sha2_192s "SLH_DSA_SHA2_512_PREHASH_SHA2_192S"
270#define OQS_SIG_alg_slh_dsa_sha2_512_prehash_sha2_192f "SLH_DSA_SHA2_512_PREHASH_SHA2_192F"
272#define OQS_SIG_alg_slh_dsa_sha2_512_prehash_sha2_256s "SLH_DSA_SHA2_512_PREHASH_SHA2_256S"
274#define OQS_SIG_alg_slh_dsa_sha2_512_prehash_sha2_256f "SLH_DSA_SHA2_512_PREHASH_SHA2_256F"
276#define OQS_SIG_alg_slh_dsa_sha2_512_prehash_shake_128s "SLH_DSA_SHA2_512_PREHASH_SHAKE_128S"
278#define OQS_SIG_alg_slh_dsa_sha2_512_prehash_shake_128f "SLH_DSA_SHA2_512_PREHASH_SHAKE_128F"
280#define OQS_SIG_alg_slh_dsa_sha2_512_prehash_shake_192s "SLH_DSA_SHA2_512_PREHASH_SHAKE_192S"
282#define OQS_SIG_alg_slh_dsa_sha2_512_prehash_shake_192f "SLH_DSA_SHA2_512_PREHASH_SHAKE_192F"
284#define OQS_SIG_alg_slh_dsa_sha2_512_prehash_shake_256s "SLH_DSA_SHA2_512_PREHASH_SHAKE_256S"
286#define OQS_SIG_alg_slh_dsa_sha2_512_prehash_shake_256f "SLH_DSA_SHA2_512_PREHASH_SHAKE_256F"
288#define OQS_SIG_alg_slh_dsa_sha2_512_224_prehash_sha2_128s "SLH_DSA_SHA2_512_224_PREHASH_SHA2_128S"
290#define OQS_SIG_alg_slh_dsa_sha2_512_224_prehash_sha2_128f "SLH_DSA_SHA2_512_224_PREHASH_SHA2_128F"
292#define OQS_SIG_alg_slh_dsa_sha2_512_224_prehash_sha2_192s "SLH_DSA_SHA2_512_224_PREHASH_SHA2_192S"
294#define OQS_SIG_alg_slh_dsa_sha2_512_224_prehash_sha2_192f "SLH_DSA_SHA2_512_224_PREHASH_SHA2_192F"
296#define OQS_SIG_alg_slh_dsa_sha2_512_224_prehash_sha2_256s "SLH_DSA_SHA2_512_224_PREHASH_SHA2_256S"
298#define OQS_SIG_alg_slh_dsa_sha2_512_224_prehash_sha2_256f "SLH_DSA_SHA2_512_224_PREHASH_SHA2_256F"
300#define OQS_SIG_alg_slh_dsa_sha2_512_224_prehash_shake_128s "SLH_DSA_SHA2_512_224_PREHASH_SHAKE_128S"
302#define OQS_SIG_alg_slh_dsa_sha2_512_224_prehash_shake_128f "SLH_DSA_SHA2_512_224_PREHASH_SHAKE_128F"
304#define OQS_SIG_alg_slh_dsa_sha2_512_224_prehash_shake_192s "SLH_DSA_SHA2_512_224_PREHASH_SHAKE_192S"
306#define OQS_SIG_alg_slh_dsa_sha2_512_224_prehash_shake_192f "SLH_DSA_SHA2_512_224_PREHASH_SHAKE_192F"
308#define OQS_SIG_alg_slh_dsa_sha2_512_224_prehash_shake_256s "SLH_DSA_SHA2_512_224_PREHASH_SHAKE_256S"
310#define OQS_SIG_alg_slh_dsa_sha2_512_224_prehash_shake_256f "SLH_DSA_SHA2_512_224_PREHASH_SHAKE_256F"
312#define OQS_SIG_alg_slh_dsa_sha2_512_256_prehash_sha2_128s "SLH_DSA_SHA2_512_256_PREHASH_SHA2_128S"
314#define OQS_SIG_alg_slh_dsa_sha2_512_256_prehash_sha2_128f "SLH_DSA_SHA2_512_256_PREHASH_SHA2_128F"
316#define OQS_SIG_alg_slh_dsa_sha2_512_256_prehash_sha2_192s "SLH_DSA_SHA2_512_256_PREHASH_SHA2_192S"
318#define OQS_SIG_alg_slh_dsa_sha2_512_256_prehash_sha2_192f "SLH_DSA_SHA2_512_256_PREHASH_SHA2_192F"
320#define OQS_SIG_alg_slh_dsa_sha2_512_256_prehash_sha2_256s "SLH_DSA_SHA2_512_256_PREHASH_SHA2_256S"
322#define OQS_SIG_alg_slh_dsa_sha2_512_256_prehash_sha2_256f "SLH_DSA_SHA2_512_256_PREHASH_SHA2_256F"
324#define OQS_SIG_alg_slh_dsa_sha2_512_256_prehash_shake_128s "SLH_DSA_SHA2_512_256_PREHASH_SHAKE_128S"
326#define OQS_SIG_alg_slh_dsa_sha2_512_256_prehash_shake_128f "SLH_DSA_SHA2_512_256_PREHASH_SHAKE_128F"
328#define OQS_SIG_alg_slh_dsa_sha2_512_256_prehash_shake_192s "SLH_DSA_SHA2_512_256_PREHASH_SHAKE_192S"
330#define OQS_SIG_alg_slh_dsa_sha2_512_256_prehash_shake_192f "SLH_DSA_SHA2_512_256_PREHASH_SHAKE_192F"
332#define OQS_SIG_alg_slh_dsa_sha2_512_256_prehash_shake_256s "SLH_DSA_SHA2_512_256_PREHASH_SHAKE_256S"
334#define OQS_SIG_alg_slh_dsa_sha2_512_256_prehash_shake_256f "SLH_DSA_SHA2_512_256_PREHASH_SHAKE_256F"
336#define OQS_SIG_alg_slh_dsa_sha3_224_prehash_sha2_128s "SLH_DSA_SHA3_224_PREHASH_SHA2_128S"
338#define OQS_SIG_alg_slh_dsa_sha3_224_prehash_sha2_128f "SLH_DSA_SHA3_224_PREHASH_SHA2_128F"
340#define OQS_SIG_alg_slh_dsa_sha3_224_prehash_sha2_192s "SLH_DSA_SHA3_224_PREHASH_SHA2_192S"
342#define OQS_SIG_alg_slh_dsa_sha3_224_prehash_sha2_192f "SLH_DSA_SHA3_224_PREHASH_SHA2_192F"
344#define OQS_SIG_alg_slh_dsa_sha3_224_prehash_sha2_256s "SLH_DSA_SHA3_224_PREHASH_SHA2_256S"
346#define OQS_SIG_alg_slh_dsa_sha3_224_prehash_sha2_256f "SLH_DSA_SHA3_224_PREHASH_SHA2_256F"
348#define OQS_SIG_alg_slh_dsa_sha3_224_prehash_shake_128s "SLH_DSA_SHA3_224_PREHASH_SHAKE_128S"
350#define OQS_SIG_alg_slh_dsa_sha3_224_prehash_shake_128f "SLH_DSA_SHA3_224_PREHASH_SHAKE_128F"
352#define OQS_SIG_alg_slh_dsa_sha3_224_prehash_shake_192s "SLH_DSA_SHA3_224_PREHASH_SHAKE_192S"
354#define OQS_SIG_alg_slh_dsa_sha3_224_prehash_shake_192f "SLH_DSA_SHA3_224_PREHASH_SHAKE_192F"
356#define OQS_SIG_alg_slh_dsa_sha3_224_prehash_shake_256s "SLH_DSA_SHA3_224_PREHASH_SHAKE_256S"
358#define OQS_SIG_alg_slh_dsa_sha3_224_prehash_shake_256f "SLH_DSA_SHA3_224_PREHASH_SHAKE_256F"
360#define OQS_SIG_alg_slh_dsa_sha3_256_prehash_sha2_128s "SLH_DSA_SHA3_256_PREHASH_SHA2_128S"
362#define OQS_SIG_alg_slh_dsa_sha3_256_prehash_sha2_128f "SLH_DSA_SHA3_256_PREHASH_SHA2_128F"
364#define OQS_SIG_alg_slh_dsa_sha3_256_prehash_sha2_192s "SLH_DSA_SHA3_256_PREHASH_SHA2_192S"
366#define OQS_SIG_alg_slh_dsa_sha3_256_prehash_sha2_192f "SLH_DSA_SHA3_256_PREHASH_SHA2_192F"
368#define OQS_SIG_alg_slh_dsa_sha3_256_prehash_sha2_256s "SLH_DSA_SHA3_256_PREHASH_SHA2_256S"
370#define OQS_SIG_alg_slh_dsa_sha3_256_prehash_sha2_256f "SLH_DSA_SHA3_256_PREHASH_SHA2_256F"
372#define OQS_SIG_alg_slh_dsa_sha3_256_prehash_shake_128s "SLH_DSA_SHA3_256_PREHASH_SHAKE_128S"
374#define OQS_SIG_alg_slh_dsa_sha3_256_prehash_shake_128f "SLH_DSA_SHA3_256_PREHASH_SHAKE_128F"
376#define OQS_SIG_alg_slh_dsa_sha3_256_prehash_shake_192s "SLH_DSA_SHA3_256_PREHASH_SHAKE_192S"
378#define OQS_SIG_alg_slh_dsa_sha3_256_prehash_shake_192f "SLH_DSA_SHA3_256_PREHASH_SHAKE_192F"
380#define OQS_SIG_alg_slh_dsa_sha3_256_prehash_shake_256s "SLH_DSA_SHA3_256_PREHASH_SHAKE_256S"
382#define OQS_SIG_alg_slh_dsa_sha3_256_prehash_shake_256f "SLH_DSA_SHA3_256_PREHASH_SHAKE_256F"
384#define OQS_SIG_alg_slh_dsa_sha3_384_prehash_sha2_128s "SLH_DSA_SHA3_384_PREHASH_SHA2_128S"
386#define OQS_SIG_alg_slh_dsa_sha3_384_prehash_sha2_128f "SLH_DSA_SHA3_384_PREHASH_SHA2_128F"
388#define OQS_SIG_alg_slh_dsa_sha3_384_prehash_sha2_192s "SLH_DSA_SHA3_384_PREHASH_SHA2_192S"
390#define OQS_SIG_alg_slh_dsa_sha3_384_prehash_sha2_192f "SLH_DSA_SHA3_384_PREHASH_SHA2_192F"
392#define OQS_SIG_alg_slh_dsa_sha3_384_prehash_sha2_256s "SLH_DSA_SHA3_384_PREHASH_SHA2_256S"
394#define OQS_SIG_alg_slh_dsa_sha3_384_prehash_sha2_256f "SLH_DSA_SHA3_384_PREHASH_SHA2_256F"
396#define OQS_SIG_alg_slh_dsa_sha3_384_prehash_shake_128s "SLH_DSA_SHA3_384_PREHASH_SHAKE_128S"
398#define OQS_SIG_alg_slh_dsa_sha3_384_prehash_shake_128f "SLH_DSA_SHA3_384_PREHASH_SHAKE_128F"
400#define OQS_SIG_alg_slh_dsa_sha3_384_prehash_shake_192s "SLH_DSA_SHA3_384_PREHASH_SHAKE_192S"
402#define OQS_SIG_alg_slh_dsa_sha3_384_prehash_shake_192f "SLH_DSA_SHA3_384_PREHASH_SHAKE_192F"
404#define OQS_SIG_alg_slh_dsa_sha3_384_prehash_shake_256s "SLH_DSA_SHA3_384_PREHASH_SHAKE_256S"
406#define OQS_SIG_alg_slh_dsa_sha3_384_prehash_shake_256f "SLH_DSA_SHA3_384_PREHASH_SHAKE_256F"
408#define OQS_SIG_alg_slh_dsa_sha3_512_prehash_sha2_128s "SLH_DSA_SHA3_512_PREHASH_SHA2_128S"
410#define OQS_SIG_alg_slh_dsa_sha3_512_prehash_sha2_128f "SLH_DSA_SHA3_512_PREHASH_SHA2_128F"
412#define OQS_SIG_alg_slh_dsa_sha3_512_prehash_sha2_192s "SLH_DSA_SHA3_512_PREHASH_SHA2_192S"
414#define OQS_SIG_alg_slh_dsa_sha3_512_prehash_sha2_192f "SLH_DSA_SHA3_512_PREHASH_SHA2_192F"
416#define OQS_SIG_alg_slh_dsa_sha3_512_prehash_sha2_256s "SLH_DSA_SHA3_512_PREHASH_SHA2_256S"
418#define OQS_SIG_alg_slh_dsa_sha3_512_prehash_sha2_256f "SLH_DSA_SHA3_512_PREHASH_SHA2_256F"
420#define OQS_SIG_alg_slh_dsa_sha3_512_prehash_shake_128s "SLH_DSA_SHA3_512_PREHASH_SHAKE_128S"
422#define OQS_SIG_alg_slh_dsa_sha3_512_prehash_shake_128f "SLH_DSA_SHA3_512_PREHASH_SHAKE_128F"
424#define OQS_SIG_alg_slh_dsa_sha3_512_prehash_shake_192s "SLH_DSA_SHA3_512_PREHASH_SHAKE_192S"
426#define OQS_SIG_alg_slh_dsa_sha3_512_prehash_shake_192f "SLH_DSA_SHA3_512_PREHASH_SHAKE_192F"
428#define OQS_SIG_alg_slh_dsa_sha3_512_prehash_shake_256s "SLH_DSA_SHA3_512_PREHASH_SHAKE_256S"
430#define OQS_SIG_alg_slh_dsa_sha3_512_prehash_shake_256f "SLH_DSA_SHA3_512_PREHASH_SHAKE_256F"
432#define OQS_SIG_alg_slh_dsa_shake_128_prehash_sha2_128s "SLH_DSA_SHAKE_128_PREHASH_SHA2_128S"
434#define OQS_SIG_alg_slh_dsa_shake_128_prehash_sha2_128f "SLH_DSA_SHAKE_128_PREHASH_SHA2_128F"
436#define OQS_SIG_alg_slh_dsa_shake_128_prehash_sha2_192s "SLH_DSA_SHAKE_128_PREHASH_SHA2_192S"
438#define OQS_SIG_alg_slh_dsa_shake_128_prehash_sha2_192f "SLH_DSA_SHAKE_128_PREHASH_SHA2_192F"
440#define OQS_SIG_alg_slh_dsa_shake_128_prehash_sha2_256s "SLH_DSA_SHAKE_128_PREHASH_SHA2_256S"
442#define OQS_SIG_alg_slh_dsa_shake_128_prehash_sha2_256f "SLH_DSA_SHAKE_128_PREHASH_SHA2_256F"
444#define OQS_SIG_alg_slh_dsa_shake_128_prehash_shake_128s "SLH_DSA_SHAKE_128_PREHASH_SHAKE_128S"
446#define OQS_SIG_alg_slh_dsa_shake_128_prehash_shake_128f "SLH_DSA_SHAKE_128_PREHASH_SHAKE_128F"
448#define OQS_SIG_alg_slh_dsa_shake_128_prehash_shake_192s "SLH_DSA_SHAKE_128_PREHASH_SHAKE_192S"
450#define OQS_SIG_alg_slh_dsa_shake_128_prehash_shake_192f "SLH_DSA_SHAKE_128_PREHASH_SHAKE_192F"
452#define OQS_SIG_alg_slh_dsa_shake_128_prehash_shake_256s "SLH_DSA_SHAKE_128_PREHASH_SHAKE_256S"
454#define OQS_SIG_alg_slh_dsa_shake_128_prehash_shake_256f "SLH_DSA_SHAKE_128_PREHASH_SHAKE_256F"
456#define OQS_SIG_alg_slh_dsa_shake_256_prehash_sha2_128s "SLH_DSA_SHAKE_256_PREHASH_SHA2_128S"
458#define OQS_SIG_alg_slh_dsa_shake_256_prehash_sha2_128f "SLH_DSA_SHAKE_256_PREHASH_SHA2_128F"
460#define OQS_SIG_alg_slh_dsa_shake_256_prehash_sha2_192s "SLH_DSA_SHAKE_256_PREHASH_SHA2_192S"
462#define OQS_SIG_alg_slh_dsa_shake_256_prehash_sha2_192f "SLH_DSA_SHAKE_256_PREHASH_SHA2_192F"
464#define OQS_SIG_alg_slh_dsa_shake_256_prehash_sha2_256s "SLH_DSA_SHAKE_256_PREHASH_SHA2_256S"
466#define OQS_SIG_alg_slh_dsa_shake_256_prehash_sha2_256f "SLH_DSA_SHAKE_256_PREHASH_SHA2_256F"
468#define OQS_SIG_alg_slh_dsa_shake_256_prehash_shake_128s "SLH_DSA_SHAKE_256_PREHASH_SHAKE_128S"
470#define OQS_SIG_alg_slh_dsa_shake_256_prehash_shake_128f "SLH_DSA_SHAKE_256_PREHASH_SHAKE_128F"
472#define OQS_SIG_alg_slh_dsa_shake_256_prehash_shake_192s "SLH_DSA_SHAKE_256_PREHASH_SHAKE_192S"
474#define OQS_SIG_alg_slh_dsa_shake_256_prehash_shake_192f "SLH_DSA_SHAKE_256_PREHASH_SHAKE_192F"
476#define OQS_SIG_alg_slh_dsa_shake_256_prehash_shake_256s "SLH_DSA_SHAKE_256_PREHASH_SHAKE_256S"
478#define OQS_SIG_alg_slh_dsa_shake_256_prehash_shake_256f "SLH_DSA_SHAKE_256_PREHASH_SHAKE_256F"
484#define OQS_SIG_SLH_DSA_algs_length 156
489#define OQS_SIG_algs_length 65 + OQS_SIG_SLH_DSA_algs_length
583 OQS_STATUS (*
sign)(uint8_t *signature,
size_t *signature_len,
const uint8_t *message,
size_t message_len,
const uint8_t *secret_key);
601 OQS_STATUS (*
sign_with_ctx_str)(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);
613 OQS_STATUS (*
verify)(
const uint8_t *message,
size_t message_len,
const uint8_t *signature,
size_t signature_len,
const uint8_t *public_key);
627 OQS_STATUS (*
verify_with_ctx_str)(
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);
737#ifdef OQS_ENABLE_SIG_ML_DSA
738#include <oqs/sig_ml_dsa.h>
740#ifdef OQS_ENABLE_SIG_FALCON
741#include <oqs/sig_falcon.h>
743#ifdef OQS_ENABLE_SIG_SPHINCS
744#include <oqs/sig_sphincs.h>
746#ifdef OQS_ENABLE_SIG_MAYO
747#include <oqs/sig_mayo.h>
749#ifdef OQS_ENABLE_SIG_CROSS
750#include <oqs/sig_cross.h>
752#ifdef OQS_ENABLE_SIG_UOV
753#include <oqs/sig_uov.h>
755#ifdef OQS_ENABLE_SIG_SNOVA
756#include <oqs/sig_snova.h>
760#ifdef OQS_ENABLE_SIG_SLH_DSA
761#include <oqs/sig_slh_dsa.h>
766#if defined(__cplusplus)
#define OQS_API
Definition common.h:94
OQS_STATUS
Definition common.h:116
OQS_API int OQS_SIG_alg_count(void)
OQS_API void OQS_SIG_free(OQS_SIG *sig)
OQS_API const char * OQS_SIG_alg_identifier(size_t i)
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)
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)
OQS_API OQS_SIG * OQS_SIG_new(const char *method_name)
OQS_API int OQS_SIG_alg_is_enabled(const char *method_name)
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)
OQS_API OQS_STATUS OQS_SIG_keypair(const OQS_SIG *sig, uint8_t *public_key, uint8_t *secret_key)
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)
OQS_API bool OQS_SIG_supports_ctx_str(const char *alg_name)
size_t length_secret_key
Definition sig.h:552
size_t length_signature
Definition sig.h:554
bool euf_cma
Definition sig.h:541
OQS_STATUS(* keypair)(uint8_t *public_key, uint8_t *secret_key)
Definition sig.h:567
const char * method_name
Definition sig.h:527
size_t length_public_key
Definition sig.h:550
OQS_STATUS(* verify_with_ctx_str)(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)
Definition sig.h:627
OQS_STATUS(* sign_with_ctx_str)(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)
Definition sig.h:601
const char * alg_version
Definition sig.h:535
OQS_STATUS(* sign)(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key)
Definition sig.h:583
OQS_STATUS(* verify)(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key)
Definition sig.h:613
bool suf_cma
Definition sig.h:544
bool sig_with_ctx_support
Definition sig.h:547
uint8_t claimed_nist_level
Definition sig.h:538