# 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