Visual RFC.
ALL RFCs / RFC 8446
Read the RFC ↗
RFC 8446 / RECORDS

Inside an encrypted record

03

An authenticated-encryption operation protects content, its real type, and optional padding.

This guide explains the 2018 publication. Superseded by RFC 9846.

Related RFCs and changes

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

DIAGRAM§ 5.2 ↗
RFC 8446 · § 5.2EXAMPLE
4 / 4
Inside an encrypted recordA plaintext record becomes protected ciphertext; a tamper mark leads to failed authentication.A record is a protected parcelcontent | inner type | zero paddingAEAD + nonceheadervisibleauthenticated ciphertextmodified bytes → authentication fails
04
Verify before releasing plaintext.

A modified record fails authentication; do not deliver unverified bytes.

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
KEY POINT

The outer record is visible; its protected content is not.

  • TLSInnerPlaintext contains content, an inner content type, and optional zero padding.
  • The TLSCiphertext header is associated data for AEAD.
  • Failed record authentication terminates the connection with a bad_record_mac alert.
DETAILS

The examples simplify the wire representation. Follow the linked specification and application profile for implementation.

Read the RFC section ↗

Diagrams simplify the RFC. Read the linked sections for complete requirements.

Privacy
All chapters in this RFC
  1. The encrypted handshake
  2. Separate keys for separate jobs
  3. Inside an encrypted record
  4. Resume with a ticket
  5. Early data can be replayed
  6. Authentication and failure

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 ↗