Menu ORIGIN™
06
Stack crypto CORTEX NK™ — 16 primitives prouvées CT et benchmarkées · TCB crypto 12/12 sur toolchain de prod

Cryptographie 16 prouvées CT · TCB crypto 12/12 sur le binaire livré

🔐
Preuve sur le binaire livré · vérifiable en data room
Le TCB cryptographique de CORTEX NK™ est intégralement prouvé Constant-Time sur la toolchain de production exacte (gcc-aarch64-elf 16.1.0 -O2 bare-metal) : les 12 primitives crypto du TCB BL2 sont prouvées CT au niveau binaire sur le binaire réellement livré, et non sur une simple toolchain d’analyse. Aucun autre micronoyau formellement vérifié (seL4, Muen, ProvenCore, PikeOS, Green Hills INTEGRITY, CertiKOS) ne publie une preuve CT au binaire sur sa toolchain de production, couplée à un TCB minimal (2 287 LOC, ×3,8 plus petit que seL4).

Stack crypto CORTEX NK™ : 16 primitives BINAIRE prouvées Constant-Time au niveau binaire ARM64 + x86-64 via Binsec/Rel (méthodologie CT-slice + composition stricte HACL*), dont l’intégralité des 12 primitives du TCB cryptographique BL2 re-prouvées sur la toolchain de production exacte (gcc-aarch64-elf -O2 bare-metal — campagne CFVL-BINSEC-039/040/041). Les 16 primitives prouvées CT sont en outre toutes benchmarkées en performance (implémentation HACL*, Tableau 3) ; + 8 primitives mesurées via liboqs 0.10.1 + libsodium dont 5 PQC additionnelles. Standards FIPS 203/204/205 + Round 4 NIST (BIKE, HQC). Mesures sur Apple Silicon · clang -O2 · N=1000 · CLOCK_MONOTONIC_RAW. HQC-256 (Round 4 NIST, candidat français INRIA/UVSQ) inclus et mesuré. 36 rapports CFVL-BINSEC · 20 661 lignes d’évidence formelle CT/NI reproductible (snapshot Sprints 65-88 ; évidence étendue depuis : BINSEC-039 à 045).

Primitives BINAIRE CT
16
Binsec/Rel · cross-arch · 72+ preuves
TCB crypto sur toolchain de PROD
12/12
gcc-O2 bare-metal · binaire BL2 livré
Primitives prouvées CT — toutes benchmarkées
16
perf HACL* (Tableau 3) · + 8 réf. liboqs/libsodium (dont 5 PQC)
Double approche audit-grade. Les preuves CT BINAIRE garantissent mathématiquement l’absence de fuite par canal temporel au niveau machine. Point distinctif : les 12 primitives du TCB cryptographique sont prouvées Constant-Time sur la toolchain de production exacte — la preuve porte sur le binaire réellement livré, pas sur une toolchain d’analyse. HQC-256, candidat souverain français INRIA/UVSQ, mesuré à 4,72 ms en encapsulation ; ChaCha20-Poly1305 le plus rapide à 310,90 ns.

Tableau 1 — 8 primitives benchmarkées performance

Mesures temporelles réelles via liboqs 0.10.1 + libsodium · N=1000 · CLOCK_MONOTONIC_RAW · mean/p50/p95/p99. Standards FIPS 203/204/205 + Round 4 NIST.

PrimitiveStandard / sourcemeanClasse
Cryptographie symétrique et dérivation
ChaCha20-Poly1305RFC 8439 · libsodium · encrypt 64B310,90 nsAEAD
HMAC-SHA256RFC 2104 · libsodium · 64B input2 787,50 nsMAC
HKDF-SHA256RFC 5869 · Extract + Expand 32B3 805,84 nsKDF
Post-quantique — encapsulation (KEM)
ML-KEM-1024FIPS 203 · NIST PQC · encaps29,45 µsPQC
BIKE-L3Round 4 NIST · diversification · encaps1 326,91 µsPQC
HQC-256 🇫🇷Round 4 NIST · INRIA France · encaps4 720,30 µsPQC · FR
Post-quantique — signature
ML-DSA-87FIPS 204 · NIST PQC · sign494,96 µsPQC
SLH-DSA-256sFIPS 205 · réserve ultime · sign481,94 msPQC

Tableau 2 — 16 primitives BINAIRE prouvées Constant-Time

Preuves formelles de Constant-Time au niveau binaire ARM64 + x86-64 via Binsec/Rel. Méthodologie CT-slice + composition stricte HACL* INRIA Prosecco. Reproductibilité via data room / sur demande. 36 rapports CFVL-BINSEC associés (snapshot Sprints 65-88).

PrimitiveUsage productionSprint · CFVLStatutToolchain PROD
Hashage — SHA / Keccak
SHA-256 (1 bloc)TLS, JWT, signaturesS65 · BINSEC-009UTILISÉE✓ PROD
SHA-256 multi-bloc (4 bl.)Hachage volumesS83 · BINSEC-025UTILISÉE✓ PROD
SHA-512 (2 blocs)RFC 6234, certificatsS84 · BINSEC-027CATALOGUE✓ PROD
SHA-3 / Keccak-256Ethereum, NIST SP 800-185S69 · BINSEC-013CATALOGUE✓ PROD
Authentification de messages (MAC)
HMAC-SHA-256TLS, JWT, capability MACS66 · BINSEC-010UTILISÉE✓ PROD
HMAC-SHA-512IPsec, signatures longuesS84 · BINSEC-028CATALOGUE✓ PROD
HMAC-BLAKE2b-32Argon2, WireGuardS83 · BINSEC-026CATALOGUE✓ PROD
Poly1305-32AEAD authentication (userspace)S67 · BINSEC-011UTILISÉEhors TCB
Chiffrement et AEAD
ChaCha20Chiffrement flux — userspaceS68 · BINSEC-012UTILISÉEhors TCB
ChaCha20-Poly1305 AEADTLS 1.3, WireGuard, Signal — userspaceS79 · BINSEC-022UTILISÉEhors TCB
Dérivation de clé (KDF)
HKDF-extract / SHA-256Dérivation clés TLS 1.3S70 · BINSEC-014UTILISÉE✓ PROD
HKDF-expand / SHA-256Dérivation clés TLS 1.3S77-B · BINSEC-021UTILISÉE✓ PROD
HKDF-expand / SHA-512KDF haute sécuritéS85.1 · BINSEC-029CATALOGUE✓ PROD
Asymétrique — échange de clé, signature, PQC
Ed25519 SIGN 🔒Secure Boot, signatures TLS / JWTS89 · BINSEC-039UTILISÉE✓ PROD
X25519 ECDH ⭐TLS 1.3, WireGuard, Signal, SSHS85.2 · BINSEC-030/041UTILISÉE✓ PROD
FrodoKEM-64 KEM 🔬Recherche · variante test (prod 640 → BINSEC-045)S88 · BINSEC-036CT BINAIRE (n=64)hors TCB
Colonne Toolchain PROD — ✓ PROD : primitive du TCB crypto BL2 prouvée CT sur la toolchain de production exacte (gcc-aarch64-elf -O2 bare-metal, binaire livré) · hors TCB : primitive userspace ou variante-test (preuve CT au binaire sur toolchain d’analyse, hors des 12 primitives du TCB crypto BL2). Bilan : 12 / 12 du TCB cryptographique prouvées sur le binaire livré (vagues CFVL-BINSEC-039 / 040 / 041).

Tableau 3 — performance mesurée des primitives prouvées CT

Mesure de l’implémentation HACL* — celle prouvée CT au Tableau 2 — sur le même rig que le Tableau 1 : Apple Silicon M2 · clang -O2 · CLOCK_MONOTONIC_RAW · warmup 1 000 + 10 000 mesures · mean / p99. FrodoKEM mesuré au paramètre de production 640 (le n=64 du Tableau 2 est une variante de test, non benchmarkée). Réf. CFVL-BENCH-CT16-001 v0.1.

Primitive (impl HACL*)Entréemeanp99unité
Hashage
SHA-25664 B485625ns
SHA-256 (4 blocs)256 B1 1961 459ns
SHA-512 (2 blocs)128 B588666ns
SHA3-25664 B764834ns
Authentification de messages (MAC)
HMAC-SHA-25664 B1 0221 084ns
HMAC-SHA-51264 B9681 041ns
HMAC-BLAKE2b64 B593667ns
Poly130564 B72125ns
Chiffrement et AEAD (userspace)
ChaCha201 KiB1 4371 542ns
ChaCha20-Poly1305 enc1 KiB2 2282 292ns
Dérivation de clé (KDF)
HKDF-extract / SHA-25632 B709750ns
HKDF-expand / SHA-25632→32 B717791ns
HKDF-expand / SHA-51232→32 B9331 000ns
Asymétrique
Ed25519 signmsg 32 B38,3356,46µs
X25519 scalarmult1 op26,8236,25µs
Post-quantique — FrodoKEM-640 (liboqs, hors TCB)
FrodoKEM-640 keygenn=6401 2331 414µs
FrodoKEM-640 encapsn=6401 3671 458µs
FrodoKEM-640 decapsn=6401 3601 466µs
Lecture. Mesure de performance de l’implémentation HACL* réellement livrée (celle prouvée CT au Tableau 2), sur host dev Apple Silicon — distincte de la cible bare-metal aarch64-elf de production, et sans rapport avec le statut CT/TCB (12/12 inchangé). Pour les 3 primitives communes au Tableau 1 (ChaCha20-Poly1305, HMAC-SHA256, HKDF), le Tableau 1 reporte la référence libsodium et ce tableau l’implémentation HACL* livrée — les écarts reflètent des implémentations et des tailles d’entrée distinctes (à 64 B, HMAC-SHA256 HACL* est même plus rapide que la référence libsodium). Réf. CFVL-BENCH-CT16-001 v0.1, vérifiable en data room.
$ clang -O2 -o bench_nk_crypto bench_nk_crypto.c -loqs -lsodium -lcrypto && ./bench_nk_crypto
===========================================================================
Stack crypto CORTEX NK — 16 BINAIRE CT (toutes benchmarkées, Tab.3) + 8 réf liboqs
===========================================================================
[1/2] 16 primitives BINAIRE prouvées Constant-Time (Binsec/Rel)
SHA-256 (1bl, 4bl) · SHA-512 · SHA-3/Keccak-256
HMAC-SHA-256 · HMAC-SHA-512 · HMAC-BLAKE2b · Poly1305
ChaCha20 · ChaCha20-Poly1305 AEAD
HKDF-extract · HKDF-expand SHA256 · HKDF-expand SHA512
Ed25519 SIGN · X25519 ECDH
────────────────────────────────────────────────────────────
✓ 12/12 du TCB CRYPTO prouvées sur TOOLCHAIN DE PROD (gcc-O2 baremetal, vagues 0+1+2)
X25519 ⭐ CT au binaire (toolchain prod) · FrodoKEM CT au binaire (n=64 → prod 640, BINSEC-045)
────────────────────────────────────────────────────────────
[2/2] 8 primitives benchmarkées performance
Primitive │ mean │ unit
────────────────────────────────────┼───────────────────┼───────
ChaCha20-Poly1305 encrypt 64B │ 310,90 │ ns
HMAC-SHA256 64B │ 2 787,50 │ ns
HKDF-SHA256 Extract+Expand 32B │ 3 805,84 │ ns
ML-KEM-1024 encaps [FIPS 203] │ 29,45 │ µs
ML-DSA-87 sign [FIPS 204] │ 494,96 │ µs
BIKE-L3 encaps [Round 4] │ 1 326,91 │ µs
HQC-256 encaps 🇫🇷 [Round 4] │ 4 720,30 │ µs
SLH-DSA-256s sign [FIPS 205] │ 481,94 │ ms
===========================================================================
✅ 16/16 preuves CT BINAIRE PASS · 8/8 benchmarks PASS · 0 crash
✅ 12/12 du TCB CRYPTO prouvées sur toolchain de PROD — couverture intégrale
✅ 36 rapports CFVL-BINSEC · 20 661 lignes évidence CT/NI (snapshot 65-88)
Lecture audit-grade. CORTEX NK™ publie deux propriétés cryptographiques complémentaires : (1) 16 primitives BINAIRE prouvées Constant-Time via Binsec/Rel au niveau machine ARM64 + x86-64 ; (2) les 16 primitives prouvées CT sont toutes benchmarkées en performance (impl HACL*, Tableau 3), complétées par 8 primitives mesurées via liboqs 0.10.1 + libsodium dont 5 PQC (Apple Silicon · N=1000 · CLOCK_MONOTONIC_RAW). Point distinctif : le TCB cryptographique de BL2 — ses 12 primitives — est intégralement prouvé Constant-Time sur la toolchain de production exacte (gcc-aarch64-elf 16.1.0 -O2 bare-metal — campagne CFVL-BINSEC-039 / 040 / 041). Les preuves portent sur le binaire réellement livré, et non sur une simple toolchain d’analyse — il n’y a plus d’asymétrie de toolchain dans le périmètre du TCB crypto BL2. Cette propriété concerne la propriété Constant-Time du TCB cryptographique ; elle ne préjuge pas des autres propriétés du noyau (isolation, non-interférence, WCET), traitées par des chantiers distincts. Les primitives userspace (ChaCha20, Poly1305, ChaCha20-Poly1305) et la variante-test FrodoKEM-64 sont prouvées CT au binaire sur la toolchain d’analyse, hors des 12 primitives du TCB crypto. X25519 ECDH (Sprint 85.2) est prouvé CT au binaire sur la toolchain de production exacte (BINSEC-041) ; FrodoKEM est prouvé CT au binaire de la variante test n=64 (Sprint 88, BINSEC-036) puis au paramètre de production FrodoKEM-640 / NIST L1 (BINSEC-045) — vérifiables en data room sur demande, complémentaires des travaux Formosa/libcrux côté ML-KEM. PQC de production (hors TCB) : les noyaux sensibles au secret de ML-KEM-768 (FIPS 203, 10 noyaux, BINSEC-043/044, compress DIV-clean) et de FrodoKEM-640 (NIST L1, 6 noyaux, comparaison FO confirmée CT — correctif GJN2020) sont vérifiés CT au binaire ARM64 de prod, en analyse indépendante (synthèses CFVL-SYNTHESE-MLKEM-001 / FRODO-001). Aucun concurrent micronoyau (seL4, ProvenRun, Green Hills, Wind River, SYSGO) ne publie une preuve CT au binaire sur sa toolchain de production.