Postkvantová kryptografie vstupuje do nasazení. ICICLE od @Ingo_zk nyní podporuje ML-KEM (Kyber) s úplnými sadami parametrů, dávkováním a asynchronními operacemi. Pojďme rozbalit tohle! 👇
@Ingo_zk ML-KEM (Module-Lattice Key Encapsulation Mechanism) je standardizovaná varianta Kyber podle FIPS 203, určená pro postkvantovou kryptografii. NIST schválil tři úrovně: Kyber512 (úroveň 1), Kyber768 (úroveň 3) a Kyber1024 (úroveň 5).
@Ingo_zk ICICLE v3.9.0 implementuje ML-KEM v C++ s plnou podporou všech tří sad parametrů. Klíčové operace – generování klíčů, zapouzdření, dekapsulace – jsou vytvářeny pomocí šablon pomocí Kyber{512,768,1024}Params.
@Ingo_zk Velikost bajtů na sadu parametrů: - Kyber512: PK=800B, SK=1632B, CT=768B - Kyber768: PK=1184B, SK=2400B, CT=1088B - Kyber1024: PK=1568B, SK=3168B, CT=1568B
@Ingo_zk Struktura MlKemConfig podporuje asynchronní operace, nápovědy k rezidenci zařízení (např. public_keys_on_device) a dávkování (batch_size). Ladicí háčky přes ConfigExtension* ext jsou k dispozici pro optimalizaci specifickou pro back-end.
@Ingo_zk podpisy rozhraní API: - keygen(entropie, konfigurace, public_keys, secret_keys) - encapsulate (zpráva, public_keys, konfigurace, šifrované texty, shared_secrets) - decapsulate(secret_keys, šifrované texty, config, shared_secrets)
@Ingo_zk Batching umožňuje paralelismus ve výměně klíčů, což je důležité pro škálovatelné aplikace, jako je zabezpečené zasílání zpráv a PQ VPN. Příznaky na straně zařízení naznačují běhovému prostředí ICICLE již existující paměťová umístění, aby se minimalizovaly přenosy.
@Ingo_zk ICICLE obsahuje příklady použití pro Kyber768: alokace, entropie gen, generování klíčů, zapouzdření a dekapsulace. Vzor je strukturovaný a konzistentní napříč sadami parametrů.
@Ingo_zk Tato implementace je v souladu s konečnou specifikací NIST FIPS 203 (červen 2025). Je přizpůsoben pro integraci do aplikací C++ podporujících PQC, zejména těch, které využívají hardwarovou akceleraci.
1,8K