PQ Crypta Logo

Spontaneous 1-RTT key update

Update to the next key phase and carry on. Once a packet protected with the next phase is processed, §6.2 is a MUST — "The endpoint MUST update its send keys to the corresponding key phase in response" — so the response written after the update has to be read with the new keys and the request completed.

PQ CRYPTA PLATFORM

🏠 Main

📰 News

👤 Account

⟨ QUANTUM ERROR PORTAL ⟩

Navigate the Error Dimensions

Jump to an anomaly59

Every one of these is a page: what the server emits, the clause it is judged against, and how each client answered. The full list carries the verdict tallies too.

q-key-update · RFC 9001 §6.2 · interoperability · layer quic · udp/4487 · MUST

Passing this means: Correctly decoded something valid but demanding.

Anomaly type: transport

How each client answered

ClientVersionVerdictWhat happened
curl libcurl/8.23.0 ngtcp2/1.25.0 Pass Decoded it and completed the request.
quinn noq fork (189b0ed) Pass Decoded it and completed the request.
aioquic 1.3.0 (PyPI wheel) Pass Decoded it and completed the request.
chromium build 1248 Pass Decoded it and completed the request.
quic-go quic-go v0.61.0 (h1:9So2anK4Tp22) Pass Decoded it and completed the request.
quiche 0.30.0 (1c8e976) Pass Decoded it and completed the request.
neqo 0.31.1 (cac2b74) Pass Decoded it and completed the request.
picoquic 8162550 Pass Decoded it and completed the request.
ngtcp2 3c23148 Pass Decoded it and completed the request.
lsquic 4.9.4 (2b30189) Pass Decoded it and completed the request.
xquic 2060a44 Pass Decoded it and completed the request.
msquic 2.7.0 (7e6525d) Pass Decoded it and completed the request.
quico 0.7.0 (npm) Pass Decoded it and completed the request.

What the clause requires

Update to the next key phase and carry on. Once a packet protected with the next phase is processed, §6.2 is a MUST — "The endpoint MUST update its send keys to the corresponding key phase in response" — so the response written after the update has to be read with the new keys and the request completed.

Judged against RFC 9001.

Run this one yourself

Every test is reachable from your own client. Nothing here needs an account.

curl -s https://conformance.pqcrypta.com/catalog.json \
  | jq '.tests[] | select(.id == "q-key-update")'