Visual RFC.
ALL RFCs / RFC 8701
Read the RFC ↗
RFC 8701 / TLS EXTENSIBILITY

Offer GREASE in a ClientHello and keep real choices

02

A 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.

RFC 8701 · § 3.1EXAMPLE
3 / 3
Offer GREASE in a ClientHello and keep real choicesThree cumulative cipher-suite parameter scenes. The client MAY offer GREASE 0x0A0A beside real suite 0x1301 in ClientHello. The server MUST ignore the unknown offer just like any ordinary unknown offered value, leaving 0x1301 as a supported candidate. ServerHello selects only the real suite. This does not establish a completed or authenticated handshake. The teaching known set is deliberately limited.ClientServerClientHellocipher_suites0x0A0A0x1301ignore unknownreal candidateServerHello: 0x1301A real parameter, not handshake completion
03
Select only the supported real suite.

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 ↗

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
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.

Related RFCs and changes

“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.

KEY POINT

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.
DETAILS

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 ↗

All chapters in RFC 8701

Drawing view

Scroll the drawing to see every part. Playback controls stay above it.

RFC 9700 / CHAPTERS

Chapters

For full details, tables, algorithms, and exceptions, read the original RFC.

RFC status and corrections ↗