276 if(group_name ==
"secp256r1") {
277 return Group_Params::SECP256R1;
279 if(group_name ==
"secp384r1") {
280 return Group_Params::SECP384R1;
282 if(group_name ==
"secp521r1") {
283 return Group_Params::SECP521R1;
285 if(group_name ==
"brainpool256r1") {
286 return Group_Params::BRAINPOOL256R1;
288 if(group_name ==
"brainpool384r1") {
289 return Group_Params::BRAINPOOL384R1;
291 if(group_name ==
"brainpool512r1") {
292 return Group_Params::BRAINPOOL512R1;
294 if(group_name ==
"x25519") {
295 return Group_Params::X25519;
297 if(group_name ==
"x448") {
298 return Group_Params::X448;
300 if(group_name ==
"brainpool256r1tls13") {
301 return Group_Params::BRAINPOOL256R1TLS13;
303 if(group_name ==
"brainpool384r1tls13") {
304 return Group_Params::BRAINPOOL384R1TLS13;
306 if(group_name ==
"brainpool512r1tls13") {
307 return Group_Params::BRAINPOOL512R1TLS13;
310 if(group_name ==
"ffdhe/ietf/2048") {
311 return Group_Params::FFDHE_2048;
313 if(group_name ==
"ffdhe/ietf/3072") {
314 return Group_Params::FFDHE_3072;
316 if(group_name ==
"ffdhe/ietf/4096") {
317 return Group_Params::FFDHE_4096;
319 if(group_name ==
"ffdhe/ietf/6144") {
320 return Group_Params::FFDHE_6144;
322 if(group_name ==
"ffdhe/ietf/8192") {
323 return Group_Params::FFDHE_8192;
326 if(group_name ==
"ML-KEM-512") {
327 return Group_Params::ML_KEM_512;
329 if(group_name ==
"ML-KEM-768") {
330 return Group_Params::ML_KEM_768;
332 if(group_name ==
"ML-KEM-1024") {
333 return Group_Params::ML_KEM_1024;
336 if(group_name ==
"eFrodoKEM-640-SHAKE") {
337 return Group_Params::eFRODOKEM_640_SHAKE_OQS;
339 if(group_name ==
"eFrodoKEM-976-SHAKE") {
340 return Group_Params::eFRODOKEM_976_SHAKE_OQS;
342 if(group_name ==
"eFrodoKEM-1344-SHAKE") {
343 return Group_Params::eFRODOKEM_1344_SHAKE_OQS;
345 if(group_name ==
"eFrodoKEM-640-AES") {
346 return Group_Params::eFRODOKEM_640_AES_OQS;
348 if(group_name ==
"eFrodoKEM-976-AES") {
349 return Group_Params::eFRODOKEM_976_AES_OQS;
351 if(group_name ==
"eFrodoKEM-1344-AES") {
352 return Group_Params::eFRODOKEM_1344_AES_OQS;
355 if(group_name ==
"x25519/ML-KEM-768") {
356 return Group_Params::HYBRID_X25519_ML_KEM_768;
358 if(group_name ==
"secp256r1/ML-KEM-768") {
359 return Group_Params::HYBRID_SECP256R1_ML_KEM_768;
361 if(group_name ==
"secp384r1/ML-KEM-1024") {
362 return Group_Params::HYBRID_SECP384R1_ML_KEM_1024;
365 if(group_name ==
"x25519/eFrodoKEM-640-SHAKE") {
366 return Group_Params::HYBRID_X25519_eFRODOKEM_640_SHAKE_OQS;
368 if(group_name ==
"x25519/eFrodoKEM-640-AES") {
369 return Group_Params::HYBRID_X25519_eFRODOKEM_640_AES_OQS;
371 if(group_name ==
"x448/eFrodoKEM-976-SHAKE") {
372 return Group_Params::HYBRID_X448_eFRODOKEM_976_SHAKE_OQS;
374 if(group_name ==
"x448/eFrodoKEM-976-AES") {
375 return Group_Params::HYBRID_X448_eFRODOKEM_976_AES_OQS;
378 if(group_name ==
"secp256r1/eFrodoKEM-640-SHAKE") {
379 return Group_Params::HYBRID_SECP256R1_eFRODOKEM_640_SHAKE_OQS;
381 if(group_name ==
"secp256r1/eFrodoKEM-640-AES") {
382 return Group_Params::HYBRID_SECP256R1_eFRODOKEM_640_AES_OQS;
385 if(group_name ==
"secp384r1/eFrodoKEM-976-SHAKE") {
386 return Group_Params::HYBRID_SECP384R1_eFRODOKEM_976_SHAKE_OQS;
388 if(group_name ==
"secp384r1/eFrodoKEM-976-AES") {
389 return Group_Params::HYBRID_SECP384R1_eFRODOKEM_976_AES_OQS;
392 if(group_name ==
"secp521r1/eFrodoKEM-1344-SHAKE") {
393 return Group_Params::HYBRID_SECP521R1_eFRODOKEM_1344_SHAKE_OQS;
395 if(group_name ==
"secp521r1/eFrodoKEM-1344-AES") {
396 return Group_Params::HYBRID_SECP521R1_eFRODOKEM_1344_AES_OQS;
404 case Group_Params::SECP256R1:
406 case Group_Params::SECP384R1:
408 case Group_Params::SECP521R1:
410 case Group_Params::BRAINPOOL256R1:
411 return "brainpool256r1";
412 case Group_Params::BRAINPOOL384R1:
413 return "brainpool384r1";
414 case Group_Params::BRAINPOOL512R1:
415 return "brainpool512r1";
416 case Group_Params::X25519:
418 case Group_Params::X448:
420 case Group_Params::BRAINPOOL256R1TLS13:
421 return "brainpool256r1tls13";
422 case Group_Params::BRAINPOOL384R1TLS13:
423 return "brainpool384r1tls13";
424 case Group_Params::BRAINPOOL512R1TLS13:
425 return "brainpool512r1tls13";
427 case Group_Params::FFDHE_2048:
428 return "ffdhe/ietf/2048";
429 case Group_Params::FFDHE_3072:
430 return "ffdhe/ietf/3072";
431 case Group_Params::FFDHE_4096:
432 return "ffdhe/ietf/4096";
433 case Group_Params::FFDHE_6144:
434 return "ffdhe/ietf/6144";
435 case Group_Params::FFDHE_8192:
436 return "ffdhe/ietf/8192";
438 case Group_Params::ML_KEM_512:
440 case Group_Params::ML_KEM_768:
442 case Group_Params::ML_KEM_1024:
443 return "ML-KEM-1024";
445 case Group_Params::eFRODOKEM_640_SHAKE_OQS:
446 return "eFrodoKEM-640-SHAKE";
447 case Group_Params::eFRODOKEM_976_SHAKE_OQS:
448 return "eFrodoKEM-976-SHAKE";
449 case Group_Params::eFRODOKEM_1344_SHAKE_OQS:
450 return "eFrodoKEM-1344-SHAKE";
451 case Group_Params::eFRODOKEM_640_AES_OQS:
452 return "eFrodoKEM-640-AES";
453 case Group_Params::eFRODOKEM_976_AES_OQS:
454 return "eFrodoKEM-976-AES";
455 case Group_Params::eFRODOKEM_1344_AES_OQS:
456 return "eFrodoKEM-1344-AES";
458 case Group_Params::HYBRID_X25519_eFRODOKEM_640_SHAKE_OQS:
459 return "x25519/eFrodoKEM-640-SHAKE";
460 case Group_Params::HYBRID_X25519_eFRODOKEM_640_AES_OQS:
461 return "x25519/eFrodoKEM-640-AES";
462 case Group_Params::HYBRID_X448_eFRODOKEM_976_SHAKE_OQS:
463 return "x448/eFrodoKEM-976-SHAKE";
464 case Group_Params::HYBRID_X448_eFRODOKEM_976_AES_OQS:
465 return "x448/eFrodoKEM-976-AES";
466 case Group_Params::HYBRID_SECP256R1_eFRODOKEM_640_SHAKE_OQS:
467 return "secp256r1/eFrodoKEM-640-SHAKE";
468 case Group_Params::HYBRID_SECP256R1_eFRODOKEM_640_AES_OQS:
469 return "secp256r1/eFrodoKEM-640-AES";
470 case Group_Params::HYBRID_SECP384R1_eFRODOKEM_976_SHAKE_OQS:
471 return "secp384r1/eFrodoKEM-976-SHAKE";
472 case Group_Params::HYBRID_SECP384R1_eFRODOKEM_976_AES_OQS:
473 return "secp384r1/eFrodoKEM-976-AES";
474 case Group_Params::HYBRID_SECP521R1_eFRODOKEM_1344_SHAKE_OQS:
475 return "secp521r1/eFrodoKEM-1344-SHAKE";
476 case Group_Params::HYBRID_SECP521R1_eFRODOKEM_1344_AES_OQS:
477 return "secp521r1/eFrodoKEM-1344-AES";
479 case Group_Params::HYBRID_X25519_ML_KEM_768:
480 return "x25519/ML-KEM-768";
481 case Group_Params::HYBRID_SECP256R1_ML_KEM_768:
482 return "secp256r1/ML-KEM-768";
483 case Group_Params::HYBRID_SECP384R1_ML_KEM_1024:
484 return "secp384r1/ML-KEM-1024";
494 case Group_Params::BRAINPOOL256R1:
495 case Group_Params::BRAINPOOL256R1TLS13:
496 return "brainpool256r1";
497 case Group_Params::BRAINPOOL384R1:
498 case Group_Params::BRAINPOOL384R1TLS13:
499 return "brainpool384r1";
500 case Group_Params::BRAINPOOL512R1:
501 case Group_Params::BRAINPOOL512R1TLS13:
502 return "brainpool512r1";