La criptografía poscuántica está entrando en despliegue. ICICLE de @Ingo_zk ahora es compatible con ML-KEM (Kyber) con conjuntos de parámetros completos, procesamiento por lotes y operaciones asíncronas. ¡Vamos a desempacar este! 👇
@Ingo_zk ML-KEM (Module-Lattice Key Encapsulation Mechanism) es la variante Kyber estandarizada bajo FIPS 203, diseñada para criptografía poscuántica. El NIST aprobó tres niveles: Kyber512 (Nivel 1), Kyber768 (Nivel 3) y Kyber1024 (Nivel 5).
@Ingo_zk ICICLE v3.9.0 implementa ML-KEM en C++ con soporte completo para los tres conjuntos de parámetros. Las operaciones de clave (generación de claves, encapsulación, desencapsulación) se instancian mediante plantillas a través de Kyber{512,768,1024}Params.
@Ingo_zk Tamaños de bytes por conjunto de parámetros: - Kyber512: PK=800B, SK=1632B, CT=768B - Kyber768: PK=1184B, SK=2400B, CT=1088B - Kyber1024: PK=1568B, SK=3168B, CT=1568B
@Ingo_zk La estructura MlKemConfig admite operaciones asincrónicas, sugerencias de residencia de dispositivos (por ejemplo, public_keys_on_device) y procesamiento por lotes (batch_size). Los ganchos de ajuste a través de ConfigExtension* ext están disponibles para la optimización específica del backend.
@Ingo_zk Firmas de API: - keygen(entropía, configuración, public_keys, secret_keys) - encapsular(mensaje, public_keys, config, textos cifrados, shared_secrets) - decapsulate(secret_keys, textos cifrados, configuración, shared_secrets)
@Ingo_zk El procesamiento por lotes permite el paralelismo en el intercambio de claves, lo que es fundamental para aplicaciones escalables como la mensajería segura y las VPN PQ. Las marcas del lado del dispositivo insinúan al tiempo de ejecución de ICICLE sobre las ubicaciones de memoria preexistentes para minimizar las transferencias.
@Ingo_zk ICICLE incluye ejemplos de uso para Kyber768: asignación, generación de entropía, generación de pares de claves, encapsulación y deencapsulación. El patrón está estructurado y es coherente en todos los conjuntos de parámetros.
@Ingo_zk Esta implementación se alinea con la especificación final de NIST FIPS 203 (junio de 2025). Está diseñado para la integración en aplicaciones C++ compatibles con PQC, especialmente aquellas que aprovechan la aceleración de hardware.
1.85K