Kyber

Kyber to metoda enkapsulacji klucza (KEM) zaprojektowana tak, aby była odporna na ataki kryptoanalityczne za pomocą przyszłych potężnych komputerów kwantowych . Służy do ustanowienia wspólnego sekretu między dwiema komunikującymi się stronami bez możliwości odszyfrowania go przez atakującego ( IND-CCA2 ) w systemie transmisji. Ten asymetryczny kryptosystem wykorzystuje wariant przypuszczalnie NP-twardego problemu sieciowego uczenia się z błędami jako podstawową funkcję zapadni . Wygrał Konkurs NIST na pierwszy standard kryptografii postkwantowej (PQ). Nazwa Kyber pochodzi od fikcyjnych kryształów kyber używanych do zasilania mieczy świetlnych w uniwersum Gwiezdnych Wojen (porównaj [Light-]SABRE).

Nieruchomości

System oparty jest na uczeniu modułowym z błędami (M-LWE) z zakresu uczenia maszynowego , w połączeniu z pierścieniami cyklotomicznymi . Ostatnio nastąpiła również ścisła formalna matematyczna redukcja bezpieczeństwa problemu LWE pierścienia do MLWE. W porównaniu z konkurencyjnymi metodami PQ ma typowe zalety metod opartych na sieciach, np. pod względem czasu działania, a także wielkości zaszyfrowanych tekstów i materiału klucza. Zdefiniowano warianty o różnych poziomach bezpieczeństwa: Kyber512 ( poziom bezpieczeństwa NIST 1, ≈ AES 128), Kyber768 (poziom bezpieczeństwa NIST 3, ≈AES 192) i Kyber1024 (poziom bezpieczeństwa NIST 5, ≈AES 256). Przy złożoności 161 bitów tajne klucze mają rozmiar 2400, klucze publiczne 1088, a teksty zaszyfrowane mają rozmiar 1184 bajtów. Przy odpowiednio zoptymalizowanej implementacji 4 kilobajty pamięci mogą wystarczyć na operacje kryptograficzne. W przypadku czatu przy użyciu liboqs stwierdzono , że zastąpienie niezwykle wydajnej, niezabezpieczonej kwantowo wymiany kluczy ECDH za pomocą Curve25519 wydłużyło czas działania o współczynnik około 2,3 (1,5–7), szacunkowy 2,3-krotny (1,4–3,1) wzrost zużycia energii i około 70 razy (48–92) więcej danych narzutowych . Wewnętrzne operacje haszowania zajmują większość czasu wykonywania, co potencjalnie mogłoby znacznie skorzystać na odpowiednim przyspieszeniu sprzętowym .

Rozwój

Kyber wywodzi się z metody opublikowanej w 2005 roku przez Oded Regev , opracowanej przez programistów z Europy i Ameryki Północnej, którzy są zatrudnieni przez różne rządowe uniwersytety lub instytucje badawcze lub przez prywatne firmy, finansowane przez Komisję Europejską , Szwajcarię, Holandię, i Niemcy. Opracowali również powiązany i uzupełniający schemat podpisu Dilithium , jako kolejny składnik ich „Pakietu kryptograficznego dla krat algebraicznych” (CRYSTALS). Podobnie jak inne metody PQC-KEM, Kyber szeroko wykorzystuje haszowanie wewnętrznie. W przypadku Kybera wykorzystywane są tutaj warianty Keccaka ( SHA-3 /SHAKE), między innymi do generowania liczb pseudolosowych . W 2017 roku metoda została zgłoszona do amerykańskiego Narodowego Instytutu Standardów i Technologii (NIST) do publicznego procesu selekcji dla pierwszego standardu dla kwantowo bezpiecznych prymitywów kryptograficznych (NISTPQC). Jest to jedyny kluczowy mechanizm enkapsulacji, który został wybrany do standaryzacji pod koniec trzeciej rundy procesu standaryzacji NIST. Zgodnie z przypisem do raportu ogłaszającego decyzję, jest ona uzależniona od zawarcia różnych patentowych z NTRU będąc opcją awaryjną. Obecnie trwa czwarta runda procesu standaryzacji, której celem jest standaryzacja dodatkowego KEM. W drugiej fazie procesu selekcji dostosowano kilka parametrów algorytmu i zrezygnowano z kompresji kluczy publicznych. Ostatnio NIST zwrócił szczególną uwagę na koszty związane z czasem działania i złożonością implementacji, które maskują czasy działania, aby zapobiec odpowiednim atakom typu side-channel (SCA).

Stosowanie

Deweloperzy opublikowali referencyjną implementację w domenie publicznej (lub pod CC0 ), która jest napisana w C. Biblioteka programu liboqs projektu Open Quantum Safe (OQS) zawiera opartą na tym implementację. OQS utrzymuje również bezpieczną kwantowo gałąź programistyczną OpenSSL , zintegrował ją z BoringSSL , a jej kod został również zintegrowany z WolfSSL . Istnieje kilka implementacji wykorzystujących różne inne języki programowania od zewnętrznych programistów, w tym JavaScript i Java. Istnieją różne (bezpłatne) zoptymalizowane implementacje sprzętowe, w tym taka, która jest odporna na ataki typu side-channel. Niemiecki Federalny Urząd ds. Bezpieczeństwa Informacji dąży do wdrożenia w Thunderbirdzie , aw tym kontekście również do biblioteki programu Botan i odpowiednich dostosowań do standardu OpenPGP .

Linki zewnętrzne