0Pricing
Cryptology Academy · Lekcja

NTRU: historia, projekt i bezpieczeństwo

Proszę poznać strukturę pierścienia wielomianów NTRU, generowanie jego kluczy oraz długą historię bezpieczeństwa.

NTRU: historia, projekt i bezpieczeństwo to bezpłatna lekcja Cryptology Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cryptology Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cryptology Academy zawiera 4 lekcji w sumie.

Początki NTRU

NTRU został wynaleziony przez Hoffsteina, Pipher i Silvermana w 1996 roku, dzięki czemu jest jednym z najstarszych systemów klucza publicznego odpornych na ataki kwantowe, które wciąż uznaje się za bezpieczne. W przeciwieństwie do RSA i ECC, których bezpieczeństwo opiera się na trudności problemów z teorii liczb, bezpieczeństwo NTRU wynika z trudności znalezienia krótkich wektorów w określonej kracie wyprowadzonej z pierścieni wielomianów. Przed upowszechnieniem się kryptografii postkwantowej NTRU skomercjalizowano i wdrożono w kilku produktach związanych z bezpieczeństwem.

Pierścień wielomianów NTRU

NTRU działa w ilorazowym pierścieniu wielomianów Z[X]/(X^N - 1), gdzie N jest liczbą pierwszą. Wielomiany w tym pierścieniu mają stopień co najwyżej N-1, a mnożenie zawija się (splot). Wybór pierścienia oraz struktura wielomianów o małych współczynnikach mają kluczowe znaczenie zarówno dla wydajności NTRU, jak i jego właściwości bezpieczeństwa.

Generowanie kluczy NTRU

Generowanie kluczy polega na wybraniu dwóch małych wielomianów f i g, których współczynniki należą do zbioru {-1, 0, 1}. Wielomian f musi być odwracalny zarówno modulo p (mała liczba pierwsza, zazwyczaj 3), jak i modulo q (większa liczba pierwsza, zazwyczaj 2048). Klucz publiczny to h = f_q^{-1} * g mod q, gdzie f_q jest odwrotnością f modulo q. Klucz prywatny stanowi para (f, g).

Szyfrowanie NTRU

Aby zaszyfrować wielomian wiadomości m o małych współczynnikach, nadawca wybiera losowy mały wielomian maskujący r i oblicza c = r * h + m mod q. Szyfrogram c jest wielomianem w tym samym pierścieniu. Losowy r zapobiega temu, aby dwa szyfrowania tej samej wiadomości wyglądały identycznie, zapewniając bezpieczeństwo semantyczne.

Deszyfrowanie NTRU

Deszyfrowanie oblicza a = f * c mod q, wybierając współczynniki z przedziału (-q/2, q/2]. Następnie a mod p odtwarza f_p * m mod p, a pomnożenie przez fp = f^{-1} mod p daje m. Struktura małych współczynników zapewnia, że współczynniki f * c są wystarczająco małe, aby operacje mod q i mod p prawidłowo ze sobą współdziałały i pozwoliły odzyskać wiadomość bez błędu deszyfrowania spowodowanego szumem.

Zestawy parametrów NTRU

Współczesny NTRU ma dwie standaryzowane rodziny parametrów: NTRU-HPS (Hoffstein-Pipher-Silverman) i NTRU-HRSS (Hulsing-Rijneveld-Schanck-Schwabe). NTRU-HPS wykorzystuje trójwartościowe wielomiany wiadomości, natomiast NTRU-HRSS używa randomizowanego kodowania, aby zmniejszyć odsetek nieudanych deszyfrowań. Oba warianty znalazły się wśród finalistów 3. rundy NIST PQC, a ich zestawy parametrów odpowiadają poziomom bezpieczeństwa 128-, 192- i 256-bitowego.

Analiza bezpieczeństwa NTRU

Nie jest znany żaden atak na odpowiednio sparametryzowany NTRU działający w czasie wielomianowym. Najlepsze ataki sprowadzają się do znalezienia krótkiego wektora w kracie NTRU, co jest instancją przybliżonego problemu SVP. Krata NTRU ma specyficzną strukturę, obejmującą bloki cyrkulantowe, która sprawia, że jest nieco łatwiejsza do zaatakowania niż losowa krata. Dlatego parametry dobiera się z marginesem bezpieczeństwa uwzględniającym tę strukturę.

Historia patentów NTRU

NTRU był szeroko chroniony patentami firmy NTRU Cryptosystems Inc. (później Security Innovation). Pierwsze patenty zgłoszono w 1996 i 1998 roku. Ochrona patentowa przez dwie dekady utrudniała powszechne wdrażanie oraz tworzenie implementacji open source. Kluczowe patenty NTRU wygasły około 2017 roku, po czym zaczęły się szybko rozpowszechniać otwarte implementacje, a NTRU przystąpił do konkursu standaryzacyjnego NIST PQC.

NTRU w 3. rundzie NIST PQC

NTRU był finalistą 3. rundy konkursu NIST PQC, obok Kyber, Classic McEliece i SABER. NIST ostatecznie wybrał Kyber (ML-KEM) jako główny standard KEM, powołując się na prostszą analizę bezpieczeństwa i bardziej przejrzystą konstrukcję. NTRU nie został standaryzowany, ale pozostaje realną alternatywą, a jego analiza przyczyniła się do lepszego zrozumienia bezpieczeństwa krat.

NTRUPrime: czystszy wariant

NTRUPrime, opracowany przez Bernsteina, Chuengsatiansupa, Langego i van Vredendaala, celowo usuwa strukturę pierścienia X^N - 1 i zastępuje ją X^N - X - 1, wielomianem o stopniu pierwszym. Eliminuje to potencjalne słabości wynikające z cyklicznej struktury pierścienia, które zdaniem niektórych kryptanalityków można by wykorzystać. NTRUPrime był również alternatywnym kandydatem w konkursie NIST PQC.

NTRU a schematy oparte na LWE

NTRU powstał przed schematami opartymi na LWE i nie ma formalnej redukcji trudności dla przypadku najgorszego, takiej jak redukcja LWE Regeva. Jednak NTRU zapewnia szybsze generowanie kluczy i mniejsze rozmiary szyfrogramów niż wiele schematów LWE przy równoważnych poziomach bezpieczeństwa. Kompromisem jest mniej formalna podstawa bezpieczeństwa, oparta na dziesięcioleciach doświadczeń kryptanalitycznych, a nie na dowodzie redukcji.

Quiz dotyczący struktury klucza NTRU

Z czego wyprowadza się klucz publiczny w NTRU?

Podsumowanie lekcji o NTRU

NTRU jest pionierskim systemem kryptograficznym opartym na kratach, wykorzystującym arytmetykę w pierścieniu wielomianów. Generowanie kluczy wykorzystuje małe wielomiany f i g, a klucz publiczny ma postać h = f^{-1}*g mod q. Szyfrowanie wykorzystuje losowe maskowanie, a deszyfrowanie korzysta ze struktury małych współczynników f. NTRU nie ma formalnej redukcji dla przypadku najgorszego, ale przetrwał dekady kryptoanalizy. Jego patenty wygasły w 2017 roku, a NTRU był finalistą 3. rundy NIST PQC.

Często zadawane pytania

Czy lekcja „NTRU: historia, projekt i bezpieczeństwo” jest bezpłatna?

Tak — pełny tekst „NTRU: historia, projekt i bezpieczeństwo” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cryptology Academy, przejdź na CoddyKit PRO. Kurs Cryptology Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „NTRU: historia, projekt i bezpieczeństwo”?

Proszę poznać strukturę pierścienia wielomianów NTRU, generowanie jego kluczy oraz długą historię bezpieczeństwa. Ćwiczysz Cryptology Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Cryptology Academy?

Nie wymagamy żadnego doświadczenia. Cryptology Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „NTRU: historia, projekt i bezpieczeństwo”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Cryptology Academy?

Tak. Każda lekcja Cryptology Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Learning With Errors: trudny problem
  2. NTRU: historia, projekt i bezpieczeństwo
  3. Ring-LWE i kraty modułowe
  4. Dowody bezpieczeństwa i redukcje w schematach kratowych
← Powrót do Cryptology Academy