Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Êðèïòîãðàôèÿ è ðåø¼òêè
Ñåðãåé Íèêîëåíêî
Êðèïòîãðàôèÿ � CS Club, îñåíü 2009
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Outline
1 Ðåø¼òêè íà ñëóæáå êðèïòîàíàëèçà
Îáùèå ñâåäåíèÿ
Àëãîðèòì LLL
Ïðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
2 Ðåø¼òêè íà ñëóæáå êðèïòîãðàôèè
Èäåÿ
Êîíñòðóêöèÿ õåø-ôóíêöèé Ajtai
Êîíñòðóêöèÿ êðèïòîñèñòåìû Ajtai-Dwork
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Ðåø¼òêè
Áóäåì îáîçíà÷àòü ñêàëÿðíîå ïðîèçâåäåíèå êàê 〈x , y〉.Ïóñòü B = {b1, . . . , bm} � íàáîð ëèíåéíî íåçàâèñèìûõ
âåêòîðîâ â Rn. Òîãäà ðåø¼òêà ðàçìåðíîñòè m � ýòî íàáîð
ëèíåéíûõ êîìáèíàöèé bi ñ öåëûìè êîýôôèöèåíòàìè:
L = Zb1 + Zb2 + . . . + Zbm.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Ðåø¼òêè
Âîò òèïè÷íàÿ ðåø¼òêà.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Ðåø¼òêè
Âîò òèïè÷íàÿ ðåø¼òêà.
Áàçèñ ðåø¼òêè � ýòî
ìíîæåñòâî ëèíåéíî
íåçàâèñèìûõ âåêòîðîâ, å¼
ïîðîæäàþùèõ.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Ðåø¼òêè
Âîò òèïè÷íàÿ ðåø¼òêà.
Áàçèñ ðåø¼òêè � ýòî
ìíîæåñòâî ëèíåéíî
íåçàâèñèìûõ âåêòîðîâ, å¼
ïîðîæäàþùèõ.
Âîò äðóãîé áàçèñ òîé æå
ðåø¼òêè.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Ðåø¼òêè
Âîò òèïè÷íàÿ ðåø¼òêà.
Áàçèñ ðåø¼òêè � ýòî
ìíîæåñòâî ëèíåéíî
íåçàâèñèìûõ âåêòîðîâ, å¼
ïîðîæäàþùèõ.
Âîò äðóãîé áàçèñ òîé æå
ðåø¼òêè.
À âîò åù¼ îäèí.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Ðåø¼òêè
Áàçèñ ìîæåò ñîñòîÿòü èç
î÷åíü äëèííûõ âåêòîðîâ,
äàæå åñëè â ðåø¼òêå åñòü
êîðîòêèå.
Íàéòè êîðîòêèé âåêòîð
ðåø¼òêè � ñëîæíàÿ
çàäà÷à; å¼ ìû è áóäåì
ðàññìàòðèâàòü.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Êðàò÷àéøèé âåêòîð
Îáîçíà÷èì êðàò÷àéøèé
âåêòîð ÷åðåç λ1(L).
Ìíîãîìåðíîå îáîáùåíèå:
λk(L) � ìèíèìàëüíîå r ,
äëÿ êîòîðîãî ðàçìåðíîñòü
ðåø¼òêè âíóòðè øàðà
ðàäèóñà r áîëüøå ëèáî
ðàâíà k .
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Îïðåäåëèòåëü
Ôóíäàìåíòàëüíûé
ïàðàëëåëåïèïåä îáðàçîâàí
áàçèñîì.
Âàæíûé èíâàðèàíò � åãî
îáú¼ì det L, ò.å.
îïðåäåëèòåëü ìàòðèöû,
ñîñòàâëåííîé èç âåêòîðîâ
áàçèñà.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Îïðåäåëèòåëü
Îí îò áàçèñà íå çàâèñèò,
ò.ê. ðàçíûå áàçèñû ðåø¼òêè
ýêâèâàëåíòíû, òîëüêî åñëè
îíè ïðåîáðàçóþòñÿ äðóã â
äðóãà íå ìåíÿþùèìè det L
ïðåîáðàçîâàíèÿìè.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Îðòîãîíàëèçàöèÿ
Îðòîãîíàëèçàöèÿ ïî
ìåòîäó Ãðàìà-Øìèäòà: èç
áàçèñà (ïðîñòðàíñòâà)
äåëàåò îðòîãîíàëüíûé
áàçèñ.
b∗1 = b1, äàëüøå êàæäûé
ïîñëåäóþùèé îðòîãîíàëåí
ïðîñòðàíñòâó ïðåäûäóùèõ.
Äëÿ ýòîãî âû÷èòàåì
ïðîåêöèè ïðåäûäóùèõ
áàçèñíûõ âåêòîðîâ.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Îðòîãîíàëèçàöèÿ
 ÷àñòíîñòè, ïðè ýòîì
det L íå ïîìåíÿåòñÿ, à
ïîëó÷èòñÿ îðòîãîíàëüíûé
áàçèñ:
det L = ||b∗1 ||||b∗2 || . . . ||b
∗n||.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Ðåø¼òêè
Ðàññìîòðèì ðåø¼òêó L ñ áàçèñîì B = {b1, . . . , bm}.
Îïðåäåëèì, ïî ìåòîäó îðòîãîíàëèçàöèè Ãðàìà-Øìèäòà,
µij =
⟨bi , b
∗j
⟩⟨b∗j , b
∗j
⟩ , 1 ≤ j < i ≤ n,
b∗i = bi −
i−1∑j=1
µijb∗j , 1 ≤ i ≤ m.
Òîãäà 〈b∗i , bj〉 = 0 äëÿ âñåõ j < i , è 〈b∗i , bi 〉 = 〈b∗i , b∗i 〉.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Ðåø¼òêè
Èíà÷å ãîâîðÿ, åñëè çàïèñàòü áàçèñ B â
îðòîíîðìèðîâàííîì áàçèñå, ïîëó÷àåìîì èç B∗ (i-é
ñòîëáåö ìàòðèöû � bi â ýòîì áàçèñå):||b∗1 || µ21||b
∗1 || µ31||b
∗1 || . . . µn1||b
∗1 ||
0 ||b∗2 || µ32||b∗2 || . . . µn2||b
∗2 ||
0 0 ||b∗3 || . . . µn3||b∗3 ||
......
...
0 0 0 . . . ||b∗n||
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Ðåø¼òêè
Íàïðèìåð, äëÿ ðåø¼òêè ñ áàçèñîì b1 = (2 1) è b2 = (1 3)
(íà ðèñóíêàõ): b∗1 = b1,
µ21 =〈b2, b∗1〉〈b∗1, b∗1〉
=5
5= 1,
b∗2 = b2 − µ21b∗1 = b2 − b1 = (−1 2).
À äëÿ ðåø¼òêè ñ áàçèñîì b1 = (9 7) è b2 = (11 8) (òà æå
ðåø¼òêà): b∗1 = b1,
µ21 =〈b2, b∗1〉〈b∗1, b∗1〉
=155
130=
31
26,
b∗2 = b2 − µ21b∗1 = b2 −
31
26b∗1 =
(7
26−
9
26
).
Âåêòîð b∗2 ïîëó÷èëñÿ ãîðàçäî êîðî÷å îáîèõ èñõîäíûõ;
||b∗2 || ≈ 0, 4385.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Ðåø¼òêè
Äîêàæåì ëåììó, ïîëåçíóþ äëÿ ïîèñêà êðàò÷àéøåãî
âåêòîðà.
Ðàññìîòðèì áàçèñ B è ïðîèçâîëüíûé âåêòîð â L; îí
ïðåäñòàâëÿåòñÿ êàê Bx äëÿ íåêîòîðîãî âåêòîðà x ∈ Zn.
Ïóñòü j ∈ 1..n � íàèáîëüøåå òàêîå j , ÷òî xj 6= 0. Òîãäà:
|⟨Bx , b∗j
⟩| =
∣∣∣∣∣⟨
j∑i=1
xibi , b∗j
⟩∣∣∣∣∣ = |xj |⟨b∗j , b
∗j
⟩= |xj |||b
∗j ||
2.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Ðåø¼òêè
Ñ äðóãîé ñòîðîíû,∣∣∣⟨Bx , b∗j
⟩∣∣∣ ≤ ||Bx || · ||b∗j ||, è
||Bx || ≥ |xj |||b∗j || ≥ ||b∗j || ≥ min
j||b∗j ||.
Ìû äîêàçàëè íèæíþþ îöåíêó íà ðàçìåð êðàò÷àéøåãî
âåêòîðà ðåø¼òêè: λ1(L) ≥ minj ||b∗j ||.
 íàøåì ïðèìåðå êðàò÷àéøèé âåêòîð áûë (2 1) ñ äëèíîé√5, ÷òî áîëüøå ||b∗2 ||.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
δ-LLL-ðåäóöèðîâàííûå áàçèñû
Áàçèñ B íàçûâàåòñÿ δ-LLL-ðåäóöèðîâàííûì (δ-LLL
reduced), åñëè
|µij | ≤1
2äëÿ âñåõ 1 ≤ j < i ≤ n, è
δ||b∗i ||2 ≤ ||µi+1,ib
∗i + b∗i+1||
2 äëÿ âñåõ 1 ≤ i < n.
×àñòî ðàññìàòðèâàþò δ = 34.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
δ-LLL-ðåäóöèðîâàííûå áàçèñû
Âòîðîå ñâîéñòâî:
δ||b∗i ||2 ≤ ||µi+1,ib
∗i + b∗i+1||
2 = µ2i+1,i ||b
∗i ||
2 + ||b∗i+1||2, è
||b∗i+1||2 ≥
(δ −
1
4
)||b∗i ||
2.
Èíà÷å ãîâîðÿ. Çàïèøåì áàçèñ B â îðòîíîðìèðîâàííîì
áàçèñå, ïîëó÷àåìîì èç B∗ (i-é ñòîëáåö ìàòðèöû � bi â
ýòîì áàçèñå):||b∗1 || ∗ ∗ . . . ∗0 ||b∗2 || ∗ . . . ∗0 0 ||b∗3 || . . . ∗...
......
0 0 0 . . . ||b∗n||
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
δ-LLL-ðåäóöèðîâàííûå áàçèñû
Ïåðâîå óñëîâèå (|µij | ≤ 12) ãîâîðèò, ÷òî
||b∗1 || ≤ 12||b∗1 || ≤ 1
2||b∗1 || . . . ≤ 1
2||b∗1 ||
0 ||b∗2 || ≤ 12||b∗2 || . . . ≤ 1
2||b∗2 ||
0 0 ||b∗3 || . . . ≤ 12||b∗3 ||
......
...
0 0 0 . . . ≤ 12||b∗n−1||
0 0 0 . . . ||b∗n||
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
δ-LLL-ðåäóöèðîâàííûå áàçèñû
Âòîðîå óñëîâèå: â ïîäìàòðèöå(||b∗i || µi+1,i ||b
∗i ||
0 ||b∗i+1||
)âòîðîé ñòîëáåö ïî÷òè òàêîé æå äëèíû, êàê ïåðâûé
ñòîëáåö:
δ||b∗i ||2 ≤ µ2
i+1,i ||b∗i ||
2 + ||b∗i+1||2.
Åñòü îáîáùåíèå, êîòîðîå îáîáùàåò ýòî òðåáîâàíèå íà
ïîäìàòðèöû k × k , íî íàì áû ñåé÷àñ õîòÿ áû ñ áàçîâûì
LLL ðàçîáðàòüñÿ.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
δ-LLL-ðåäóöèðîâàííûå áàçèñû
Åñëè ìû íàøëè δ-LLL-ðåäóöèðîâàííûé áàçèñ, òî:
||b∗n||2 ≥
(δ −
1
4
)||b∗n−1||
2 ≥ . . . ≥
≥(
δ −1
4
)n−1
||b∗1 ||2 =
(δ −
1
4
)n−1
||b1||2.
Çíà÷èò, äëÿ ëþáîãî i
||b1|| ≤(
δ −1
4
)− i−12
||b∗i || ≤(
δ −1
4
)− n−12
||b∗i ||, è
||b1|| ≤(
δ −1
4
)− n−12
mini
||b∗i || ≤(
δ −1
4
)− n−12
λ1(L).
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
δ-LLL-ðåäóöèðîâàííûå áàçèñû
Ïîëó÷èëè:
||b1|| ≤(
δ −1
4
)− n−12
λ1(L).
Íàïðèìåð, äëÿ δ = 34
||b1|| ≤ 2(n−1)/2||x ||.
Èíà÷å ãîâîðÿ, åñëè ìû ïîëó÷èì LLL-ðåäóöèðîâàííûé
áàçèñ, ìû ñðàçó ðåøèì (ñ òî÷íîñòüþ(δ − 1
4
)− n−12 ) çàäà÷ó
ïîèñêà êðàò÷àéøåãî âåêòîðà.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Àëãîðèòì L3
Àëãîðèòì L3 èëè LLL: Lenstra, Lenstra, Lovasz (1982).
Çàäà÷à � âû÷èñëèòü LLL-ðåäóöèðîâàííûé áàçèñ.
1 Âû÷èñëèòü b∗1, . . . , b∗
n.
2 Ðåäóêöèÿ.
1 Äëÿ âñåõ 2 ≤ i ≤ n è âñåõ i − 1 ≥ j ≥ 1
bi := bi − cijbj , ãäå cij =
6664 ˙bi , b
∗j
¸Db∗j , b∗j
E3777 .
3 Îáìåí çíà÷åíèÿìè.
1 Åñëè äëÿ êàêîãî-òî i
δ||b∗i ||
2> ||µi+1,ib
∗i + b
∗i+1||
2,
òî ïîìåíÿòü ìåñòàìè bi ñ bi+1 è âåðíóòüñÿ ê øàãó 1.
4 Âûäàòü b1, . . . , bn.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Àëãîðèòì L3
Î÷åâèäíî, ÷òî åñëè îáìåíà íå ïðîèçîøëî, òî âòîðîå
òðåáîâàíèå âûïîëíÿåòñÿ.
À ðåäóêöèÿ îáåñïå÷èâàåò ïåðâîå óñëîâèå: îíà âû÷èòàåò
ñòîëáåö çà ñòîëáöîì òàê, ÷òîáû îñòàâàëîñü ≤ 12||b∗i ||.
Ïåðåä íà÷àëîì ðåäóêöèè:
||b∗1 || ∗ ∗ . . . ∗0 ||b∗2 || ∗ . . . ∗0 0 ||b∗3 || . . . ∗...
......
0 0 0 . . . ∗0 0 0 . . . ||b∗n||
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Àëãîðèòì L3
Î÷åâèäíî, ÷òî åñëè îáìåíà íå ïðîèçîøëî, òî âòîðîå
òðåáîâàíèå âûïîëíÿåòñÿ.
À ðåäóêöèÿ îáåñïå÷èâàåò ïåðâîå óñëîâèå: îíà âû÷èòàåò
ñòîëáåö çà ñòîëáöîì òàê, ÷òîáû îñòàâàëîñü ≤ 12||b∗i ||.
Ïåðâûé øàã: i = 2, j = 1:
||b∗1 || ≤ 12||b∗1 || ∗ . . . ∗
0 ||b∗2 || ∗ . . . ∗0 0 ||b∗3 || . . . ∗...
......
0 0 0 . . . ∗0 0 0 . . . ||b∗n||
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Àëãîðèòì L3
Î÷åâèäíî, ÷òî åñëè îáìåíà íå ïðîèçîøëî, òî âòîðîå
òðåáîâàíèå âûïîëíÿåòñÿ.
À ðåäóêöèÿ îáåñïå÷èâàåò ïåðâîå óñëîâèå: îíà âû÷èòàåò
ñòîëáåö çà ñòîëáöîì òàê, ÷òîáû îñòàâàëîñü ≤ 12||b∗i ||.
Âòîðîé øàã: i = 3, j = 2:
||b∗1 || ≤ 12||b∗1 || ∗ . . . ∗
0 ||b∗2 || ≤ 12||b∗2 || . . . ∗
0 0 ||b∗3 || . . . ∗...
......
0 0 0 . . . ∗0 0 0 . . . ||b∗n||
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Àëãîðèòì L3
Î÷åâèäíî, ÷òî åñëè îáìåíà íå ïðîèçîøëî, òî âòîðîå
òðåáîâàíèå âûïîëíÿåòñÿ.
À ðåäóêöèÿ îáåñïå÷èâàåò ïåðâîå óñëîâèå: îíà âû÷èòàåò
ñòîëáåö çà ñòîëáöîì òàê, ÷òîáû îñòàâàëîñü ≤ 12||b∗i ||.
Òðåòèé øàã: i = 3, j = 1:
||b∗1 || ≤ 12||b∗1 || ≤ 1
2||b∗1 || . . . ∗
0 ||b∗2 || ≤ 12||b∗2 || . . . ∗
0 0 ||b∗3 || . . . ∗...
......
0 0 0 . . . ∗0 0 0 . . . ||b∗n||
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Àëãîðèòì L3
Î÷åâèäíî, ÷òî åñëè îáìåíà íå ïðîèçîøëî, òî âòîðîå
òðåáîâàíèå âûïîëíÿåòñÿ.
À ðåäóêöèÿ îáåñïå÷èâàåò ïåðâîå óñëîâèå: îíà âû÷èòàåò
ñòîëáåö çà ñòîëáöîì òàê, ÷òîáû îñòàâàëîñü ≤ 12||b∗i ||.
È òàê äàëåå; ïîñëå âñåõ øàãîâ:
||b∗1 || ≤ 12||b∗1 || ≤ 1
2||b∗1 || . . . ≤ 1
2||b∗1 ||
0 ||b∗2 || ≤ 12||b∗2 || . . . ≤ 1
2||b∗2 ||
0 0 ||b∗3 || . . . ≤ 12||b∗3 ||
......
...
0 0 0 . . . ≤ 12||b∗n−1||
0 0 0 . . . ||b∗n||
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Àëãîðèòì L3
Î÷åâèäíî, ÷òî åñëè îáìåíà íå ïðîèçîøëî, òî âòîðîå
òðåáîâàíèå âûïîëíÿåòñÿ.
À ðåäóêöèÿ îáåñïå÷èâàåò ïåðâîå óñëîâèå: îíà âû÷èòàåò
ñòîëáåö çà ñòîëáöîì òàê, ÷òîáû îñòàâàëîñü ≤ 12||b∗i ||.
Ôîðìàëüíî: ïîñëå ðåäóêöèè
|µij | =
˛̨̨̨˛̨
˙bi , b
∗j
¸Db∗j , b∗j
E˛̨̨̨˛̨ =
˛̨̨̨˛̨˙bi − cijbj , b
∗j
¸Db∗j , b∗j
E˛̨̨̨˛̨ =
=
˛̨̨̨˛̨
˙bi , b
∗j
¸Db∗j , b∗j
E −
6664 ˙bi , b
∗j
¸Db∗j , b∗j
E3777
˙bj , b
∗j
¸Db∗j , b∗j
E˛̨̨̨˛̨ =
˛̨̨̨˛̨
˙bi , b
∗j
¸Db∗j , b∗j
E −
6664 ˙bi , b
∗j
¸Db∗j , b∗j
E3777
˛̨̨̨˛̨ ≤ 1
2,
ò.ê.⟨bj , b
∗j
⟩=⟨b∗j , b
∗j
⟩.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Àëãîðèòì L3
Îñòàëîñü äîêàçàòü, ÷òî LLL � ïîëèíîìèàëüíûé àëãîðèòì.
Äâå ÷àñòè: êîëè÷åñòâî èòåðàöèé è êàæäàÿ èòåðàöèÿ. Ïðî
êàæäóþ èòåðàöèþ íå áóäåì.
×òîáû îãðàíè÷èòü êîëè÷åñòâî èòåðàöèé, ìîæíî
ðàññìîòðåòü ïîòåíöèàë áàçèñà ðåø¼òêè: äëÿ áàçèñà
B = {b1, . . . , bm} ïîòåíöèàë � ýòî
DB =
n∏i=1
DB,i =
n∏i=1
det Li =
n∏i=1
||b∗1 ||||b∗2 || . . . ||b
∗i ||.
Çäåñü Li � ðåø¼òêà, ïîðîæäàåìàÿ b1, . . . , bi .
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Àëãîðèòì L3
Äî ðàáîòû àëãîðèòìà, ò.ê. ||b∗i || ≤ ||bi ||, ïîòåíöèàë ìîæíî
îöåíèòü êàê
DB ≤(maxi
||bi ||
) n(n−1)2
.
Çàìåòèì, ÷òî logDB ïîëèíîìèàëåí îò äëèíû âõîäà
(max{n, log ||bi ||}).
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Àëãîðèòì L3
Îò ðåäóêöèé DB íå óáûâàåò, ò.ê. b∗i íå ìåíÿþòñÿ.
Êîãäà ìû ìåíÿåì ìåñòàìè bi è bi+1, èç âñåõ det Lkìåíÿåòñÿ òîëüêî det Li , è
D ′B
DB
=det L ′idet Li
=det L(b1, . . . , bi−1, bi+1)
det L(b1, . . . , bi )=
=
∏i−1j=1 ||b∗i || · ||µi+1,ib
∗i + b∗i+1||∏i−1
j=1 ||b∗i || · ||b∗i ||=
||µi+1,ib∗i + b∗i+1||
||b∗i ||≤√
δ.
Çíà÷èò, èòåðàöèé ìîæåò áûòü íå áîëüøå
log 1√δ
DB ≤ 1
log 1√δ
n(n−1)2
log(maxi ||bi ||).
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Àëãîðèòì L3: èòîãè
Êðàòêèé èòîã: ìû ïîëó÷èëè àëãîðèòì ñ êîíñòàíòíûì
ïàðàìåòðîì δ, êîòîðûé óìååò ðåøàòü çàäà÷ó ïîèñêà
êðàò÷àéøåãî âåêòîðà ñ òî÷íîñòüþ(δ − 1
4
)− n−12 .
Ìîæíî ðàññìîòðåòü δ = 14
+(34
) nn−1 è ïîëó÷èòü òî÷íîñòü(
2√3
)n.
Åñòü åù¼ àëãîðèòì Øíîððà, êîòîðûé äîñòèãàåò
ñóáýêñïîíåíöèàëüíîé òî÷íîñòè: 2O
„n(log log n)2
log n
«.
Òåïåðü ïîãîâîðèì î òîì, çà÷åì âñ¼ ýòî íóæíî.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Ñâåäåíèå subset sum ê ðåø¼òêå
Íà÷í¼ì ñ òîãî, ÷òî îáåùàëè: ïðèìåíèì LLL ê çàäà÷å subset
sum.
Äëÿ ýòîãî íóæíî ñâåñòè çàäà÷ó subset sum ê çàäà÷å ïîèñêà
êðàò÷àéøåãî âåêòîðà â íåêîòîðîé ðåø¼òêå.
Ðàññìîòðèì çàäà÷ó subset sum: äàíû ÷èñëà {a1, . . . , an} è
÷èñëî s.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Ñâåäåíèå subset sum ê ðåø¼òêå
Ïîëîæèì m = d12
√ne è çàïèøåì ìàòðèöó
1 0 0 . . . 0 ma10 1 0 . . . 0 ma20 0 1 . . . 0 ma3...
......
0 0 0 . . . 1 man12
12
12
. . . 12
ms
Ðàññìîòðèì ðåø¼òêó L, ïîðîæä¼ííóþ ñòðîêàìè ýòîé
ìàòðèöû b1, b2, . . . , bn+1.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Ñâåäåíèå subset sum ê ðåø¼òêå
Åñëè (x1, . . . , xn) � ðåøåíèå subset sum, ò.å.∑n
i=1 ai = s, òî
âåêòîð y =∑n
i=1 xibi − bn+1 ëåæèò â L.
Íî ó íåãî yi = ±12äëÿ 1 ≤ i ≤ n, è yn+1 = 0. Èíà÷å ãîâîðÿ,
îí êîðîòêèé, è LLL ìîæåò åãî íàéòè.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Ñâåäåíèå subset sum ê ðåø¼òêå
LLL íå îáÿçàí åãî íàõîäèòü, íî äëÿ çàäà÷ íèçêîé
ïëîòíîñòè îí åãî ñ áîëüøîé âåðîÿòíîñòüþ íàõîäèò.
Ïëîòíîñòü çàäà÷è subset sum (è âîîáùå çàäà÷è î ðþêçàêå):
d =n
maxi log2 ai.
Èçâåñòíî, ÷òî åñëè d < 0, 9408, ó LLL õîðîøèå øàíñû.
À â êðèïòîñèñòåìå Ìåðêëå-Õåëëìàíà ïëîòíîñòü äîëæíà
áûòü ìåíüøå nn−log n
, ïîòîìó ÷òî â ïðîòèâíîì ñëó÷àå áóäóò
íàáîðû ÷èñåë ñ îäèíàêîâûìè ñóììàìè, è íå ïîëó÷èòñÿ
îäíîçíà÷íî äåêîäèðîâàòü. Ïî÷åìó òàê, êñòàòè?
Áîëåå òîãî, çàïóòûâàíèå óìíîæåíèåì óìåíüøàåò
ïëîòíîñòü.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Ïîèñê êîðíåé ìíîãî÷ëåíîâ
Äðóãîå ïðèìåíåíèå LLL-àëãîðèòìà � ïîèñê êîðíåé
ìíîãî÷ëåíîâ.
Ðàññìîòðèì öåëîå ÷èñëî N è óíèòàðíûé ìíîãî÷ëåí
f ∈ ZN [x ] ñòåïåíè d .
Òîãäà ïðè ïîìîùè LLL ìû ìîæåì íàéòè âñå êîðíè f â ZN ,
ïî ìîäóëþ íå ïðåâîñõîäÿùèå B = N1d .
Âàæíî: ìû íå çíàåì ðàçëîæåíèÿ N íà ìíîæèòåëè; åñëè áû
çíàëè, ìîãëè áû ïðîùå íàéòè êîðíè.
Ìû ñåé÷àñ äîêàæåì óïðîù¼ííóþ âåðñèþ, äëÿ
B = cN2
d(d+1) .
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Ïîèñê êîðíåé ìíîãî÷ëåíîâ
×òîáû ýòî ñäåëàòü, ðàññìîòðèì ìíîãî÷ëåí
f (x) = xd + ad−1xd−1 + . . . + a1x + a0.
Çàìåòèì, ÷òî åñëè âäðóã âñå êîýôôèöèåíòû f ñèëüíî
îãðàíè÷åíû:
|aiBi | <
N
d + 1, 0 ≤ i ≤ d − 1,
òî ìû ìîæåì íàéòè âñå èíòåðåñóþùèå íàñ êîðíè. Ïî÷åìó?
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Ïîèñê êîðíåé ìíîãî÷ëåíîâ
×òîáû ýòî ñäåëàòü, ðàññìîòðèì ìíîãî÷ëåí
f (x) = xd + ad−1xd−1 + . . . + a1x + a0.
Çàìåòèì, ÷òî åñëè âäðóã âñå êîýôôèöèåíòû f ñèëüíî
îãðàíè÷åíû:
|aiBi | <
N
d + 1, 0 ≤ i ≤ d − 1,
òî ìû ìîæåì íàéòè âñå èíòåðåñóþùèå íàñ êîðíè. Ïî÷åìó?
Ïîòîìó ÷òî òîãäà äëÿ |x | ≤ B
|f (x)| ≤d∑i=0
|aiBi | < N,
è ìîæíî èñêàòü ïðîñòî îáû÷íûå êîðíè ìíîãî÷ëåíà, ÷òî
ëåãêî.Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Ïîèñê êîðíåé ìíîãî÷ëåíîâ
Êîíå÷íî, íàì òàê íå ïîâåç¼ò. Íî ìû ìîæåì ïîïðîáîâàòü
ñäåëàòü òàê, ÷òîáû íàì ïîâåçëî.
Ìû õîòèì íàéòè òàêîé ìíîãî÷ëåí g , ÷òî îí èìååò òå æå
êîðíè, ÷òî è f , íî ïðè ýòîì ìàëåíüêèå êîýôôèöèåíòû.
Ìàëåíüêèå êîýôôèöèåíòû � òî åñòü êîðîòêèé âåêòîð
êîýôôèöèåíòîâ... îñòàëîñü ïðèäóìàòü ðåø¼òêó.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Ïîèñê êîðíåé ìíîãî÷ëåíîâ
Ðàññìîòðèì ìíîæåñòâî ìíîãî÷ëåíîâ
Z ={N,Nx ,Nx2, . . . ,Nxd−1, f (x)
}.
Âñå êîðíè f òàêæå ÿâëÿþòñÿ êîðíÿìè ëþáîé èõ ëèíåéíîé
êîìáèíàöèè (ìû êîðíè èùåì ïî ìîäóëþ N).
Ðàññìîòðèì ðåø¼òêó èç ñòîëáöîâ ìàòðèöû
L =
N 0 0 . . . 0 a00 BN 0 . . . 0 Ba10 0 B2N . . . 0 B2a2...
......
0 0 0 . . . Bd−1N Bd−1ad−1
0 0 0 . . . 0 Bd
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Ïîèñê êîðíåé ìíîãî÷ëåíîâ
Ìû èùåì êîðîòêèé âåêòîð â ýòîé ðåø¼òêå ïðè ïîìîùè
LLL-àëãîðèòìà.
Îïðåäåëèòåëü ðåø¼òêè:
det L = N · BN · . . . · Bd−1N · Bd = NdBd(d+1)/2.
Ïîñëå ïðèìåíåíèÿ LLL ìû íàéä¼ì òàêîé v , ÷òî
||v || ≤ O(λ1(L)) ≤ O((det L)
1d+1
)= O
(NBd/2
N1
d+1
),
ãäå êîíñòàíòû ïîä O çàâèñÿò òîëüêî îò d (ðàçìåðíîñòè
ðåø¼òêè).
Ýòî äëÿ B < c1(d)N2
d(d+1) óæå ïîëó÷èòñÿ ìåíüøå, ÷åìN
d+1.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Ïîèñê êîðíåé ìíîãî÷ëåíîâ
Èíà÷å ãîâîðÿ, ìû íàøëè òàêîé ìíîãî÷ëåí
g(x) = bdxd + . . . + b1x + b0,
÷òî ó g òå æå êîðíè, ÷òî ó f , íî |biBi | < N
d+1.
Òåïåðü ìû åãî ïðîñòî ðåøèì, è âñ¼.
×òîáû óëó÷øèòü îöåíêó, íóæíî óëó÷øèòü ìíîæåñòâî
ìíîãî÷ëåíîâ; ñàìîå îáùåå � äëÿ íåêîòîðîãî h ðàññìîòðåòü
Z ={Nh−i−1f (x)ix j | 0 ≤ j < d , 0 ≤ i < h
}.
Ýòî äëÿ ìåäëåííî ðàñòóùåé ôóíêöèè h è äàñò B = N1/d .
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Àòàêè íà RSA ñ ìàëîé ýêñïîíåíòîé
Òåïåðü ïðèìåíèì âñ¼ ýòî ê êðèïòîãðàôèè.
Âñïîìíèì RSA. Ìû ãîâîðèëè, ÷òî åñëè Àëèñà ðàçîøë¼ò
îäíî è òî æå m òð¼ì Áîáàì ñ ðàçíûìè Ni è ýêñïîíåíòîé
e i , òî ïîëó÷èòñÿ ñèñòåìà óðàâíåíèé m3 ≡ ci (mod Ni ), èç
íå¼ ïî êèòàéñêîé òåîðåìå îá îñòàòêàõ m3 ≡ c
(mod N1N2N3), è òàê êàê m < Ni , òî ïîñëåäíèé êîðåíü
ìîæíî ïðîñòî èçâëå÷ü.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Àòàêè íà RSA ñ ìàëîé ýêñïîíåíòîé
Àëèñà ìîæåò ïîïðîáîâàòü èçáåæàòü ýòîé ó÷àñòè, äîïèñàâ â
ñîîáùåíèå ID Áîáà, íàïðèìåð, â íà÷àëå. Òîãäà Áîáói îíà
ïîøë¼ò (m + 2l IDi )3, ãäå l � äëèíà ñîîáùåíèÿ.
Ðàññìîòðèì äàæå ÷óòü îáîáù¼ííóþ ñèòóàöèþ � ó Áîáà
åñòü ìíîãî÷ëåí g , ÿâëÿþùèéñÿ ÷àñòüþ ïóáëè÷íîãî êëþ÷à
(N, g), è Àëèñà ïîñûëàåò åìó g(m) (mod N); â íàøåé
ñèòóàöèè g(m) = (m + 2l IDi )3.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Àòàêè íà RSA ñ ìàëîé ýêñïîíåíòîé
Ïóñòü Áîáîâ íåñêîëüêî: åñòü íåñêîëüêî N1, . . . ,Nk
(âçàèìíî ïðîñòûõ) è íåñêîëüêî g1, . . . , gk .
Ïóñòü åñòü îäíî ñîîáùåíèå m < Nmin = mini Ni , è ×àðëè
ïîëó÷èë gi (m) ≡ ci (mod Ni ) äëÿ âñåõ 1 ≤ i ≤ k .
Òîãäà, åñëè k ≥ deg(gi ), ×àðëè ñìîæåò íàéòè m.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
Îáùèå ñâåäåíèÿÀëãîðèòì LLLÏðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
Àòàêè íà RSA ñ ìàëîé ýêñïîíåíòîé
Äëÿ ýòîãî îïðåäåëèì hi = gi − ci ; íàì íóæíî íàéòè îáùèé
êîðåíü m: hi (m) ≡ 0 (mod Ni ).
Ïî êèòàéñêîé òåîðåìå îá îñòàòêàõ, ñîâìåñòèì hi â îáùèé
h:
h(x) =
k∑i=1
Tihi (x) (mod N1N2 . . .Nk).
Íî òàê êàê
M < Nmin ≤ (N1N2 . . .Nk)1k ≤ (N1N2 . . .Nk)
1d ,
ìû ìîæåì ïðèìåíèòü LLL-àëãîðèòì è íàéòè êîðåíü.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
ÈäåÿÊîíñòðóêöèÿ õåø-ôóíêöèé AjtaiÊîíñòðóêöèÿ êðèïòîñèñòåìû Ajtai-Dwork
Outline
1 Ðåø¼òêè íà ñëóæáå êðèïòîàíàëèçà
Îáùèå ñâåäåíèÿ
Àëãîðèòì LLL
Ïðèìåíåíèÿ àëãîðèòìà LLL â êðèïòîàíàëèçå
2 Ðåø¼òêè íà ñëóæáå êðèïòîãðàôèè
Èäåÿ
Êîíñòðóêöèÿ õåø-ôóíêöèé Ajtai
Êîíñòðóêöèÿ êðèïòîñèñòåìû Ajtai-Dwork
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
ÈäåÿÊîíñòðóêöèÿ õåø-ôóíêöèé AjtaiÊîíñòðóêöèÿ êðèïòîñèñòåìû Ajtai-Dwork
Î ñëîæíîñòè
Ìû âñ¼ âðåìÿ ãîâîðèì î òîì, ÷òî ñòîéêîñòü êðèïòîñèñòåì
îñíîâàíà íà ñëîæíîñòè ðåøåíèÿ òåõ èëè èíûõ çàäà÷.
Íî î êàêîé ñëîæíîñòè èä¼ò ðå÷ü?
Íàì äî ñèõ ïîð òðåáîâàëàñü êðèïòîãðàôè÷åñêàÿ
ñëîæíîñòü: íóæíî áûëî, ÷òîáû âðàã íå óìåë ðåøàòü
ñëîæíóþ çàäà÷ó íè íà êàêîé äîëå âõîäîâ, âîîáùå íèêàê.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
ÈäåÿÊîíñòðóêöèÿ õåø-ôóíêöèé AjtaiÊîíñòðóêöèÿ êðèïòîñèñòåìû Ajtai-Dwork
Î ñëîæíîñòè
À õîòåëîñü áû, ÷òîáû òðåáîâàëàñü ñëîæíîñòü â õóäøåì
ñëó÷àå.
Íàïðèìåð, ÷òîáû ñäåëàòü óòâåðæäåíèå ¾åñëè P6=NP, òîêðèïòîñèñòåìà ñòîéêàÿ¿, íàäî êàê-òî ñâÿçàòü ñòîéêîñòü
èìåííî ñî ñëîæíîñòüþ â õóäøåì ñëó÷àå.
Ìû ñåé÷àñ ïîãîâîðèì îá èäåÿõ òîãî, êàê ñâÿçàòü
êðèïòîãðàôè÷åñêóþ ñòîéêîñòü ñî ñëîæíîñòüþ â õóäøåì
ñëó÷àå.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
ÈäåÿÊîíñòðóêöèÿ õåø-ôóíêöèé AjtaiÊîíñòðóêöèÿ êðèïòîñèñòåìû Ajtai-Dwork
Èñòîðèÿ
Ajtai, 1996: õåø-ôóíêöèè, ñòîéêîñòü êîòîðûõ îñíîâàíà íà
ñëîæíîñòè â õóäøåì ñëó÷àå çàäà÷è nc -ïðèáëèæåíèÿ ïîèñêà
êðàò÷àéøåãî âåêòîðà â ðåø¼òêå (shortest vector problem,
SVP).
Ò.å. åñëè êòî-òî óìååò îáðàùàòü ôóíêöèþ èç ýòîãî
ñåìåéñòâà, îí óìååò ïîëèíîìèàëüíî àïïðîêñèìèðîâàòü
êðàò÷àéøèå âåêòîðû âî âñåõ ðåø¼òêàõ.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
ÈäåÿÊîíñòðóêöèÿ õåø-ôóíêöèé AjtaiÊîíñòðóêöèÿ êðèïòîñèñòåìû Ajtai-Dwork
Èñòîðèÿ
Ajtai, Dwork, 1998: êðèïòîñèñòåìà, ñòîéêîñòü êîòîðîé
îñíîâàíà íà ñëîæíîñòè â õóäøåì ñëó÷àå.
Çàäà÷à, ïðàâäà, ìåíåå ÿñíàÿ: unique-SVP, ò.å. ïîèñê
êðàò÷àéøåãî âåêòîðà v â ðåø¼òêå ðàçìåðíîñòè n ïðè
óñëîâèè, ÷òî íåò íåïàðàëëåëüíûõ åìó âåêòîðîâ äëèíû
ìåíüøå n8||v ||.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
ÈäåÿÊîíñòðóêöèÿ õåø-ôóíêöèé AjtaiÊîíñòðóêöèÿ êðèïòîñèñòåìû Ajtai-Dwork
Èäåÿ êîíñòðóêöèè Ajtai
Ìû õîòèì ïîñòðîèòü ñåìåéñòâî õåø-ôóíêöèé. Ïî ñóòè
êîíñòðóêöèÿ � âàðèàíò subset sum.
Ðàññìîòðèì m âåêòîðîâ a1, . . . , am ∈ Znq. Îïðåäåëèì
fa1,...,am : {0, 1}m → {0, 1}n log q êàê
fa1,...,am(b1, . . . , bm) =
m∑i=1
biai (mod q).
Íàøå ñåìåéñòâî õåø-ôóíêöèé � ýòî íàáîð ôóíêöèé
F = {fa1,...,am | a1, . . . , am ∈ Znq}.
×òîáû ñåìåéñòâî áûëî ñòîéêèì, íóæíî, ÷òîáû äëÿ
ñëó÷àéíîé ôóíêöèè f ∈ F íèêàêîé ïîëèíîìèàëüíûé
àëãîðèòì íå ìîã áû ñî çíà÷èòåëüíîé âåðîÿòíîñòüþ íàéòè
êîëëèçèþ, ò.å. òàêèå x 6= y , ÷òî f (x) = f (y).
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
ÈäåÿÊîíñòðóêöèÿ õåø-ôóíêöèé AjtaiÊîíñòðóêöèÿ êðèïòîñèñòåìû Ajtai-Dwork
Èäåÿ äîêàçàòåëüñòâà
Ìû õîòèì äîêàçàòü, ÷òî åñëè òàêîé àëãîðèòì ñóùåñòâóåò,
òî, èñïîëüçóÿ åãî êàê îðàêóëà, ìû ñìîæåì íàéòè
êðàò÷àéøèé âåêòîð â ëþáîé ðåø¼òêå.
�Òàêîé àëãîðèòì� óìååò ïî ñëó÷àéíûì a1, . . . , am ∈ Znq
íàõîäèòü ñî çíà÷èòåëüíîé âåðîÿòíîñòüþ èõ ëèíåéíóþ
êîìáèíàöèþ, ðàâíóþ 0, ò.å. b1, . . . , bm ∈ {0,±1}:∑mi=1 biai ≡ 0 (mod q).
Èäåÿ ñâåäåíèÿ � ðàññìîòðåòü ðåø¼òêó êàê ðàñïðåäåëåíèå
âåðîÿòíîñòåé è äîáàâëÿòü â íå¼ íîðìàëüíî
ðàñïðåäåë¼ííûé øóì.
Åñëè äîáàâèòü äîñòàòî÷íî ìíîãî øóìà, ðåø¼òêà ñòàíåò
íåîòëè÷èìà îò ðàâíîìåðíîãî ðàñïðåäåëåíèÿ.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
ÈäåÿÊîíñòðóêöèÿ õåø-ôóíêöèé AjtaiÊîíñòðóêöèÿ êðèïòîñèñòåìû Ajtai-Dwork
Øóì â ðåø¼òêå
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
ÈäåÿÊîíñòðóêöèÿ õåø-ôóíêöèé AjtaiÊîíñòðóêöèÿ êðèïòîñèñòåìû Ajtai-Dwork
Èäåÿ äîêàçàòåëüñòâà
Ïóñòü ìû íàøëè òàêîé ïàðàìåòð s, ÷òî ñ íèì
ðàñïðåäåëåíèå ðåø¼òêè äîñòàòî÷íî áëèçêî ê
ðàâíîìåðíîìó.
Òîãäà äàâàéòå âîçüì¼ì íåñêîëüêî âåêòîðîâ ïî ýòîìó
íîðìàëüíîìó ðàñïðåäåëåíèþ (îíè áóäóò êîðîòêèìè) è
ïðèâåä¼ì èõ ê ïàðàëëåëåïèïåäó ðåø¼òêè.
Ïîëó÷àòñÿ ïðàêòè÷åñêè ðàâíîìåðíî ðàñïðåäåë¼ííûå òî÷êè
â ïàðàëëåëåïèïåäå.
Òåïåðü ðàçîáü¼ì ðåø¼òêó íà qn ÿ÷ååê è ïîñòàâèì â
ñîîòâåòñòâèå êàæäîé ÿ÷åéêå ýëåìåíò Znq.
Íàøè èñõîäíûå âåêòîðû òåïåðü ñîîòâåòñòâóþò ÷èñëàì èç
Znq.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
ÈäåÿÊîíñòðóêöèÿ õåø-ôóíêöèé AjtaiÊîíñòðóêöèÿ êðèïòîñèñòåìû Ajtai-Dwork
Èäåÿ äîêàçàòåëüñòâà
Ïðèìåíèì íàø àëãîðèòì, êîòîðûé óìååò íàõîäèòü
êîëëèçèè, ê ýòèì ÷èñëàì. Îí íàéä¼ò ëèíåéíóþ
êîìáèíàöèþ, ðàâíóþ 0, ò.å. ëèíåéíóþ êîìáèíàöèþ íàøèõ
âåêòîðîâ, î÷åíü áëèçêóþ ê âåêòîðó, ðàâíîìó íóëþ ¾ïî
ìîäóëþ ðåø¼òêè¿, ò.å. î÷åíü áëèçêóþ ê âåêòîðó ðåø¼òêè.
È, òàê êàê èñõîäíûå âåêòîðû áûëè êîðîòêèìè, ýòîò âåêòîð
ðåø¼òêè òîæå áóäåò êîðîòêèì.
Îñòàëèñü òîëüêî ñëîæíûå ñòàòèñòè÷åñêèå ñîîáðàæåíèÿ.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
ÈäåÿÊîíñòðóêöèÿ õåø-ôóíêöèé AjtaiÊîíñòðóêöèÿ êðèïòîñèñòåìû Ajtai-Dwork
Èäåÿ êîíñòðóêöèè Ajtai-Dwork
Ñàìà êîíñòðóêöèÿ êðèïòîñèñòåìû òîæå î÷åíü íåñëîæíàÿ.
Ðàññìîòðèì áîëüøîå ÷èñëî N; ñåêðåòíûé êëþ÷ � ïðîñòî
÷èñëî h ∈ [√N, 2
√N).
Ïóáëè÷íûé êëþ÷ � íàáîð èç m = O(logN) ÷èñåë
0 ≤ a1, . . . , am ≤ N − 1, êîòîðûå ¾äîñòàòî÷íî áëèçêè¿ ê
÷èñëàì, êðàòíûì N/h (N íå îáÿçàòåëüíî äåëèòñÿ íà h),
ïëþñ íîìåð îäíîãî èç ýòèõ ÷èñåë ai0 , êîòîðîå äîñòàòî÷íî
áëèçêî ê íå÷¼òíîìó êðàòíîìó N/h.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
ÈäåÿÊîíñòðóêöèÿ õåø-ôóíêöèé AjtaiÊîíñòðóêöèÿ êðèïòîñèñòåìû Ajtai-Dwork
Èäåÿ êîíñòðóêöèè Ajtai-Dwork
Êîä íóëÿ: ñóììà ñëó÷àéíîãî ïîäìíîæåñòâà {ai }.
Êîä åäèíèöû: ñóììà ñëó÷àéíîãî ïîäìíîæåñòâà {ai } ïëþñ
åù¼ bai0/2c.Äåêîäèðîâàíèå: ïîäåëèòü ÷èñëî íà N/h. Åñëè ïîëó÷èëîñü
ìàëî, âûäàòü 0, åñëè ìíîãî � âûäàòü 1.
Äåêîäèðîâàíèå êîððåêòíî: âñå ai áëèçêè ê òîìó, ÷òîáû
äåëèòüñÿ íà N/h, à ai0/2 íå áëèçêî.
Äîêàçàòåëüñòâî ñòîéêîñòè, êîíå÷íî, ãîðàçäî ñëîæíåå.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè
Ðåøåòêè íà ñëóæáå êðèïòîàíàëèçàÐåøåòêè íà ñëóæáå êðèïòîãðàôèè
ÈäåÿÊîíñòðóêöèÿ õåø-ôóíêöèé AjtaiÊîíñòðóêöèÿ êðèïòîñèñòåìû Ajtai-Dwork
Ñïàñèáî çà âíèìàíèå!
Lecture notes è ñëàéäû áóäóò ïîÿâëÿòüñÿ íà ìîåé
homepage:
http://logic.pdmi.ras.ru/∼sergey/
Ïðèñûëàéòå ëþáûå çàìå÷àíèÿ, ðåøåíèÿ óïðàæíåíèé,
íîâûå ÷èñëåííûå ïðèìåðû è ïðî÷åå ïî àäðåñàì:
[email protected], [email protected]
Çàõîäèòå â ÆÆ smartnik.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ è ðåø¼òêè