La cryptographie post-quantique entre en déploiement. ICICLE par @Ingo_zk prend désormais en charge ML-KEM (Kyber) avec des ensembles de paramètres complets, le batching et des opérations asynchrones. Décomposons cela ! 👇
@Ingo_zk ML-KEM (Mécanisme d'Encapsulation de Clé par Module-Lattice) est la variante standardisée de Kyber sous FIPS 203, conçue pour la cryptographie post-quantique. NIST a approuvé trois niveaux : Kyber512 (Niveau 1), Kyber768 (Niveau 3) et Kyber1024 (Niveau 5).
@Ingo_zk ICICLE v3.9.0 implémente ML-KEM en C++ avec un support complet pour les trois ensembles de paramètres. Les opérations clés—génération de clés, encapsulation, décapsulation—sont instanciées par modèle via Kyber{512,768,1024}Params.
@Ingo_zk Tailles en octets par ensemble de paramètres : - Kyber512 : PK=800B, SK=1632B, CT=768B - Kyber768 : PK=1184B, SK=2400B, CT=1088B - Kyber1024 : PK=1568B, SK=3168B, CT=1568B
@Ingo_zk La structure MlKemConfig prend en charge les opérations asynchrones, les indices de résidence des appareils (par exemple, public_keys_on_device) et le traitement par lots (batch_size). Des hooks de réglage via ConfigExtension* ext sont disponibles pour l'optimisation spécifique au backend.
@Ingo_zk Signatures API : - keygen(entropie, config, clés_publiques, clés_secrètes) - encapsulate(message, clés_publiques, config, ciphertexts, secrets_partagés) - decapsulate(clés_secrètes, ciphertexts, config, secrets_partagés)
@Ingo_zk Le batching permet le parallélisme dans l'échange de clés, ce qui est crucial pour des applications évolutives comme la messagerie sécurisée et les VPN PQ. Les indicateurs côté appareil informent le runtime ICICLE sur les emplacements mémoire préexistants afin de minimiser les transferts.
@Ingo_zk ICICLE inclut un exemple d'utilisation pour Kyber768 : allocation, génération d'entropie, génération de paires de clés, encapsulation et décapsulation. Le modèle est structuré et cohérent à travers les ensembles de paramètres.
@Ingo_zk Cette implémentation est conforme à la spécification finale NIST FIPS 203 (juin 2025). Elle est conçue pour une intégration dans des applications C++ conscientes de la PQC, en particulier celles tirant parti de l'accélération matérielle.
1,85K