From cd779afa7f764fd05b3b830b088e02075a781115 Mon Sep 17 00:00:00 2001 From: "shoney.arickathil" Date: Wed, 9 Sep 2026 03:15:01 +0200 Subject: [PATCH] docs(rv2-tls): phase G1 signing landed (RSA-PSS + ECDSA-P256) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit §G sub-phase G1: constant-time RSA-PSS + ECDSA-P256 signing landed and KAT'd (RSA vs python from-spec; ECDSA vs RFC 6979 A.2.5). Remaining G1c (private-key PEM/DER parse) folded into G3 (which reads key files); the server FSM takes raw key material. Co-Authored-By: Claude Opus 4.8 (cherry picked from commit f02518cdabab02043a04c6bdd28a81b86bb9fbd4) --- docs/stories/runtime-v2/09-in-process-tls.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/docs/stories/runtime-v2/09-in-process-tls.md b/docs/stories/runtime-v2/09-in-process-tls.md index f923e5f..865a958 100644 --- a/docs/stories/runtime-v2/09-in-process-tls.md +++ b/docs/stories/runtime-v2/09-in-process-tls.md @@ -277,9 +277,13 @@ when picked up. ### The sub-phases -- **G1 — signing + key parsing.** Constant-time RSA-PSS sign + ECDSA-P256 sign - (RFC 6979), and private-key PEM/DER parsing (PKCS#8, PKCS#1, SEC1). Offline - KATs: sign→verify round-trip, RFC 6979 vectors, and a python cross-check. +- **G1 — signing + key parsing.** 🔄 **signing LANDED 2026-09-09** — + constant-time **RSA-PSS sign** (`wo_rsa_pss_sha256_sign`, `bn_modexp_ct`) and + **ECDSA-P256 sign** (`wo_ecdsa_p256_sha256_sign`, RFC 6979 nonce, `jmul_ct`), + KAT'd byte-for-byte (RSA vs a python from-spec oracle with a fixed salt; ECDSA + vs the RFC 6979 A.2.5 vectors) + sign→verify round-trip, ASan/UBSan clean. + **Remaining G1c**: private-key PEM/DER parsing (PKCS#8, PKCS#1, SEC1) — lands + with G3, which is what reads key files (the FSM takes raw key material). - **G2 — the server handshake FSM.** `wo_tls_server`: parse ClientHello, select the suite, generate the ephemeral, send ServerHello + EncryptedExtensions + Certificate + a signed CertificateVerify + Finished, then verify the client