TWT-B3 — ML-DSA-65 real su 14 SDK
Keygen, sign, verify attivi tramite liboqs (Rust, Python, C, C++, Swift, PHP, Perl, Fortran), circl (Go), BouncyCastle (Java, C#, VB.NET) e noble-post-quantum (TypeScript). Benchmark PQC estesi a 12 SDK.
TWT 1.5 è consegnato. 16 SDK, 2000+ test, 108+ benchmark, ML-DSA-65 real su 14 SDK, IETF Internet-Draft v2, SonarQube Quality Gate verde. Stato al 2026-05-15.
Keygen, sign, verify attivi tramite liboqs (Rust, Python, C, C++, Swift, PHP, Perl, Fortran), circl (Go), BouncyCastle (Java, C#, VB.NET) e noble-post-quantum (TypeScript). Benchmark PQC estesi a 12 SDK.
7 SDK ora emettono TOON real (non JSON) sul percorso del generatore v2, conforme alla specifica del formato wire draft-02.
Licenza armonizzata seguendo il modello del crate Rust, abilitando l'adozione enterprise e il potenziale trasferimento alla Apache Foundation.
Audit AppSec completo: tutti i risultati CRITICAL, HIGH, MED e LOW risolti. SonarQube 0 blocker, 0 problemi critici. Corpus avversariale cross-SDK distribuito.
Affidabilità / Sicurezza / Manutenibilità tutte valutate A. Copertura del nuovo codice 82,6% (≥ soglia 80).
Track A & C chiusi. D2/D4 + E1/E2/E3 + E5-parziale consegnati. Pubblicata la valutazione di prontezza alla produzione.
draft-toonwebtoken-twt-00 con vettori di test riproducibili byte per byte. Ora aggiornato a draft-02 con MLDSA65 opzionale.
108+ benchmark in totale. Caso peggiore: TypeScript a 6,01 ms (margine di sicurezza 5×). Verifica PQC più rapida: Rust a 56 µs.
| SDK | Test | Benchmark |
|---|---|---|
| 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 suite | 7 |
| Fortran | 13 suite | 7 |
| React | 53 | — |
| Vue | 53 | — |
| Delphi | Revisione | — |
Tutte le operazioni misurate su Apple Silicon (arm64). Budget: < 30 ms per operazione.
| SDK | Keygen | Sign | Verify | Margine 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× |
Ogni SDK è almeno 5× sotto il budget di 30 ms. I binding nativi liboqs offrono PQC sub-ms; JS puro (TypeScript) è il più lento a ~6 ms — comunque ampiamente entro il budget.
8/10 voci coperte (A01/A02/A04/A05/A07/A08/A09/A10). A03/A06 sono fuori ambito (nessun DB / nessuna superficie di attacco di rendering client-side).
Audit completo a 6 livelli (Tiers 0–6): tutti i risultati CRITICAL, HIGH, MED e LOW risolti. SonarQube 0 blocker, 0 problemi critici. 22.504 LOC su 154 file.
FIPS 198-1 (HMAC-SHA256), 197 (AES-256-GCM), FIPS 204 (ML-DSA-65) — crittografia real su 14 SDK tramite liboqs 0.15, circl 1.6.3, BouncyCastle 1.79.
FINMA, nFADP, GDPR, EU AI Act, HIPAA — 5 profili, 20 requisiti, 5 lacune documentate.
Tutti i 16 SDK con doppia licenza seguendo il modello del crate Rust, abilitando l'adozione enterprise e la conformità OSI.