Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use 'encryption' less often #1708

Merged
merged 2 commits into from
Aug 28, 2018
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 11 additions & 11 deletions draft-ietf-quic-transport.md
Original file line number Diff line number Diff line change
Expand Up @@ -995,7 +995,7 @@ response to connection migration ({{migration}}). NEW_CONNECTION_ID frames
## Packet Numbers {#packet-numbers}

The packet number is an integer in the range 0 to 2^62-1. The value is used in
determining the cryptographic nonce for packet encryption. Each endpoint
determining the cryptographic nonce for packet protection. Each endpoint
maintains a separate packet number for sending and receiving.

Packet numbers are divided into 3 spaces in QUIC:
Expand All @@ -1005,18 +1005,18 @@ Packet numbers are divided into 3 spaces in QUIC:
- Application data space: All 0-RTT and 1-RTT encrypted packets
{{packet-protected}} are in this space.

As described in {{QUIC-TLS}}, each packet type uses different encryption keys.
As described in {{QUIC-TLS}}, each packet type uses different protection keys.

Conceptually, a packet number space is the encryption context in which
a packet can be processed and ACKed. Initial packets can only be sent
with Initial encryption keys and ACKed in packets which are also
Initial packets. Similarly, Handshake packets can only be sent and
acknowledged in Handshake packets.
Conceptually, a packet number space is the context in which a packet can be
processed and acknowledged. Initial packets can only be sent with Initial
packet protection keys and acknowledged in packets which are also Initial
packets. Similarly, Handshake packets are sent at the Handshake encryption
level and can only be acknowledged in Handshake packets.

This enforces cryptographic separation between the data sent in the
different packet sequence number spaces. Each packet number space
starts at packet number 0. Subsequent packets sent in the
same packet number space MUST increase the packet number by at least one.
This enforces cryptographic separation between the data sent in the different
packet sequence number spaces. Each packet number space starts at packet number
0. Subsequent packets sent in the same packet number space MUST increase the
packet number by at least one.

0-RTT and 1-RTT data exist in the same packet number space to make loss recovery
algorithms easier to implement between the two packet types.
Expand Down