Kryptografia postkwantowa wchodzi w fazę wdrażania. ICICLE firmy @Ingo_zk obsługuje teraz ML-KEM (Kyber) z pełnymi zestawami parametrów, partiami i operacjami asynchronicznymi. Rozpakujmy to! 👇
@Ingo_zk ML-KEM (Module-Lattice Key Encapsulation Mechanism) to ustandaryzowany wariant Kyber w ramach FIPS 203, przeznaczony do kryptografii postkwantowej. NIST zatwierdził trzy poziomy: Kyber512 (poziom 1), Kyber768 (poziom 3) i Kyber1024 (poziom 5).
@Ingo_zk ICICLE v3.9.0 implementuje ML-KEM w C++ z pełną obsługą wszystkich trzech zestawów parametrów. Kluczowe operacje — generowanie kluczy, hermetyzacja i dekapsulacja — są tworzone za pomocą szablonu za pośrednictwem Kyber{512,768,1024}Params.
@Ingo_zk Rozmiary bajtów na zestaw parametrów: - 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 obsługuje operacje asynchroniczne, wskazówki dotyczące rezydencji urządzenia (np. public_keys_on_device) i przetwarzanie wsadowe (batch_size). Punkty zaczepienia za pośrednictwem ConfigExtension* ext są dostępne do optymalizacji specyficznej dla zaplecza.
@Ingo_zk podpisy API: - keygen(entropia, konfiguracja, public_keys, secret_keys) - encapulate(wiadomość, public_keys, konfiguracja, szyfrogramy shared_secrets) - decapulate(secret_keys, szyfrogramy, konfiguracja, shared_secrets)
@Ingo_zk Przetwarzanie wsadowe umożliwia równoległość wymiany kluczy, co ma kluczowe znaczenie dla skalowalnych aplikacji, takich jak bezpieczna obsługa wiadomości i sieci VPN PQ. Flagi po stronie urządzenia informują środowisko uruchomieniowe ICICLE o istniejących wcześniej lokalizacjach pamięci, aby zminimalizować transfery.
@Ingo_zk ICICLE zawiera przykładowe użycie dla Kyber768: alokacja, generowanie entropii, generowanie par kluczy, enkapsulacja i dekapsulacja. Wzorzec jest ustrukturyzowany i spójny we wszystkich zestawach parametrów.
@Ingo_zk Ta implementacja jest zgodna ze specyfikacją ostateczną NIST FIPS 203 (czerwiec 2025 r.). Jest on dostosowany do integracji z aplikacjami języka C++ obsługującymi PQC, zwłaszcza tymi wykorzystującymi akcelerację sprzętową.
2,32K