Post-kwantumcryptografie wordt momenteel geïmplementeerd. ICICLE van @Ingo_zk ondersteunt nu ML-KEM (Kyber) met volledige paramsets, batching en asynchrone ops. Laten we deze uitpakken! 👇
@Ingo_zk ML-KEM (Module-Lattice Key Encapsulation Mechanism) is de gestandaardiseerde Kyber-variant onder FIPS 203, ontworpen voor post-kwantumcryptografie. NIST keurde drie niveaus goed: Kyber512 (niveau 1), Kyber768 (niveau 3) en Kyber1024 (niveau 5).
@Ingo_zk ICICLE v3.9.0 implementeert ML-KEM in C++ met volledige ondersteuning voor alle drie de parametersets. Sleutelbewerkingen - het genereren van sleutels, inkapseling, decapsulatie - worden via Kyber{512,768,1024}Params geïnstantieerd.
@Ingo_zk Byte groottes per param set: - Kyber512: PK=800B, SK=1632B, CT=768B - Kyber768: PK=1184B, SK=2400B, CT=1088B - Kyber1024: PK=1568B, SK=3168B, CT=1568B
@Ingo_zk De MlKemConfig struct ondersteunt asynchrone ops, apparaatresidentie-hints (bijv. public_keys_on_device) en batching (batch_size). Tuning hooks via ConfigExtension* ext zijn beschikbaar voor backend-specifieke optimalisatie.
@Ingo_zk API-handtekeningen: - keygen(entropie, config, public_keys, secret_keys) - inkapselen (bericht, public_keys, config, cijferteksten, shared_secrets) - decapsulate(secret_keys, cijferteksten, config, shared_secrets)
@Ingo_zk Batching maakt parallellisme mogelijk bij sleuteluitwisseling, wat cruciaal is voor schaalbare toepassingen zoals beveiligde berichten en PQ VPN's. Vlaggen aan de apparaatzijde verwijzen naar ICICLE runtime over reeds bestaande geheugenlocaties om overdrachten te minimaliseren.
@Ingo_zk ICICLE bevat voorbeeldgebruik voor Kyber768: toewijzing, entropiegen, generatie van sleutelparen, inkapseling en decapsulatie. Het patroon is gestructureerd en consistent in alle parametersets.
@Ingo_zk Deze implementatie komt overeen met de definitieve specificatie van NIST FIPS 203 (juni 2025). Het is op maat gemaakt voor integratie in PQC-bewuste C++-applicaties, met name applicaties die gebruikmaken van hardwareversnelling.
2,31K