W 2005 r. Regev [1] wprowadził problem uczenia się z błędami (LWE), uogólnienie problemu parzystości uczenia się z błędem. Założenie o twardości tego problemu dla niektórych wyborów parametrów leży obecnie u podstaw dowodów bezpieczeństwa dla wielu kryptosystemów post kwantowych w dziedzinie kryptografii opartej na sieci. „Kanoniczne” wersje LWE opisano poniżej.
Czynności wstępne:
Niech będzie addytywną grupą reals modulo 1, tzn. Przyjmującą wartości w . Dla dodatnich liczb całkowitych i , wektor „tajny” , rozkład prawdopodobieństwa na , niech to dystrybucja w uzyskana przez wybranie jednolicie w losowo, rysując wyrażenie błędu i wyprowadzając.
Niech będzie „dyskretyzacją” . Oznacza to, że najpierw pobieramy próbkę z a następnie wyprowadzamy . Tutaj oznacza zaokrąglenie do najbliższej wartości całkowitej, dzięki czemu możemy zobaczyć jako .
W ustawieniu kanonicznym bierzemy rozkład błędów za Gaussa. Dla dowolnego funkcję gęstości 1-wymiarowego rozkładu prawdopodobieństwa Gaussa nad podano jako . Piszemy jako skrót do dyskretyzacji
Definicja LWE:
W wersji wyszukiwania otrzymujemy próbki z , które możemy postrzegać jako „zaszumione” równania liniowe (Uwaga: ):
gdzie błąd w każdym równaniu jest niezależnie rysowany z (wyśrodkowanego) dyskretnego Gaussa o szerokości . Naszym celem jest odzyskanie . (Zauważ, że bezbłędnie możemy to rozwiązać za pomocą eliminacji Gaussa, ale w przypadku tego błędu eliminacja Gaussa dramatycznie się nie udaje.)
W wersji decyzyjnej mamy dostęp do wyroczni która zwraca próbki po zapytaniu. Obiecujemy, że wszystkie próbki pochodzą albo z albo z jednolitego rozkładu . Naszym celem jest rozróżnienie, co się dzieje.
Uważa się, że oba problemy są gdy .
Związek z teorią złożoności:
Wiadomo (patrz [1], [2] w celu uzyskania szczegółów), że LWE odpowiada rozwiązaniu problemu dekodowania ograniczonej odległości (BDD) na podwójnej sieci instancji GapSVP. Algorytm wielomianu czasu dla LWE sugerowałby wielomianowy algorytm czasu do przybliżenia pewnych problemów z siecią, takich jak SIVP i SVP w gdzie jest małym czynnikiem wielomianowym (powiedzmy, ).
Aktualne limity algorytmiczne
Kiedy dla ściśle mniej niż 1/2, Arora i Ge [3] podają algorytm czasu podwykładniczego dla LWE. Chodzi o to, że z dobrze znanych właściwości Gaussa, rysując terminy błędów, to małe mieści się w ustawieniu „szumu strukturalnego” z wyjątkiem wykładniczo niskiego prawdopodobieństwa. Intuicyjnie w tym ustawieniu, za każdym razem, gdy otrzymalibyśmy 1 próbkę, otrzymujemy blok próbek z obietnicą, że nie więcej niż jakaś stała część zawiera błąd. Wykorzystują tę obserwację do „linearyzacji” problemu i wyliczenia w przestrzeni błędów.
Załóżmy, że zamiast tego mamy dostęp do wyroczni . Po zapytaniu pierwsze zapytania celu uzyskania próbki . Jeśli zostało sporządzone z , to zwraca próbkę gdzie oznacza „kierunek” (lub -wartościowy „znak”) terminu błędu . Jeśli zostało narysowane losowo, to zwraca . (Alternatywnie, moglibyśmy rozważyć przypadek, w którym bit jest wybierany przeciwnie, gdy jest losowane równomiernie losowo.)
Niech będzie jak poprzednio, z tym wyjątkiem, że teraz dla wystarczająco dużej stałej , powiedzmy. (Ma to na celu zapewnienie, że błąd bezwzględny w każdym równaniu pozostaje nienaruszony.) Zdefiniuj problemy z uczeniem się z błędem podpisania (LWSE) i jak poprzednio, z tym wyjątkiem, że teraz mamy dodatkową poradę dotyczącą znaku każdego terminu błędu.
Czy którakolwiek wersja LWSE jest znacznie łatwiejsza niż ich odpowiedniki LWE?
Na przykład
1. Czy istnieje algorytm czasu podwykładniczego dla LWSE?
2. Co z algorytmem wielomianowym opartym na powiedzmy na programowaniu liniowym?
Oprócz powyższej dyskusji moją motywacją jest zainteresowanie badaniem opcji algorytmicznych dla LWE (z których obecnie mamy stosunkowo niewiele do wyboru). W szczególności jedyne znane ograniczenie zapewniające dobre algorytmy związane z problemem związane jest z wielkością terminów błędu. Tutaj wielkość pozostaje taka sama, ale zakres błędu w każdym równaniu jest teraz w pewnym sensie „monotoniczny”. (Ostatni komentarz: nie jestem świadomy tego sformułowania problemu pojawiającego się w literaturze; wydaje się być oryginalny).
Bibliografia:
[1] Regev, Oded. „O kratach, uczenie się na błędach, losowych kodach liniowych i kryptografii” w JACM 2009 (pierwotnie na STOC 2005) ( PDF )
[2] Regev, Oded. „The Learning with Errors Problem”, zaproszona ankieta na CCC 2010 ( PDF )
[3] Arora, Sanjeev i Ge, Rong. „Nowe algorytmy uczenia się w obecności błędów” na ICALP 2011 ( PDF )