lsd0012

LSD0012: CORE Authenticated Key Exchange (CAKE)
Log | Files | Refs

commit 4d38f86a2030aecb4d4955c0a076c5c45c1fda52
parent a12631552ba92bbdb01f83e363094027aecb8138
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date:   Tue, 29 Jul 2025 13:34:01 +0200

open tasks and notes

Diffstat:
Mdraft-schanzen-cake.xml | 29+++++++++++++++++++----------
1 file changed, 19 insertions(+), 10 deletions(-)

diff --git a/draft-schanzen-cake.xml b/draft-schanzen-cake.xml @@ -143,8 +143,8 @@ <dt>RHTS:</dt> <dd>Responder Handshake Secret Key</dd> <dt>H(D):</dt> <dd>A 512-bit hash over D. The hash function is TBD (Blake2b or SHA-512).</dd> <dt>T(M):</dt> <dd>means the transcript as a concatenation of received/sent messages starting from and including the InitiatorHello pk_e until and including M. Note that the transcript refers to everything that is seen on the wire, including potentially encrypted messages or fields and metadata.</dd> - <dt>'{}K'</dt> <dd>indicates encryption with a handshake traffic key K and <xref target="RFC8439"/>, the ChaCha20-Poly1305 Authenticated Encryption with Associated Data (AEAD) construction.</dd> - <dt>'[]K'</dt> <dd>indicates encryption with an application traffic key K and <xref target="RFC8439"/>, the ChaCha20-Poly1305 Authenticated Encryption with Associated Data (AEAD) construction.</dd> + <dt>'{}K'</dt> <dd>indicates encryption with a handshake traffic key K and a modified <xref target="RFC8439"/>, the XChaCha20-Poly1305 Authenticated Encryption with Associated Data (AEAD) construction.</dd> + <dt>'[]K'</dt> <dd>indicates encryption with an application traffic key K and a modified <xref target="RFC8439"/>, the XChaCha20-Poly1305 Authenticated Encryption with Associated Data (AEAD) construction.</dd> </dl> </section> <section anchor="rationale" numbered="true" toc="default"> @@ -520,7 +520,7 @@ nonce = HKDF-Expand ([I,R][A,H]TS, "iv", 24) <li>(ss<sub>R</sub>,c<sub>R</sub>) &lt;- Encaps(pk<sub>R</sub>)</li> </ol> <t> - The pk<sub>I</sub> and <tt>ServiceInfo</tt> are encrypted using ChaCha20-Poly1305 <xref target="RFC8439"/> + The pk<sub>I</sub> and <tt>ServiceInfo</tt> are encrypted using XChaCha20-Poly1305 <xref target="RFC8439"/> with key and IV derived from the ETS. <!-- FIXME: Discuss IV. We may be able to use data from HKDF-Expand for that --> </t> @@ -684,13 +684,22 @@ nonce = HKDF-Expand ([I,R][A,H]TS, "iv", 24) - </t> </section> - <!-- <section> - <name>Implementation and Deployment Status</name> - <t> - FIXME - </t> - </section> - <section> + <section> + <name>Implementation and Deployment Status</name> + <t> + The CAKE handshake is currently implemented in a branch. + Open tasks include: + </t> + <ol> + <li>Explain how XChaCha20 works (see libsodium)</li> + <li>Rekeying</li> + <li>ACK handling including retransmissions</li> + <li>Services info transmission (currently empty/unused)</li> + <li>Secrets cleanup using memset_explicit et al.</li> + <li>Integrate and test PILS PID changes (potentially requires in-band signalling of new PIDs in CORE, not really that much related to CAKE)</li> + </ol> + </section> + <!-- <section> <name>Acknowledgements</name> <t> FIXME