TWT-B3 — ML-DSA-65 réel sur 14 SDKs
Keygen, sign, verify en direct via liboqs (Rust, Python, C, C++, Swift, PHP, Perl, Fortran), circl (Go), BouncyCastle (Java, C#, VB.NET) et noble-post-quantum (TypeScript). Benchmarks PQC étendus à 12 SDKs.
TWT 1.5 est livré. 16 SDKs, 2000+ tests, 108+ benchmarks, ML-DSA-65 réel sur 14 SDKs, Internet-Draft IETF v2, Quality Gate SonarQube vert. État au 15/05/2026.
Keygen, sign, verify en direct via liboqs (Rust, Python, C, C++, Swift, PHP, Perl, Fortran), circl (Go), BouncyCastle (Java, C#, VB.NET) et noble-post-quantum (TypeScript). Benchmarks PQC étendus à 12 SDKs.
7 SDKs émettent désormais du TOON réel (pas JSON) sur le chemin générateur v2, conformément à la spécification draft-02 du format filaire.
Licence harmonisée suivant le modèle de la crate Rust, permettant l'adoption entreprise et un éventuel transfert à la Apache Foundation.
Audit AppSec complet : toutes les trouvailles CRITIQUE, HIGH, MED et LOW résolues. SonarQube 0 blocker, 0 critique. Corpus adversarial inter-SDK déployé.
Reliability / Security / Maintainability tous notés A. Couverture nouveau code 82,6 % (seuil ≥ 80 %).
Pistes A et C closes. D2/D4 + E1/E2/E3 + E5-partiel livrés. Évaluation de production-readiness publiée.
draft-toonwebtoken-twt-00 avec vecteurs de test reproductibles octet pour octet. Mis à jour en draft-02 avec MLDSA65 optionnel.
108+ benchmarks au total. Pire cas : TypeScript à 6,01 ms (marge de sécurité 5×). Vérification PQC la plus rapide : Rust à 56 µs.
| SDK | Tests | Benchmarks |
|---|---|---|
| Python | 322 | 9 |
| TypeScript | 190 | 9 |
| Java | 179 | 9 |
| C# | 185 | 9 |
| Go | 138 | 9 |
| Swift | 150 | 7 |
| PHP | 157 | 7 |
| Perl | 152 | 7 |
| VB.NET | 156 | 7 |
| Rust | 110 | 9 |
| C | 52 | — |
| C++ | 13 suites | 7 |
| Fortran | 13 suites | 7 |
| React | 53 | — |
| Vue | 53 | — |
| Delphi | Revue | — |
Toutes les mesures sur Apple Silicon (arm64). Budget : < 30 ms par opération.
| SDK | Keygen | Sign | Verify | Marge 30 ms |
|---|---|---|---|---|
| Rust | 61 µs | 237 µs | 56 µs | 126× |
| Python | 84 µs | 253 µs | 67 µs | 58× |
| Go | 103 µs | 269 µs | 83 µs | 76× |
| Java | 90 µs | 252 µs | 84 µs | 56× |
| C# | 128 µs | 415 µs | 470 µs | 54× |
| C++ | 80 µs | 250 µs | 62 µs | 120× |
| Swift | 100 µs | 300 µs | 80 µs | 100× |
| TypeScript | 1,25 ms | 6,01 ms | 1,31 ms | 5× |
| PHP | 142 µs | 440 µs | 213 µs | 68× |
| Perl | 79 µs | 274 µs | 67 µs | 109× |
| Fortran | 174 µs | 231 µs | 73 µs | 130× |
| VB.NET | 474 µs | 1,66 ms | 204 µs | 18× |
Chaque SDK est au moins 5× sous le budget de 30 ms. Les bindings natifs liboqs offrent du PQC sub-ms ; le pur JS (TypeScript) est le plus lent à ~6 ms — reste largement dans le budget.
8/10 items couverts (A01/A02/A04/A05/A07/A08/A09/A10). A03/A06 hors-périmètre (pas de BD / pas de surface d'attaque rendu côté client).
Audit complet en 6 niveaux (Tiers 0–6) : toutes les trouvailles CRITIQUE, HIGH, MED et LOW résolues. SonarQube 0 blocker, 0 critique. 22 504 LOC sur 154 fichiers.
FIPS 198-1 (HMAC-SHA256), 197 (AES-256-GCM), FIPS 204 (ML-DSA-65) — crypto réelle sur 14 SDKs via liboqs 0.15, circl 1.6.3, BouncyCastle 1.79.
FINMA, nFADP, RGPD, EU AI Act, HIPAA — 5 profils, 20 exigences, 5 écarts documentés.
Les 16 SDKs en double licence suivant le modèle de la crate Rust, permettant l'adoption entreprise et la conformité OSI.