Offer GREASE in a ClientHello and keep real choices
02A cipher suite names a set of cryptographic algorithms. The client advertises capabilities in ClientHello, and the server must ignore unknown offers while trying the remaining parameters.
The server can select 0x1301 in ServerHello. It must not select 0x0A0A even though the client offered it.
Source for this drawing: RFC 8701 · Read RFC section 3.1 ↗
New to this? Start hereA quick picture + helpful background
A seal answers a specific question.
A certificate or signature supports particular checks about a key or message. It does not automatically prove that every claim or sender is trustworthy.
Helpful first, if these ideas are unfamiliar
These pictures are analogies to help you learn. The linked RFC explains the actual rules.
Terms in this drawing
Related RFCs and changes
“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.
Unknown offers must not block a usable real choice.
- A client MAY advertise one or more GREASE values in the listed ClientHello extension points. Sending GREASE is optional.
- The server MUST NOT treat GREASE differently from any unknown value, MUST NOT negotiate it, and MUST try remaining known parameters.
- Ignoring an unknown offered value does not mean ignoring malformed messages or accepting an unknown selected value.
The worked cipher list uses TLS_AES_128_GCM_SHA256 (0x1301), a real TLS 1.3 suite from RFC 8446 Appendix B.4. Choosing it here assumes the server supports it. This is parameter selection only, not a completed or authenticated TLS handshake. Supported-groups/key_share, signature algorithms, versions, PSK modes and ALPN can also carry the source’s permitted GREASE offers.
Read the RFC section ↗