208 if(group_name ==
"secp256r1") {
209 return Group_Params::SECP256R1;
211 if(group_name ==
"secp384r1") {
212 return Group_Params::SECP384R1;
214 if(group_name ==
"secp521r1") {
215 return Group_Params::SECP521R1;
217 if(group_name ==
"brainpool256r1") {
218 return Group_Params::BRAINPOOL256R1;
220 if(group_name ==
"brainpool384r1") {
221 return Group_Params::BRAINPOOL384R1;
223 if(group_name ==
"brainpool512r1") {
224 return Group_Params::BRAINPOOL512R1;
226 if(group_name ==
"x25519") {
227 return Group_Params::X25519;
229 if(group_name ==
"x448") {
230 return Group_Params::X448;
233 if(group_name ==
"ffdhe/ietf/2048") {
234 return Group_Params::FFDHE_2048;
236 if(group_name ==
"ffdhe/ietf/3072") {
237 return Group_Params::FFDHE_3072;
239 if(group_name ==
"ffdhe/ietf/4096") {
240 return Group_Params::FFDHE_4096;
242 if(group_name ==
"ffdhe/ietf/6144") {
243 return Group_Params::FFDHE_6144;
245 if(group_name ==
"ffdhe/ietf/8192") {
246 return Group_Params::FFDHE_8192;
249 if(group_name ==
"ML-KEM-512") {
250 return Group_Params::ML_KEM_512;
252 if(group_name ==
"ML-KEM-768") {
253 return Group_Params::ML_KEM_768;
255 if(group_name ==
"ML-KEM-1024") {
256 return Group_Params::ML_KEM_1024;
259 if(group_name ==
"eFrodoKEM-640-SHAKE") {
260 return Group_Params::eFRODOKEM_640_SHAKE_OQS;
262 if(group_name ==
"eFrodoKEM-976-SHAKE") {
263 return Group_Params::eFRODOKEM_976_SHAKE_OQS;
265 if(group_name ==
"eFrodoKEM-1344-SHAKE") {
266 return Group_Params::eFRODOKEM_1344_SHAKE_OQS;
268 if(group_name ==
"eFrodoKEM-640-AES") {
269 return Group_Params::eFRODOKEM_640_AES_OQS;
271 if(group_name ==
"eFrodoKEM-976-AES") {
272 return Group_Params::eFRODOKEM_976_AES_OQS;
274 if(group_name ==
"eFrodoKEM-1344-AES") {
275 return Group_Params::eFRODOKEM_1344_AES_OQS;
278 if(group_name ==
"x25519/ML-KEM-768") {
279 return Group_Params::HYBRID_X25519_ML_KEM_768;
281 if(group_name ==
"secp256r1/ML-KEM-768") {
282 return Group_Params::HYBRID_SECP256R1_ML_KEM_768;
285 if(group_name ==
"x25519/eFrodoKEM-640-SHAKE") {
286 return Group_Params::HYBRID_X25519_eFRODOKEM_640_SHAKE_OQS;
288 if(group_name ==
"x25519/eFrodoKEM-640-AES") {
289 return Group_Params::HYBRID_X25519_eFRODOKEM_640_AES_OQS;
291 if(group_name ==
"x448/eFrodoKEM-976-SHAKE") {
292 return Group_Params::HYBRID_X448_eFRODOKEM_976_SHAKE_OQS;
294 if(group_name ==
"x448/eFrodoKEM-976-AES") {
295 return Group_Params::HYBRID_X448_eFRODOKEM_976_AES_OQS;
298 if(group_name ==
"secp256r1/eFrodoKEM-640-SHAKE") {
299 return Group_Params::HYBRID_SECP256R1_eFRODOKEM_640_SHAKE_OQS;
301 if(group_name ==
"secp256r1/eFrodoKEM-640-AES") {
302 return Group_Params::HYBRID_SECP256R1_eFRODOKEM_640_AES_OQS;
305 if(group_name ==
"secp384r1/eFrodoKEM-976-SHAKE") {
306 return Group_Params::HYBRID_SECP384R1_eFRODOKEM_976_SHAKE_OQS;
308 if(group_name ==
"secp384r1/eFrodoKEM-976-AES") {
309 return Group_Params::HYBRID_SECP384R1_eFRODOKEM_976_AES_OQS;
312 if(group_name ==
"secp521r1/eFrodoKEM-1344-SHAKE") {
313 return Group_Params::HYBRID_SECP521R1_eFRODOKEM_1344_SHAKE_OQS;
315 if(group_name ==
"secp521r1/eFrodoKEM-1344-AES") {
316 return Group_Params::HYBRID_SECP521R1_eFRODOKEM_1344_AES_OQS;
324 case Group_Params::SECP256R1:
326 case Group_Params::SECP384R1:
328 case Group_Params::SECP521R1:
330 case Group_Params::BRAINPOOL256R1:
331 return "brainpool256r1";
332 case Group_Params::BRAINPOOL384R1:
333 return "brainpool384r1";
334 case Group_Params::BRAINPOOL512R1:
335 return "brainpool512r1";
336 case Group_Params::X25519:
338 case Group_Params::X448:
341 case Group_Params::FFDHE_2048:
342 return "ffdhe/ietf/2048";
343 case Group_Params::FFDHE_3072:
344 return "ffdhe/ietf/3072";
345 case Group_Params::FFDHE_4096:
346 return "ffdhe/ietf/4096";
347 case Group_Params::FFDHE_6144:
348 return "ffdhe/ietf/6144";
349 case Group_Params::FFDHE_8192:
350 return "ffdhe/ietf/8192";
352 case Group_Params::ML_KEM_512:
354 case Group_Params::ML_KEM_768:
356 case Group_Params::ML_KEM_1024:
357 return "ML-KEM-1024";
359 case Group_Params::eFRODOKEM_640_SHAKE_OQS:
360 return "eFrodoKEM-640-SHAKE";
361 case Group_Params::eFRODOKEM_976_SHAKE_OQS:
362 return "eFrodoKEM-976-SHAKE";
363 case Group_Params::eFRODOKEM_1344_SHAKE_OQS:
364 return "eFrodoKEM-1344-SHAKE";
365 case Group_Params::eFRODOKEM_640_AES_OQS:
366 return "eFrodoKEM-640-AES";
367 case Group_Params::eFRODOKEM_976_AES_OQS:
368 return "eFrodoKEM-976-AES";
369 case Group_Params::eFRODOKEM_1344_AES_OQS:
370 return "eFrodoKEM-1344-AES";
372 case Group_Params::HYBRID_X25519_eFRODOKEM_640_SHAKE_OQS:
373 return "x25519/eFrodoKEM-640-SHAKE";
374 case Group_Params::HYBRID_X25519_eFRODOKEM_640_AES_OQS:
375 return "x25519/eFrodoKEM-640-AES";
376 case Group_Params::HYBRID_X448_eFRODOKEM_976_SHAKE_OQS:
377 return "x448/eFrodoKEM-976-SHAKE";
378 case Group_Params::HYBRID_X448_eFRODOKEM_976_AES_OQS:
379 return "x448/eFrodoKEM-976-AES";
380 case Group_Params::HYBRID_SECP256R1_eFRODOKEM_640_SHAKE_OQS:
381 return "secp256r1/eFrodoKEM-640-SHAKE";
382 case Group_Params::HYBRID_SECP256R1_eFRODOKEM_640_AES_OQS:
383 return "secp256r1/eFrodoKEM-640-AES";
384 case Group_Params::HYBRID_SECP384R1_eFRODOKEM_976_SHAKE_OQS:
385 return "secp384r1/eFrodoKEM-976-SHAKE";
386 case Group_Params::HYBRID_SECP384R1_eFRODOKEM_976_AES_OQS:
387 return "secp384r1/eFrodoKEM-976-AES";
388 case Group_Params::HYBRID_SECP521R1_eFRODOKEM_1344_SHAKE_OQS:
389 return "secp521r1/eFrodoKEM-1344-SHAKE";
390 case Group_Params::HYBRID_SECP521R1_eFRODOKEM_1344_AES_OQS:
391 return "secp521r1/eFrodoKEM-1344-AES";
393 case Group_Params::HYBRID_X25519_ML_KEM_768:
394 return "x25519/ML-KEM-768";
395 case Group_Params::HYBRID_SECP256R1_ML_KEM_768:
396 return "secp256r1/ML-KEM-768";