# Enum Class Group

java.lang.Object
java.lang.Enum<Group>
org.apache.tomcat.util.net.openssl.ciphers.Group

All Implemented Interfaces:
  `Serializable, Comparable<Group>, Constable`

public enum Group extends Enum<Group>
All the supported named groups.

See Also:
  - The supported groups registry

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from class Enum

  `Enum.EnumDesc<E>`

- ## Enum Constant Summary

  Enum Constants
  Enum Constant
  Description
  `brainpoolP256r1`
  Brainpool P-256 (brainpoolP256r1) elliptic curve group.
  `brainpoolP384r1`
  Brainpool P-384 (brainpoolP384r1) elliptic curve group.
  `brainpoolP512r1`
  Brainpool P-512 (brainpoolP512r1) elliptic curve group.
  `curveSM2`
  SM2 elliptic curve group.
  `curveSM2MLKEM768`
  Hybrid curveSM2 + ML-KEM-768 key exchange group.
  `ffdhe2048`
  2048-bit finite field Diffie-Hellman group.
  `ffdhe3072`
  3072-bit finite field Diffie-Hellman group.
  `ffdhe4096`
  4096-bit finite field Diffie-Hellman group.
  `ffdhe6144`
  6144-bit finite field Diffie-Hellman group.
  `ffdhe8192`
  8192-bit finite field Diffie-Hellman group.
  `MLKEM1024`
  ML-KEM-1024 post-quantum key exchange group.
  `MLKEM512`
  ML-KEM-512 post-quantum key exchange group.
  `MLKEM768`
  ML-KEM-768 post-quantum key exchange group.
  `secp256r1`
  NIST P-256 (secp256r1) elliptic curve group.
  `SecP256r1MLKEM768`
  Hybrid secp256r1 + ML-KEM-768 key exchange group.
  `secp384r1`
  NIST P-384 (secp384r1) elliptic curve group.
  `SecP384r1MLKEM1024`
  Hybrid secp384r1 + ML-KEM-1024 key exchange group.
  `secp521r1`
  NIST P-521 (secp521r1) elliptic curve group.
  `x25519`
  Curve25519 elliptic curve group.
  `X25519MLKEM768`
  Hybrid x25519 + ML-KEM-768 key exchange group.
  `x448`
  Curve448 elliptic curve group.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `getId()`
  Returns the numeric identifier for this group as defined in the TLS supported groups registry.
  `static Group`
  `valueOf(int groupId)`
  Returns the Group enum constant for the given numeric group identifier.
  `static Group`
  `valueOf(String name)`
  Returns the enum constant of this class with the specified name.
  `static Group[]`
  `values()`
  Returns an array containing the constants of this enum class, in the order they are declared.

  ### Methods inherited from class Enum

  `clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

  ### Methods inherited from class Object

  `getClass, notify, notifyAll, wait, wait, wait`

- ## Enum Constant Details

  - ### secp256r1

    public static final Group secp256r1
    NIST P-256 (secp256r1) elliptic curve group.

  - ### secp384r1

    public static final Group secp384r1
    NIST P-384 (secp384r1) elliptic curve group.

  - ### secp521r1

    public static final Group secp521r1
    NIST P-521 (secp521r1) elliptic curve group.

  - ### brainpoolP256r1

    public static final Group brainpoolP256r1
    Brainpool P-256 (brainpoolP256r1) elliptic curve group.

  - ### brainpoolP384r1

    public static final Group brainpoolP384r1
    Brainpool P-384 (brainpoolP384r1) elliptic curve group.

  - ### brainpoolP512r1

    public static final Group brainpoolP512r1
    Brainpool P-512 (brainpoolP512r1) elliptic curve group.

  - ### x25519

    public static final Group x25519
    Curve25519 elliptic curve group.

  - ### x448

    public static final Group x448
    Curve448 elliptic curve group.

  - ### ffdhe2048

    public static final Group ffdhe2048
    2048-bit finite field Diffie-Hellman group.

  - ### ffdhe3072

    public static final Group ffdhe3072
    3072-bit finite field Diffie-Hellman group.

  - ### ffdhe4096

    public static final Group ffdhe4096
    4096-bit finite field Diffie-Hellman group.

  - ### ffdhe6144

    public static final Group ffdhe6144
    6144-bit finite field Diffie-Hellman group.

  - ### ffdhe8192

    public static final Group ffdhe8192
    8192-bit finite field Diffie-Hellman group.

  - ### curveSM2

    public static final Group curveSM2
    SM2 elliptic curve group.

  - ### MLKEM512

    public static final Group MLKEM512
    ML-KEM-512 post-quantum key exchange group.

  - ### MLKEM768

    public static final Group MLKEM768
    ML-KEM-768 post-quantum key exchange group.

  - ### MLKEM1024

    public static final Group MLKEM1024
    ML-KEM-1024 post-quantum key exchange group.

  - ### SecP256r1MLKEM768

    public static final Group SecP256r1MLKEM768
    Hybrid secp256r1 + ML-KEM-768 key exchange group.

  - ### X25519MLKEM768

    public static final Group X25519MLKEM768
    Hybrid x25519 + ML-KEM-768 key exchange group.

  - ### SecP384r1MLKEM1024

    public static final Group SecP384r1MLKEM1024
    Hybrid secp384r1 + ML-KEM-1024 key exchange group.

  - ### curveSM2MLKEM768

    public static final Group curveSM2MLKEM768
    Hybrid curveSM2 + ML-KEM-768 key exchange group.

- ## Method Details

  - ### values

    public static Group[] values()
    Returns an array containing the constants of this enum class, in the order they are declared.
    Returns:
      an array containing the constants of this enum class, in the order they are declared

  - ### valueOf

    public static Group valueOf(String name)
    Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
    Parameters:
      `name` - the name of the enum constant to be returned.
    Returns:
      the enum constant with the specified name
    Throws:
      `IllegalArgumentException` - if this enum class has no constant with the specified name
      `NullPointerException` - if the argument is null

  - ### getId

    public int getId()
    Returns the numeric identifier for this group as defined in the TLS supported groups registry.
    Returns:
      the numeric group identifier

  - ### valueOf

    public static Group valueOf(int groupId)
    Returns the Group enum constant for the given numeric group identifier.
    Parameters:
      `groupId` - The numeric group identifier
    Returns:
      The corresponding Group, or `null` if not found