Weitere ähnliche Inhalte Mehr von Computer Science Club Mehr von Computer Science Club (20) 20090920 cryptoprotocols nikolenko_lecture021. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ïîòî÷íûå øèôðû
Áëî÷íûå øèôðû
Õåø-ôóíêöèè
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ñåðãåé Íèêîëåíêî
Êðèïòîãðàôèÿ CS Club, îñåíü 2009
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
2. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ñóòü ïðîèñõîäÿùåãî
Ïîòî÷íûå øèôðû
Ïðîñòûå øèôðû
Áëî÷íûå øèôðû
Èç ÷åãî äåëàþò øèôðû
Õåø-ôóíêöèè
Outline
1 Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ñóòü ïðîèñõîäÿùåãî
Ïðîñòûå øèôðû
Èç ÷åãî äåëàþò øèôðû
2 Ïîòî÷íûå øèôðû
Îáùèå çàìå÷àíèÿ
Î õîðîøèõ è ïëîõèõ øèôðàõ
LFSR è ëèíåéíàÿ ñëîæíîñòü
Íåëèíåéíûå ðåãèñòðû ñäâèãà
3 Áëî÷íûå øèôðû
Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
Message Authenticity Codes
4 Õåø-ôóíêöèè
Îïðåäåëåíèÿ
×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé ñ çàêðûòûì êëþ÷îì
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ
3. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ñóòü ïðîèñõîäÿùåãî
Ïîòî÷íûå øèôðû
Ïðîñòûå øèôðû
Áëî÷íûå øèôðû
Èç ÷åãî äåëàþò øèôðû
Õåø-ôóíêöèè
Ñóòü ïðîèñõîäÿùåãî
Àëèñà è Áîá èìåþò îáùèé ñåêðåòíûé êëþ÷.
Îíè ìîãóò ïåðåäàâàòü ñîîáùåíèÿ:
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
4. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ñóòü ïðîèñõîäÿùåãî
Ïîòî÷íûå øèôðû
Ïðîñòûå øèôðû
Áëî÷íûå øèôðû
Èç ÷åãî äåëàþò øèôðû
Õåø-ôóíêöèè
Îäíîðàçîâûå áëîêíîòû
Íåñëîæíî ñäåëàòü àáñîëþòíî íåïðîáèâàåìûé øèôð
îäíîðàçîâûé áëîêíîò.
Àëèñà è Áîá ñóììèðóþò êëþ÷ ñ ñîîáùåíèåì ïîáèòîâî:
c = m ⊕ kAB .
Ó âðàãà íåò íèêàêèõ øàíñîâ äåøèôðîâàòü òàêîå
ñîîáùåíèå.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
5. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ñóòü ïðîèñõîäÿùåãî
Ïîòî÷íûå øèôðû
Ïðîñòûå øèôðû
Áëî÷íûå øèôðû
Èç ÷åãî äåëàþò øèôðû
Õåø-ôóíêöèè
Çàäà÷à
Ïðîáëåìà: ìû íå ìîæåì ñåáå ïîçâîëèòü òàê îòíîñèòüñÿ ê
êëþ÷àì.
Íàäî èñïîëüçîâàòü îäèí è òîò æå êëþ÷ ìíîãî ðàç.
Ïîòî÷íîå êîäèðîâàíèå: èä¼ò ïîòîê äàííûõ, íóæíî
êîäèðîâàòü êàæäûé íîâûé áèò è ïåðåäàâàòü äàëüøå â
ïîòîê.
Áëî÷íîå êîäèðîâàíèå: êëþ÷ îäèí (íå ñëèøêîì äëèííûé),
ñîîáùåíèå ãîðàçäî äëèííåå, åãî ïðèõîäèòñÿ ðàçáèâàòü íà
áëîêè è êîäèðîâàòü áëîêè.
Íî ñíà÷àëà ïîãîâîðèì î ñàìèõ øèôðàõ.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
6. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ñóòü ïðîèñõîäÿùåãî
Ïîòî÷íûå øèôðû
Ïðîñòûå øèôðû
Áëî÷íûå øèôðû
Èç ÷åãî äåëàþò øèôðû
Õåø-ôóíêöèè
Ïîäñòàíîâî÷íûå øèôðû
Ïîäñòàíîâî÷íûå øèôðû (substitution ciphers): ïóñòü e ∈ SA
(e ïåðåñòàíîâêà áóêâ àëôàâèòà). Òîãäà äëÿ e ìîæíî
îïðåäåëèòü êîäèðóþùåå ïðåîáðàçîâàíèå:
Ee (m) = (e (m1 )e (m2 ) . . . e (mt )) = (c1 c2 . . . ct ) = c .
Êîëè÷åñòâî ïåðåñòàíîâîê íà äîñòàòî÷íî áîëüøîì
àëôàâèòå âåëèêî (ðóññêèé: 33! ≈ 8, 68 · 1036 ).
Íî åñëè ïðîñòî òàê øèôðîâàòü, áóäåò î÷åíü ïëîõî
(ïî÷åìó?).
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
7. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ñóòü ïðîèñõîäÿùåãî
Ïîòî÷íûå øèôðû
Ïðîñòûå øèôðû
Áëî÷íûå øèôðû
Èç ÷åãî äåëàþò øèôðû
Õåø-ôóíêöèè
Ãîìîôîííûå ïîäñòàíîâî÷íûå øèôðû
Homophonic substitution ciphers.
Òî æå ñàìîå, íî òåïåðü íå ïåðåñòàíîâêà ñèìâîëñèìâîë, à
ôóíêöèÿ A → 2A .
t
Íàïðèìåð:
A = {0, 1}, e (a) = {00, 01}, e (b) = {10, 11}.
Òåïåðü ìîæíî êîäèðîâàòü ÷àñòûå ñèìâîëû ðàçíûìè
êîäàìè, óðàâíèâàÿ ÷àñòîòó âñòðå÷àåìîñòè.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
8. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ñóòü ïðîèñõîäÿùåãî
Ïîòî÷íûå øèôðû
Ïðîñòûå øèôðû
Áëî÷íûå øèôðû
Èç ÷åãî äåëàþò øèôðû
Õåø-ôóíêöèè
Ïîëèàëôàâèòíûå øèôðû
Ïîëèàëôàâèòíûé ïîäñòàíîâî÷íûé øèôð: ðàññìîòðèì
âåêòîð ïåðåñòàíîâîê e = (e1 , e2 , . . . et ) è áóäåì êîäèðîâàòü
áëîê ñîîáùåíèÿ m1 m2 . . . mt êàê
Ee = (e1 (m1 ), e2 (m2 ), . . . , et (mt )).
Øèôð Âèæåíåðà èç òàêèõ.
Íå ñèëüíî ëó÷øå, ÷åì ìîíîàëôàâèòíûé: ìîæíî ðàçáèòü
ñîîáùåíèå íà ÷àñòè, çàøèôðîâàííûå îäíîé ïåðåñòàíîâêîé,
è êðèïòîàíàëèçèðîâàòü ïî îòäåëüíîñòè.
Íóæíî òîëüêî îïðåäåëèòü ïåðèîä; äëÿ ýòîãî è áûë ìåòîä
Êàñèñêè è ïðî÷èå ìåòîäû.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
9. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ñóòü ïðîèñõîäÿùåãî
Ïîòî÷íûå øèôðû
Ïðîñòûå øèôðû
Áëî÷íûå øèôðû
Èç ÷åãî äåëàþò øèôðû
Õåø-ôóíêöèè
Ïåðåñòàíîâî÷íûå øèôðû
Åù¼ ìîæíî íå ìåíÿòü áóêâû â ñîîáùåíèè, à ïåðåñòàâëÿòü
èõ.
Ïî îòäåëüíîñòè ýòî òîæå ëåãêî ïîääà¼òñÿ êðèïòîàíàëèçó.
Ïîýòîìó ïðàâèëüíûé ïîäõîä âñ¼ îáúåäèíèòü.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
10. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ñóòü ïðîèñõîäÿùåãî
Ïîòî÷íûå øèôðû
Ïðîñòûå øèôðû
Áëî÷íûå øèôðû
Èç ÷åãî äåëàþò øèôðû
Õåø-ôóíêöèè
Æåëàåìîå
Ïðåäïîëîæèì, ÿ õî÷ó çàøèôðîâàòü áëîê ðàçìåðîì n
áèòîâ.
Êîíå÷íî, õîòåëîñü áû ïðîñòî óêàçàòü â êà÷åñòâå êëþ÷à
ñëó÷àéíóþ ïåðåñòàíîâêó âñåõ âîçìîæíûõ áëîêîâ.
Êàêîé òîãäà áóäåò ðàçìåð êëþ÷à?
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
11. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ñóòü ïðîèñõîäÿùåãî
Ïîòî÷íûå øèôðû
Ïðîñòûå øèôðû
Áëî÷íûå øèôðû
Èç ÷åãî äåëàþò øèôðû
Õåø-ôóíêöèè
Æåëàåìîå
Ïðåäïîëîæèì, ÿ õî÷ó çàøèôðîâàòü áëîê ðàçìåðîì n
áèòîâ.
Êîíå÷íî, õîòåëîñü áû ïðîñòî óêàçàòü â êà÷åñòâå êëþ÷à
ñëó÷àéíóþ ïåðåñòàíîâêó âñåõ âîçìîæíûõ áëîêîâ.
Êàêîé òîãäà áóäåò ðàçìåð êëþ÷à?
Âñåãî êëþ÷åé 2n , ïåðåñòàíîâîê 2n !.
Äëèíà êëþ÷à log(2n !) ≈ n2n − 1 n
ln 2 2 + n áèòîâ (ôîðìóëà
2
Ñòèðëèíãà).
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
12. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ñóòü ïðîèñõîäÿùåãî
Ïîòî÷íûå øèôðû
Ïðîñòûå øèôðû
Áëî÷íûå øèôðû
Èç ÷åãî äåëàþò øèôðû
Õåø-ôóíêöèè
Äåéñòâèòåëüíîå
Ñëó÷àéíóþ çàìåíó äëÿ âñåãî áëîêà (ñêàæåì, áëîê èç 64
áèòîâ) óêàçàòü òðóäíî.
Ïîýòîìó øèôðû äåëàþò èç çàìåí (substitutions) è
ïåðåñòàíîâîê (permutations).
Øèôð ýòî êîìïîçèöèÿ áîëåå ïðîñòûõ çàìåí è
ïåðåñòàíîâîê.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
13. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ñóòü ïðîèñõîäÿùåãî
Ïîòî÷íûå øèôðû
Ïðîñòûå øèôðû
Áëî÷íûå øèôðû
Èç ÷åãî äåëàþò øèôðû
Õåø-ôóíêöèè
64-áèòíûé øèôð
Íàïðèìåð, áëîêè äëèíû 64 ìîæíî ðàçáèòü íà êóñêè äëèíû
8.
Åñëè îãðàíè÷èòüñÿ çàìåíàìè è ïåðåñòàíîâêàìè âíóòðè
êóñêîâ, òî áóäåò ëåãêî âçëîìàòü.
Ïîýòîìó â øèôðå íåñêîëüêî ðàóíäîâ; âíóòðè ðàóíäà
ðàáîòà èä¼ò âíóòðè êóñêîâ ïî 8 áèò, ìåæäó ðàóíäàìè îíè
ïåðåìåøèâàþòñÿ.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
14. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ñóòü ïðîèñõîäÿùåãî
Ïîòî÷íûå øèôðû
Ïðîñòûå øèôðû
Áëî÷íûå øèôðû
Èç ÷åãî äåëàþò øèôðû
Õåø-ôóíêöèè
Ïðèìåð: DES
DES (data encryption standard) óæå óñòàðåë, íî åãî
ïðîùå áóäåò ðàçîáðàòü.
Êëþ÷ äëèíîé 56 áèòîâ èñïîëüçóåòñÿ äëÿ êîäèðîâàíèÿ
64-áèòíîãî áëîêà.
Ïðè ïîìîùè ýòîãî êëþ÷à ãåíåðèðóþòñÿ 16 êëþ÷åé äëÿ 16
ðàóíäîâ.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
15. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ñóòü ïðîèñõîäÿùåãî
Ïîòî÷íûå øèôðû
Ïðîñòûå øèôðû
Áëî÷íûå øèôðû
Èç ÷åãî äåëàþò øèôðû
Õåø-ôóíêöèè
Ïðèìåð: DES
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
16. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ñóòü ïðîèñõîäÿùåãî
Ïîòî÷íûå øèôðû
Ïðîñòûå øèôðû
Áëî÷íûå øèôðû
Èç ÷åãî äåëàþò øèôðû
Õåø-ôóíêöèè
Ïðèìåð: DES
Ïåðåñòàíîâêà e ïî ñóòè íå íóæíà (çà÷åì?).
Ãåíåðàöèÿ êëþ÷åé 16 ðàóíäîâ ïî ïåðåñòàíîâêå, ëåâàÿ è
ïðàâàÿ ïîëîâèíû êëþ÷à ñîçäàþòñÿ îòäåëüíî.
Êàæäûé ðàóíä ïðèìåíåíèå ñïåöèàëüíîé
mangler-ôóíêöèè ê êëþ÷ó è ïîëîâèíå êîäà.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
17. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ñóòü ïðîèñõîäÿùåãî
Ïîòî÷íûå øèôðû
Ïðîñòûå øèôðû
Áëî÷íûå øèôðû
Èç ÷åãî äåëàþò øèôðû
Õåø-ôóíêöèè
Ïðèìåð: DES
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
18. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ñóòü ïðîèñõîäÿùåãî
Ïîòî÷íûå øèôðû
Ïðîñòûå øèôðû
Áëî÷íûå øèôðû
Èç ÷åãî äåëàþò øèôðû
Õåø-ôóíêöèè
Èñòîðèÿ DES
Áûë ðàçðàáîòàí â íà÷àëå 1970-õ, ïðèíÿò êàê ñòàíäàðò â
1976.
Ðàçðàáàòûâàëî IBM, íî NSA (National Security Agency)
ïðèíèìàëî àêòèâíîå ó÷àñòèå, ìåíÿëî ïðîòîêîëû.
Äóìàëè, ÷òî îñîáåííîñòè DES ïîçâîëÿëè NSA åãî
äåøèôðîâûâàòü.
Íà ñàìîì äåëå ôóíêöèè âûáèðàëèñü òàê, ÷òîáû èõ áûëî
òðóäíåå âçëàìûâàòü ðàçíîñòíûì êðèïòîàíàëèçîì
(dierential cryptoanalysis). Ýòî ìåòîä äëÿ âçëîìà áëî÷íûõ
øèôðîâ; Eli Biham, Adi Shamir, êîíåö 1980-õ; íî, âèäèìî,
IBM è NSA çíàëè îá ýòèõ àòàêàõ åù¼ â 1970-õ (Don
Coppersmith, 1994).
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
19. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ñóòü ïðîèñõîäÿùåãî
Ïîòî÷íûå øèôðû
Ïðîñòûå øèôðû
Áëî÷íûå øèôðû
Èç ÷åãî äåëàþò øèôðû
Õåø-ôóíêöèè
Ñîâðåìåííûå àëüòåðíàòèâû
IDEA (International Data Encryption Algorithm), 1991
áëîêè ïî 64 áèòà, êëþ÷ 128 áèòîâ. ×åðåäóåò ïîáèòîâûé
XOR, ñëîæåíèå è óìíîæåíèå ïî ìîäóëþ 21 6.
AES (Advanced Encryption Standard), 2001 îôèöèàëüíî
ïðèø¼ë íà ñìåíó DES. Íà îñíîâå ñåìåéñòâà êîäîâ Rijndael.
Êëþ÷è ìîãóò áûòü ðàçìåðîì 128, 192 è 256 áèòîâ.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
20. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì Îáùèå çàìå÷àíèÿ
Ïîòî÷íûå øèôðû Î õîðîøèõ è ïëîõèõ øèôðàõ
Áëî÷íûå øèôðû LFSR è ëèíåéíàÿ ñëîæíîñòü
Õåø-ôóíêöèè Íåëèíåéíûå ðåãèñòðû ñäâèãà
Outline
1 Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ñóòü ïðîèñõîäÿùåãî
Ïðîñòûå øèôðû
Èç ÷åãî äåëàþò øèôðû
2 Ïîòî÷íûå øèôðû
Îáùèå çàìå÷àíèÿ
Î õîðîøèõ è ïëîõèõ øèôðàõ
LFSR è ëèíåéíàÿ ñëîæíîñòü
Íåëèíåéíûå ðåãèñòðû ñäâèãà
3 Áëî÷íûå øèôðû
Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
Message Authenticity Codes
4 Õåø-ôóíêöèè
Îïðåäåëåíèÿ
×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé ñ çàêðûòûì êëþ÷îì
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ
21. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì Îáùèå çàìå÷àíèÿ
Ïîòî÷íûå øèôðû Î õîðîøèõ è ïëîõèõ øèôðàõ
Áëî÷íûå øèôðû LFSR è ëèíåéíàÿ ñëîæíîñòü
Õåø-ôóíêöèè Íåëèíåéíûå ðåãèñòðû ñäâèãà
Îäíîðàçîâûé áëîêíîò
Òåîðåìà Øåííîíà: ïóñòü K è M ñëó÷àéíûå âåëè÷èíû,
ñîîòâåòñòâóþùèå êëþ÷àì è ñîîáùåíèÿì. ×òîáû ñèñòåìà ñ
çàêðûòûì êëþ÷îì áûëà áåçóñëîâíî íàä¼æíîé,
íåîáõîäèìî, ÷òîáû H (K ) ≥ H (M ).
 ÷àñòíîñòè, åñëè |k | ≥ |m|, è êëþ÷è áåðóòñÿ èç
ðàâíîìåðíîãî ðàñïðåäåëåíèÿ, òî ýòî óñëîâèå âñåãäà
âûïîëíåíî.
Íî äëÿ ýòîãî íóæíî èñïîëüçîâàòü êëþ÷ ðàçìåðîì ñ
ñîîáùåíèå è ñðàçó åãî âûáðàñûâàòü, ÷òî îáû÷íî
íåâîçìîæíî.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
22. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì Îáùèå çàìå÷àíèÿ
Ïîòî÷íûå øèôðû Î õîðîøèõ è ïëîõèõ øèôðàõ
Áëî÷íûå øèôðû LFSR è ëèíåéíàÿ ñëîæíîñòü
Õåø-ôóíêöèè Íåëèíåéíûå ðåãèñòðû ñäâèãà
Ïîòî÷íûé øèôð êàê îäíîðàçîâûé áëîêíîò
Íî èäåÿ õîðîøà: äàâàéòå äåéñòâèòåëüíî ãåíåðèðîâàòü
íîâûé øèôð ïîòî÷íûì îáðàçîì.
Òîëüêî îí ó íàñ áóäåò íå ñîâñåì ñëó÷àéíûé, à
ïñåâäîñëó÷àéíûé.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
23. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì Îáùèå çàìå÷àíèÿ
Ïîòî÷íûå øèôðû Î õîðîøèõ è ïëîõèõ øèôðàõ
Áëî÷íûå øèôðû LFSR è ëèíåéíàÿ ñëîæíîñòü
Õåø-ôóíêöèè Íåëèíåéíûå ðåãèñòðû ñäâèãà
Ñèíõðîííûå øèôðû
 ñèíõðîííûõ ïîòî÷íûõ øèôðàõ ïîòîê êëþ÷à ãåíåðèðóåòñÿ
íåçàâèñèìî îò ñîîáùåíèÿ è êîäà.
Êîäèðîâàíèå ñèíõðîííûõ øèôðîâ ìîæíî îïèñàòü êàê
σi +1 =f (σi , k ),
zi =g (σi , k ),
ci =hi (zi , mi ).
σ0 íà÷àëüíîå ñîñòîÿíèå, k êëþ÷, f ôóíêöèÿ
ïåðåõîäà ìåæäó ñîñòîÿíèÿìè, g ïðîèçâîäèò ïîòîê êëþ÷åé
z , à êîä c ïîëó÷àåòñÿ èç ýòîãî ïîòîêà è ñîîáùåíèÿ.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
24. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì Îáùèå çàìå÷àíèÿ
Ïîòî÷íûå øèôðû Î õîðîøèõ è ïëîõèõ øèôðàõ
Áëî÷íûå øèôðû LFSR è ëèíåéíàÿ ñëîæíîñòü
Õåø-ôóíêöèè Íåëèíåéíûå ðåãèñòðû ñäâèãà
Ñèíõðîííûå øèôðû
 ñèíõðîííûõ ïîòî÷íûõ øèôðàõ ïîòîê êëþ÷à ãåíåðèðóåòñÿ
íåçàâèñèìî îò ñîîáùåíèÿ è êîäà.
Êîäèðîâàíèå:
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
25. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì Îáùèå çàìå÷àíèÿ
Ïîòî÷íûå øèôðû Î õîðîøèõ è ïëîõèõ øèôðàõ
Áëî÷íûå øèôðû LFSR è ëèíåéíàÿ ñëîæíîñòü
Õåø-ôóíêöèè Íåëèíåéíûå ðåãèñòðû ñäâèãà
Ñèíõðîííûå øèôðû
 ñèíõðîííûõ ïîòî÷íûõ øèôðàõ ïîòîê êëþ÷à ãåíåðèðóåòñÿ
íåçàâèñèìî îò ñîîáùåíèÿ è êîäà.
Äåêîäèðîâàíèå:
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
26. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì Îáùèå çàìå÷àíèÿ
Ïîòî÷íûå øèôðû Î õîðîøèõ è ïëîõèõ øèôðàõ
Áëî÷íûå øèôðû LFSR è ëèíåéíàÿ ñëîæíîñòü
Õåø-ôóíêöèè Íåëèíåéíûå ðåãèñòðû ñäâèãà
Ñèíõðîííûå øèôðû
 ñèíõðîííûõ ïîòî÷íûõ øèôðàõ ïîòîê êëþ÷à ãåíåðèðóåòñÿ
íåçàâèñèìî îò ñîîáùåíèÿ è êîäà.
Îáû÷íî ðàññìàòðèâàþò ëèíåéíûå áèíàðíûå ïîòî÷íûå
øèôðû.
 íèõ mi è ci áèòû, è hi (zi , mi ) = mi ⊕ zi .
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
27. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì Îáùèå çàìå÷àíèÿ
Ïîòî÷íûå øèôðû Î õîðîøèõ è ïëîõèõ øèôðàõ
Áëî÷íûå øèôðû LFSR è ëèíåéíàÿ ñëîæíîñòü
Õåø-ôóíêöèè Íåëèíåéíûå ðåãèñòðû ñäâèãà
Ñâîéñòâà ñèíõðîííûõ øèôðîâ
Íóæíî ñèíõðîíèçèðîâàòü. Åñëè âäðóã â êàíàëå ìîãóò
ïðîïàäàòü áèòû èëè ïîÿâëÿòüñÿ íîâûå, íóæíû
ñïåöèàëüíûå ìåòîäû ñèíõðîíèçàöèè.
Îøèáêà íå ðàñïðîñòðàíÿåòñÿ äàëüøå.
Îòíîñèòåëüíî àòàê:
èç-çà ïåðâîãî ñâîéñòâà àòàêè, ñâÿçàííûå ñ íîâûìè
ñèìâîëàìè èëè óäàëåíèåì, ëåã÷å çàìåòèòü;
èç-çà âòîðîãî ñâîéñòâà, åñëè âçëîìùèê ìîæåò ìåíÿòü êîä,
îí áóäåò çíàòü, êàê ýòî ïîâëèÿåò íà ñîîáùåíèå.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
28. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì Îáùèå çàìå÷àíèÿ
Ïîòî÷íûå øèôðû Î õîðîøèõ è ïëîõèõ øèôðàõ
Áëî÷íûå øèôðû LFSR è ëèíåéíàÿ ñëîæíîñòü
Õåø-ôóíêöèè Íåëèíåéíûå ðåãèñòðû ñäâèãà
Ñàìîñèíõðîíèçèðóþùèåñÿ øèôðû
 ñàìîñèíõðîíèçèðóþùèõñÿ ïîòî÷íûõ øèôðàõ ïîòîê
êëþ÷à ôóíêöèÿ ñîîáùåíèÿ è íåñêîëüêèõ
ïðåäøåñòâóþùèõ áèòîâ êîäà.
Êîäèðîâàíèå ñàìîñèíõðîíèçèðóþùèõñÿ øèôðîâ ìîæíî
îïèñàòü êàê
σi =(ci −t , ci −t +1 , . . . , ci −1 ),
zi =g (σi , k ),
ci =hi (zi , mi ).
σ0 íà÷àëüíîå ñîñòîÿíèå, k êëþ÷, f ôóíêöèÿ
ïåðåõîäà ìåæäó ñîñòîÿíèÿìè, g ïðîèçâîäèò ïîòîê êëþ÷åé
z , à êîä c ïîëó÷àåòñÿ èç ýòîãî ïîòîêà è ñîîáùåíèÿ.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
29. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì Îáùèå çàìå÷àíèÿ
Ïîòî÷íûå øèôðû Î õîðîøèõ è ïëîõèõ øèôðàõ
Áëî÷íûå øèôðû LFSR è ëèíåéíàÿ ñëîæíîñòü
Õåø-ôóíêöèè Íåëèíåéíûå ðåãèñòðû ñäâèãà
Ñàìîñèíõðîíèçèðóþùèåñÿ øèôðû
 ñàìîñèíõðîíèçèðóþùèõñÿ ïîòî÷íûõ øèôðàõ ïîòîê
êëþ÷à ôóíêöèÿ ñîîáùåíèÿ è íåñêîëüêèõ
ïðåäøåñòâóþùèõ áèòîâ êîäà.
Êîäèðîâàíèå:
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
30. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì Îáùèå çàìå÷àíèÿ
Ïîòî÷íûå øèôðû Î õîðîøèõ è ïëîõèõ øèôðàõ
Áëî÷íûå øèôðû LFSR è ëèíåéíàÿ ñëîæíîñòü
Õåø-ôóíêöèè Íåëèíåéíûå ðåãèñòðû ñäâèãà
Ñàìîñèíõðîíèçèðóþùèåñÿ øèôðû
 ñàìîñèíõðîíèçèðóþùèõñÿ ïîòî÷íûõ øèôðàõ ïîòîê
êëþ÷à ôóíêöèÿ ñîîáùåíèÿ è íåñêîëüêèõ
ïðåäøåñòâóþùèõ áèòîâ êîäà.
Äåêîäèðîâàíèå:
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
31. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì Îáùèå çàìå÷àíèÿ
Ïîòî÷íûå øèôðû Î õîðîøèõ è ïëîõèõ øèôðàõ
Áëî÷íûå øèôðû LFSR è ëèíåéíàÿ ñëîæíîñòü
Õåø-ôóíêöèè Íåëèíåéíûå ðåãèñòðû ñäâèãà
Ñâîéñòâà ñàìîñèíõðîíèçèðóþùèõñÿ øèôðîâ
Ñèíõðîíèçèðóþòñÿ ñàìè: êàæäàÿ îøèáêà âëèÿåò òîëüêî íà
êîíå÷íîå ÷èñëî ïîñëåäóþùèõ áèòîâ.
Îøèáêà ðàñïðîñòðàíÿåòñÿ, íî îãðàíè÷åííî.
Îòíîñèòåëüíî àòàê:
èç-çà ïåðâîãî ñâîéñòâà àòàêè, ñâÿçàííûå ñ íîâûìè
ñèìâîëàìè èëè óäàëåíèåì, òðóäíåå çàìåòèòü;
èç-çà âòîðîãî ñâîéñòâà, åñëè âçëîìùèê èçìåíèë êîä, ýòî
ïîâëèÿåò íà ñëåäóþùèå áèòû, ÷òî ìîæåò ïîçâîëèòü
çàìåòèòü âòîðæåíèå.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
32. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì Îáùèå çàìå÷àíèÿ
Ïîòî÷íûå øèôðû Î õîðîøèõ è ïëîõèõ øèôðàõ
Áëî÷íûå øèôðû LFSR è ëèíåéíàÿ ñëîæíîñòü
Õåø-ôóíêöèè Íåëèíåéíûå ðåãèñòðû ñäâèãà
Öåëåïîëàãàíèå
Ìû õîòèì ïîëó÷èòü íàä¼æíûé ïîòî÷íûé øèôð.
Äëÿ ýòîãî íàì íóæíî ïîëó÷èòü íàä¼æíóþ
ïîñëåäîâàòåëüíîñòü êëþ÷åé zi , êîòîðàÿ ïîòîì XOR'èòñÿ ñ
ñîîáùåíèåì.
×òî çíà÷èò ¾íàä¼æíàÿ ïîñëåäîâàòåëüíîñòü¿?
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
33. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì Îáùèå çàìå÷àíèÿ
Ïîòî÷íûå øèôðû Î õîðîøèõ è ïëîõèõ øèôðàõ
Áëî÷íûå øèôðû LFSR è ëèíåéíàÿ ñëîæíîñòü
Õåø-ôóíêöèè Íåëèíåéíûå ðåãèñòðû ñäâèãà
Öåëåïîëàãàíèå
Íàä¼æíàÿ çíà÷èò, ïîõîæàÿ íà ñëó÷àéíóþ, ðàç óæ ñîâñåì
ñëó÷àéíîé íå áóäåò.
Èíà÷å ãîâîðÿ, ïîòî÷íûé øèôð äîëæåí áûòü íåïëîõèì
ïñåâäîñëó÷àéíûì ãåíåðàòîðîì.
Íî çàìåòèì, ÷òî åñëè íàøà áóëåâà ñõåìà, âû÷èñëÿþùàÿ zi ,
êîíå÷íà, òî ïîñëåäîâàòåëüíîñòü áóäåò ïåðèîäè÷åñêîé.
Êàêèìè ñâîéñòâàìè äîëæíà îáëàäàòü ïåðèîäè÷åñêàÿ
ïîñëåäîâàòåëüíîñòü, ÷òîáû áûòü ïîõîæåé íà ñëó÷àéíóþ?
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
34. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì Îáùèå çàìå÷àíèÿ
Ïîòî÷íûå øèôðû Î õîðîøèõ è ïëîõèõ øèôðàõ
Áëî÷íûå øèôðû LFSR è ëèíåéíàÿ ñëîæíîñòü
Õåø-ôóíêöèè Íåëèíåéíûå ðåãèñòðû ñäâèãà
Ïîñòóëàòû Ãîëîìáà
Ñîëîìîí Ãîëîìá ïðåäëîæèë ñëåäóþùèå íåîáõîäèìûå
óñëîâèÿ äëÿ N -ïåðèîäè÷íîé ïîñëåäîâàòåëüíîñòè.
1  öèêëå äëèíû N ÷èñëî åäèíèö îòëè÷àåòñÿ îò ÷èñëà íóëåé
íå áîëåå ÷åì íà 1.
2 Â öèêëå äëèíû N íå ìåíåå ïîëîâèíû ïîñëåäîâàòåëüíîñòåé
îäèíàêîâûõ ñèìâîëîâ èìåþò äëèíó 1, íå ìåíåå ÷åòâåðòè
äëèíó 2, íå ìåíåå 8 äëèíó 3 è ò.ä. Äëÿ êàæäîé äëèíû
1
ïîñëåäîâàòåëüíîñòåé èç íóëåé (ïî÷òè) ñòîëüêî æå, ñêîëüêî
èç åäèíèö.
3 Àâòîêîððåëÿöèÿ ïðèíèìàåò ðîâíî äâà çíà÷åíèÿ: ∃K ∈ N
C (t ) =
1 N −1(2s −1)(2s −1) = 1, åñëè t = 0,
N i =0 i i +t K , åñëè 1 ≤ t ≤ N − 1.
N
Ïîñëåäîâàòåëüíîñòü, óäîâëåòâîðÿþùàÿ ïîñòóëàòàì
Ãîëîìáà, íàçûâàåòñÿ ïñåâäîøóìíîé
(pn-ïîñëåäîâàòåëüíîñòüþ). Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ñåðãåé Íèêîëåíêî
35. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì Îáùèå çàìå÷àíèÿ
Ïîòî÷íûå øèôðû Î õîðîøèõ è ïëîõèõ øèôðàõ
Áëî÷íûå øèôðû LFSR è ëèíåéíàÿ ñëîæíîñòü
Õåø-ôóíêöèè Íåëèíåéíûå ðåãèñòðû ñäâèãà
Ñòàòèñòè÷åñêèå òåñòû
Ìîæíî çàïóñêàòü ñòàòèñòè÷åñêèå òåñòû, êîòîðûå
ïðîâåðÿþò ïîëåçíûå ãèïîòåçû:
(monobit test) ðàâíî ëè êîëè÷åñòâî íóëåé è åäèíèö;
(two-bit test) ðàâíî ëè êîëè÷åñòâî 00, 01, 10 è 11;
(poker test) ðàâíî ëè êîëè÷åñòâî ðàçíûõ
ïîñëåäîâàòåëüíîñòåé äëèíû m;
(runs test) ïîäõîäÿùåå ëè êîëè÷åñòâî ïîñëåäîâàòåëüíîñòåé
èäóùèõ ïîäðÿä íóëåé è åäèíèö òîé èëè èíîé äëèíû;
(autocorrelation test) îäèíàêîâàÿ ëè àâòîêîððåëÿöèÿ íà
ðàçíûõ ñäâèãàõ;
(Maurer test) õîðîøî ëè ïîëó÷àåòñÿ ñæàòü ïîëó÷èâøèéñÿ
ïîòîê.
Õîðîøèé ãåíåðàòîð äîëæåí ïðîõîäèòü âñå ýòè òåñòû.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
36. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì Îáùèå çàìå÷àíèÿ
Ïîòî÷íûå øèôðû Î õîðîøèõ è ïëîõèõ øèôðàõ
Áëî÷íûå øèôðû LFSR è ëèíåéíàÿ ñëîæíîñòü
Õåø-ôóíêöèè Íåëèíåéíûå ðåãèñòðû ñäâèãà
Îïðåäåëåíèå
Ëèíåéíûé ðåãèñòð ñäâèãà ñ îáðàòíîé ñâÿçüþ (linear
feedback shift register, LFSR) äëèíû L ñîñòîèò èç L óðîâíåé,
S0 , . . . , SL−1 êàæäûé èç êîòîðûõ õðàíèò 1 áèò, è ñ÷¼ò÷èêà
âðåìåíè. Íà êàæäîì øàãå ñîäåðæèìîå S0 âûäà¼òñÿ íà
âûõîä, ñîäåðæèìîå Si ïåðåäà¼òñÿ íà Si −1 , à â SL−1
ïîñòóïàåò áèò îáðàòíîé ñâÿçè, âû÷èñëåííûé êàê XOR
íåêîòîðîãî ôèêñèðîâàííîãî ïîäìíîæåñòâà S0 , . . . , SL−1 .
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
37. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì Îáùèå çàìå÷àíèÿ
Ïîòî÷íûå øèôðû Î õîðîøèõ è ïëîõèõ øèôðàõ
Áëî÷íûå øèôðû LFSR è ëèíåéíàÿ ñëîæíîñòü
Õåø-ôóíêöèè Íåëèíåéíûå ðåãèñòðû ñäâèãà
Àññîöèèðîâàííûé ìíîãî÷ëåí
LFSR îáîçíà÷àåòñÿ êàê L, C (D ) , ãäå
C (D ) = 1 + c1 D + . . . + cL D L ∈ Z2 [D ] åãî
õàðàêòåðèñòè÷åñêèé ìíîãî÷ëåí.
LFSR íåñèíãóëÿðåí, åñëè cl = 1 (ò.å. deg C (D ) = L). Áóäåì
ïðåäïîëàãàòü íåñèíãóëÿðíîñòü.
LFSR ïðîèçâîäèò ïåðèîäè÷åñêóþ ïîñëåäîâàòåëüíîñòü.
Óïðàæíåíèå. Äîêàçàòü, ÷òî ïåðèîä ãåíåðèðóåìîé
ïîñëåäîâàòåëüíîñòè ðàâåí íàèìåíüøåìó ÷èñëó N , ïðè êîòîðîì
ìíîãî÷ëåí C (D ) äåëèò 1 + D N .
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
38. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì Îáùèå çàìå÷àíèÿ
Ïîòî÷íûå øèôðû Î õîðîøèõ è ïëîõèõ øèôðàõ
Áëî÷íûå øèôðû LFSR è ëèíåéíàÿ ñëîæíîñòü
Õåø-ôóíêöèè Íåëèíåéíûå ðåãèñòðû ñäâèãà
Àññîöèèðîâàííûé ìíîãî÷ëåí
Ñëåäîâàòåëüíî, LFSR âûäà¼ò ìàêñèìàëüíî âîçìîæíûé
ïåðèîä 2L − 1 òîãäà è òîëüêî òîãäà, êîãäà C (D )
ïðèìèòèâåí.
(ïðèìèòèâíûé ìíîãî÷ëåí ìèíèìàëüíûé ìíîãî÷ëåí äëÿ
ïðèìèòèâíîãî ýëåìåíòà ñîîòâåòñòâóþùåãî ðàñøèðåíèÿ Z2 ;
íàïðèìåð, ïðèìèòèâíûé ìíîãî÷ëåí ñòåïåíè 2 òîëüêî îäèí:
1 + x + x 2 ; ñòåïåíè 3 äâà ìíîãî÷ëåíà: 1 + x + x 3 è
1 + x 2 + x 3 ; åñëè íå ïîìíèòå, íè÷åãî ñòðàøíîãî,
ïîëüçîâàòüñÿ ñèëüíî íå áóäåì)
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
39. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì Îáùèå çàìå÷àíèÿ
Ïîòî÷íûå øèôðû Î õîðîøèõ è ïëîõèõ øèôðàõ
Áëî÷íûå øèôðû LFSR è ëèíåéíàÿ ñëîæíîñòü
Õåø-ôóíêöèè Íåëèíåéíûå ðåãèñòðû ñäâèãà
Àññîöèèðîâàííûé ìíîãî÷ëåí
Ïðèìåð: ðàññìîòðèì ìíîãî÷ëåí C (D ) = 1 + D + D 3 . Ýòî
çíà÷èò, ÷òî
zj = zj −3 ⊕ zj −1 .
Åñëè íà÷àëüíîå ñîñòîÿíèå σ0 = 001, òî äàëüøå áóäåò:
001 011
100 101
110 010
111 001
Ïåðèîä 23 − 1 = 7, êàê è îáåùàëè. Íà âûõîä ïîñòóïèò
10011101.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
40. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì Îáùèå çàìå÷àíèÿ
Ïîòî÷íûå øèôðû Î õîðîøèõ è ïëîõèõ øèôðàõ
Áëî÷íûå øèôðû LFSR è ëèíåéíàÿ ñëîæíîñòü
Õåø-ôóíêöèè Íåëèíåéíûå ðåãèñòðû ñäâèãà
Ñâîéñòâà LFSR
Ãëàâíîå ñâîéñòâî âûõîä LFSR óäîâëåòâîðÿåò ïîñòóëàòàì
Ãîëîìáà.
 ÷àñòíîñòè, ïîñëåäîâàòåëüíîñòåé ïîäðÿä èäóùèõ
íóëåé/åäèíèö çà ïåðèîä ðîâíî 2L−1 , èç íèõ ðîâíî
ïîëîâèíà äëèíû 1, ðîâíî ÷åòâåðòü äëèíû 2 è ò.ä.,
äëèíû L − 1 è äëèíû L ïî îäíîé.
Íàïðèìåð, â ïðèìåðå âûøå çà ïåðèîä ïîëó÷èëîñü 1001110;
4 = 22 ïîñëåäîâàòåëüíîñòè, ñâîéñòâà âñå çäåñü.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
41. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì Îáùèå çàìå÷àíèÿ
Ïîòî÷íûå øèôðû Î õîðîøèõ è ïëîõèõ øèôðàõ
Áëî÷íûå øèôðû LFSR è ëèíåéíàÿ ñëîæíîñòü
Õåø-ôóíêöèè Íåëèíåéíûå ðåãèñòðû ñäâèãà
Ëèíåéíàÿ ñëîæíîñòü
Ìû âûÿñíèëè, ÷òî LFSR õîðîøèå ïîðîæäàòåëè
ïñåâäîñëó÷àéíûõ ïîñëåäîâàòåëüíîñòåé.
Ìîæíî ïîñìîòðåòü è íàîáîðîò. LFSR ïîðîæäàåò
ïîñëåäîâàòåëüíîñòü s , åñëè äëÿ íåêîòîðîãî íà÷àëüíîãî
ñîñòîÿíèÿ îí âûäà¼ò s íà âûõîä.
Ëèíåéíàÿ ñëîæíîñòü (linear complexity) L(s )
ïîñëåäîâàòåëüíîñòè s îïðåäåëÿåòñÿ òàê:
åñëè s = 00000 . . ., òî L(s ) = 0;
åñëè íå ñóùåñòâóåò LFSR, ïîðîæäàþùåãî s , òî L(s ) = ∞;
èíà÷å L(s ) äëèíà ñàìîãî êîðîòêîãî LFSR,
ïîðîæäàþùåãî s .
Äëÿ êîíå÷íûõ äëèíà ñàìîãî êîðîòêîãî LFSR,
ïîðîæäàþùåãî ïîñëåäîâàòåëüíîñòü, íà÷èíàþùóþñÿ ñ
äàííîé.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
42. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì Îáùèå çàìå÷àíèÿ
Ïîòî÷íûå øèôðû Î õîðîøèõ è ïëîõèõ øèôðàõ
Áëî÷íûå øèôðû LFSR è ëèíåéíàÿ ñëîæíîñòü
Õåø-ôóíêöèè Íåëèíåéíûå ðåãèñòðû ñäâèãà
Î ëèíåéíîé ñëîæíîñòè
Î ëèíåéíîé ñëîæíîñòè ìíîãîå èçâåñòíî; îíà ïî ñóòè
ïîõîæà íà êîëìîãîðîâñêóþ ñëîæíîñòü èëè ñëîæíîñòü
Ëåìïåëÿ-Çèâà: íàñêîëüêî ñëîæíûé îáúåêò ìîæåò ïîðîäèòü
ýòó ïîñëåäîâàòåëüíîñòü.
Íî, â îòëè÷èå îò êîëìîãîðîâñêîé ñëîæíîñòè, ëèíåéíóþ
ëåãêî âû÷èñëèòü.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
43. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì Îáùèå çàìå÷àíèÿ
Ïîòî÷íûå øèôðû Î õîðîøèõ è ïëîõèõ øèôðàõ
Áëî÷íûå øèôðû LFSR è ëèíåéíàÿ ñëîæíîñòü
Õåø-ôóíêöèè Íåëèíåéíûå ðåãèñòðû ñäâèãà
Àëãîðèòì Áåðëåêàìïà-Ìåññè
Ðàññìîòðèì ïîñëåäîâàòåëüíîñòü s äëèíû n + 1:
s n+1 = s0 s1 . . . sn−1 sn .
Ïóñòü L, C (D ) , C (D ) = 1 + c1 D + . . . + cL D L , ïîðîæäàåò
s n = s0 s1 . . . sn−1 .
Ðàññìîòðèì ðàçíèöó
L
dn = sn ⊕ ci sN −i .
i =1
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
44. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì Îáùèå çàìå÷àíèÿ
Ïîòî÷íûå øèôðû Î õîðîøèõ è ïëîõèõ øèôðàõ
Áëî÷íûå øèôðû LFSR è ëèíåéíàÿ ñëîæíîñòü
Õåø-ôóíêöèè Íåëèíåéíûå ðåãèñòðû ñäâèãà
Àëãîðèòì Áåðëåêàìïà-Ìåññè
Åñëè dn = 0, âñ¼ õîðîøî, áåð¼ì L(s n+1 ) = L.
Åñëè dn = 1, ðàññìîòðèì ïðåäûäóùèé LFSR, êîòîðûé
îòëè÷àëñÿ, ò.å. ìàêñèìàëüíîå òàêîå m n, ÷òî
L(s m ) L(s n ). Ïóñòü ýòî áûë L(s m ), B (D ) .
Òåïåðü, åñëè L n/2, òî L = L, à åñëè L ≤ n/2, òî
L = n + 1 − L.
È ðåçóëüòàò L , C (D ) , C (D ) = C (D ) + B (D ) · D n−m .
Óïðàæíåíèå. Äîêàçàòü, ÷òî äåéñòâèòåëüíî ïîëó÷àåòñÿ LFSR,
ãåíåðèðóþùèé s n .
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
45. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì Îáùèå çàìå÷àíèÿ
Ïîòî÷íûå øèôðû Î õîðîøèõ è ïëîõèõ øèôðàõ
Áëî÷íûå øèôðû LFSR è ëèíåéíàÿ ñëîæíîñòü
Õåø-ôóíêöèè Íåëèíåéíûå ðåãèñòðû ñäâèãà
Íåëèíåéíûå ðåãèñòðû ñäâèãà
Ëèíåéíûå õîðîøè, íî äëÿ êðèïòîãðàôèè ñàìè ïî ñåáå
íåïðèãîäíû; âîò, íàïðèìåð, ïðîñòîé àëãîðèòì îïðåäåëÿåò
óñòðîéñòâî LFSR ïî äàííûì äëèíîé âñåãî 2L.
Íóæíî ãäå-òî ââåñòè íåëèíåéíîñòü.
Íåëèíåéíûé ðåãèñòð ñäâèãà:
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
46. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì Îáùèå çàìå÷àíèÿ
Ïîòî÷íûå øèôðû Î õîðîøèõ è ïëîõèõ øèôðàõ
Áëî÷íûå øèôðû LFSR è ëèíåéíàÿ ñëîæíîñòü
Õåø-ôóíêöèè Íåëèíåéíûå ðåãèñòðû ñäâèãà
Íåëèíåéíûå êîìáèíàöèè LFSR
Ìîæíî îáúåäèíèòü ðåçóëüòàòû íåñêîëüêèõ LFSR
íåëèíåéíîé ôóíêöèåé:
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
47. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì Îáùèå çàìå÷àíèÿ
Ïîòî÷íûå øèôðû Î õîðîøèõ è ïëîõèõ øèôðàõ
Áëî÷íûå øèôðû LFSR è ëèíåéíàÿ ñëîæíîñòü
Õåø-ôóíêöèè Íåëèíåéíûå ðåãèñòðû ñäâèãà
Íåëèíåéíûå êîìáèíàöèè LFSR
Ìîæíî ãåíåðèðîâàòü ïîòîê êàê íåëèíåéíóþ ôóíêöèþ
(ôèëüòð) îò ñîñòîÿíèé:
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
48. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì Îáùèå çàìå÷àíèÿ
Ïîòî÷íûå øèôðû Î õîðîøèõ è ïëîõèõ øèôðàõ
Áëî÷íûå øèôðû LFSR è ëèíåéíàÿ ñëîæíîñòü
Õåø-ôóíêöèè Íåëèíåéíûå ðåãèñòðû ñäâèãà
Íåëèíåéíûå êîìáèíàöèè LFSR
Ìîæíî èñïîëüçîâàòü îäèí LFSR êàê ¾÷àñû¿ äëÿ äðóãèõ:
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
49. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì Îáùèå çàìå÷àíèÿ
Ïîòî÷íûå øèôðû Î õîðîøèõ è ïëîõèõ øèôðàõ
Áëî÷íûå øèôðû LFSR è ëèíåéíàÿ ñëîæíîñòü
Õåø-ôóíêöèè Íåëèíåéíûå ðåãèñòðû ñäâèãà
Íåëèíåéíûå êîìáèíàöèè LFSR
The shrinking generator:
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
50. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ïîòî÷íûå øèôðû Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
Áëî÷íûå øèôðû Message Authenticity Codes
Õåø-ôóíêöèè
Outline
1 Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ñóòü ïðîèñõîäÿùåãî
Ïðîñòûå øèôðû
Èç ÷åãî äåëàþò øèôðû
2 Ïîòî÷íûå øèôðû
Îáùèå çàìå÷àíèÿ
Î õîðîøèõ è ïëîõèõ øèôðàõ
LFSR è ëèíåéíàÿ ñëîæíîñòü
Íåëèíåéíûå ðåãèñòðû ñäâèãà
3 Áëî÷íûå øèôðû
Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
Message Authenticity Codes
4 Õåø-ôóíêöèè
Îïðåäåëåíèÿ
×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé ñ çàêðûòûì êëþ÷îì
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ
51. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ïîòî÷íûå øèôðû Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
Áëî÷íûå øèôðû Message Authenticity Codes
Õåø-ôóíêöèè
Ïîñòàíîâêà çàäà÷è
Âåðí¼ìñÿ òåïåðü ê áëî÷íûì øèôðàì.
Ïðåäïîëîæèì, ÷òî ó íàñ åñòü õîðîøèé ìåòîä êîäèðîâàòü
áëîêè äëèíîé 64 áèòà.
Íî ñîîáùåíèå äëèííåå. ×òî äåëàòü?
Ìû ñåé÷àñ áóäåì ðàññìàòðèâàòü ðàçíûå ìåòîäû
ïîñòðîåíèÿ øèôðîâ äëÿ äëèííûõ ñîîáùåíèé èç ìàëåíüêèõ
áëîêîâ.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
52. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ïîòî÷íûå øèôðû Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
Áëî÷íûå øèôðû Message Authenticity Codes
Õåø-ôóíêöèè
ECB
Ñàìîå ïðîñòîå - ECB (electronic codebook); áëîêè
êîäèðóþòñÿ íåçàâèñèìî äðóã îò äðóãà. ×òî ïëîõî?
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
53. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ïîòî÷íûå øèôðû Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
Áëî÷íûå øèôðû Message Authenticity Codes
Õåø-ôóíêöèè
ECB
Îäèíàêîâûå áëîêè ïåðåõîäÿò â îäèíàêîâûé êîä.
Áëîêè êîäèðóþòñÿ íåçàâèñèìî; ñëåäîâàòåëüíî, èõ ìîæíî
ïåðåñòàâëÿòü.
Îøèáêà â îäíîì áëîêå äàëüøå ýòîãî áëîêà íå èä¼ò.
Èç-çà ïåðâîãî è âòîðîãî ñâîéñòâ àòàêîâàòü ìîæíî î÷åíü
óñïåøíî, è ECB èñïîëüçîâàòü íå ðåêîìåíäóåòñÿ.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
54. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ïîòî÷íûå øèôðû Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
Áëî÷íûå øèôðû Message Authenticity Codes
Õåø-ôóíêöèè
CBC
CBC (cipher block chaining): c0 := IV , cj := EK (xj ⊕ cj −1 ).
×òî òåïåðü?
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
55. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ïîòî÷íûå øèôðû Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
Áëî÷íûå øèôðû Message Authenticity Codes
Õåø-ôóíêöèè
CBC
Èäåíòè÷íûå ñîîáùåíèÿ ïåðåõîäÿò â èäåíòè÷íûå êîäû,
òîëüêî åñëè IV òîæå ñîâïàäàåò.
Áëîê çàâèñèò îò ïðåäûäóùèõ, ïåðåñòàâëÿòü íåëüçÿ.
Îøèáêà â áëîêå cj âûçûâàåò îøèáêó â xj +1 íà òîì æå
ìåñòå, äàëüøå âñ¼ OK; íî xj òåðÿåòñÿ ïîëíîñòüþ.
Ò.å. âðàã ìîæåò ïîäêîððåêòèðîâàòü xj +1 , íî òîëüêî öåíîé
òîãî, ÷òî xj ïðåâðàòèòñÿ â ìóñîð.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
56. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ïîòî÷íûå øèôðû Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
Áëî÷íûå øèôðû Message Authenticity Codes
Õåø-ôóíêöèè
CFB
CFB (cipher feedback): êîãäà íóæíî èíîãäà îòïðàâëÿòü
ñîîáùåíèÿ ðàçìåðîì ìåíüøå áëîêà, ñêàæåì, r . Òîãäà:
áåð¼ì I0 := IV ,
ñ÷èòàåì êîä Oj := EK (Ij ),
áåð¼ì tj êàê r êðàéíèõ ñëåâà áèòîâ Oj ,
ïîäñ÷èòûâàåì cj := tj ⊕ xj ,
ñäâèãàåì Ij +1 := 2r · Ij + cj mod 2n .
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
57. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ïîòî÷íûå øèôðû Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
Áëî÷íûå øèôðû Message Authenticity Codes
Õåø-ôóíêöèè
CFB
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
58. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ïîòî÷íûå øèôðû Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
Áëî÷íûå øèôðû Message Authenticity Codes
Õåø-ôóíêöèè
CFB
Èäåíòè÷íûå ñîîáùåíèÿ ïåðåõîäÿò â èäåíòè÷íûå êîäû,
òîëüêî åñëè IV òîæå ñîâïàäàåò.
Áëîê çàâèñèò îò ïðåäûäóùèõ, ïåðåñòàâëÿòü íåëüçÿ. ×òîáû
áëîê äåêîäèðîâàëñÿ ïðàâèëüíî, íàäî, ÷òîáû ïðåäûäóùèå
n/r áûëè ïðàâèëüíûì.
Îøèáêà â áëîêå cj âûçûâàåò îøèáêó â n/r ïîñëåäóþùèõ
áëîêàõ.
Êàæäûé çàïóñê E âûäà¼ò òîëüêî r áèòîâ, à íå n, êàê ìîã
áû.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
59. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ïîòî÷íûå øèôðû Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
Áëî÷íûå øèôðû Message Authenticity Codes
Õåø-ôóíêöèè
OFB
OFB (output feedback): êîãäà íåõîðîøî, ÷òîáû îøèáêà òàê
äàëåêî ðàñïðîñòðàíÿëàñü. Òîãäà:
áåð¼ì I0 := IV ,
ñ÷èòàåì êîä Oj := EK (Ij ),
áåð¼ì tj êàê r êðàéíèõ ñëåâà áèòîâ Oj ,
ïîäñ÷èòûâàåì cj := tj ⊕ xj ,
áåð¼ì ñëåäóþùèé Ij +1 := Oj .
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
60. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ïîòî÷íûå øèôðû Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
Áëî÷íûå øèôðû Message Authenticity Codes
Õåø-ôóíêöèè
OFB
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
61. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ïîòî÷íûå øèôðû Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
Áëî÷íûå øèôðû Message Authenticity Codes
Õåø-ôóíêöèè
OFB
Èäåíòè÷íûå ñîîáùåíèÿ ïåðåõîäÿò â èäåíòè÷íûå êîäû,
òîëüêî åñëè IV òîæå ñîâïàäàåò.
Áëîê íå çàâèñèò îò ïðåäûäóùèõ. Ïîýòîìó, â ÷àñòíîñòè,
íåëüçÿ èñïîëüçîâàòü òîò æå êëþ÷ ñ òåì æå IV äâà ðàçà.
Îøèáêà â áëîêå cj ê äðóãèì îøèáêàì íå ïðèâîäèò, íî çàòî
ïîòåðÿëàñü ñàìîñèíõðîíèçàöèÿ.
Êàæäûé çàïóñê E âûäà¼ò òîëüêî r áèòîâ, à íå n, êàê ìîã
áû; íî çàòî òåïåðü êîäîâûé ïîòîê ìîæíî âû÷èñëÿòü
çàðàíåå.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
62. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ïîòî÷íûå øèôðû Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
Áëî÷íûå øèôðû Message Authenticity Codes
Õåø-ôóíêöèè
Áëî÷íûå øèôðû è MAC'è
Çàäà÷à: õîòèì äîáàâèòü ê ñîîáùåíèþ MAC (message
authentication code) òàê, ÷òîáû íèêòî íå ñìîã èçìåíèòü
ñîîáùåíèå, íå íàðóøèâ MAC (öåëîñòíîñòü).
Ñäåëàòü èç áëî÷íîãî øèôðà MAC ëåãêî: áåð¼ì ïîñëåäíèé
áëîê CBC-ðåæèìà.
Áîëåå ñëîæíûé âîïðîñ êàê ñäåëàòü òàê, ÷òîáû
îäíîâðåìåííî è çàêîäèðîâàòü, è öåëîñòíîñòü îáåñïå÷èòü.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
63. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ïîòî÷íûå øèôðû Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
Áëî÷íûå øèôðû Message Authenticity Codes
Õåø-ôóíêöèè
Áëî÷íûå øèôðû è MAC'è
Åñëè çàêîäèðîâàòü è âçÿòü ïîñëåäíèé áëîê, ïîëó÷àåòñÿ
áðåä ïðîñòî áëîê äâà ðàçà ïîâòîðèëè.
Åñëè âçÿòü ïîñëåäíèé áëîê, à ïîòîì çàêîäèðîâàòü òîæå
áðåä: ïîñëåäíèé áëîê áóäåò XOR'èòüñÿ ñ ñîáîé, è âìåñòî
MAC â êîíöå ïîëó÷èòñÿ êîä íóëÿ.
Ìîæíî ïîäñ÷èòàòü íåêðèïòîãðàôè÷åñêóþ CRC, äîïèñàòü â
êîíöå è çàêîäèðîâàòü; ïî÷òè ðàáîòàåò, íî òîæå åñòü òîíêèå
àòàêè.
 îáùåì ñ÷èòàåòñÿ, ÷òî íàäî ïîëó÷àòü MAC èç äðóãîãî
êëþ÷à, ÷òîáû âñ¼ áûëî íàä¼æíî.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
64. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ïîòî÷íûå øèôðû
×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé
Áëî÷íûå øèôðû
Õåø-ôóíêöèè
Outline
1 Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ñóòü ïðîèñõîäÿùåãî
Ïðîñòûå øèôðû
Èç ÷åãî äåëàþò øèôðû
2 Ïîòî÷íûå øèôðû
Îáùèå çàìå÷àíèÿ
Î õîðîøèõ è ïëîõèõ øèôðàõ
LFSR è ëèíåéíàÿ ñëîæíîñòü
Íåëèíåéíûå ðåãèñòðû ñäâèãà
3 Áëî÷íûå øèôðû
Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
Message Authenticity Codes
4 Õåø-ôóíêöèè
Îïðåäåëåíèÿ
×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé ñ çàêðûòûì êëþ÷îì
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ
65. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ïîòî÷íûå øèôðû
×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé
Áëî÷íûå øèôðû
Õåø-ôóíêöèè
Õåøè äëÿ êðèïòîãðàôèè ñ çàêðûòûì êëþ÷îì
Îêàçûâàåòñÿ, åñëè ó Àëèñû è Áîáà åñòü îáùèé ñåêðåò, îíè
ìîãóò ìíîãî ÷åãî ñäåëàòü, íå èìåÿ àëãîðèòìîâ äëÿ
êðèïòîãðàôèè ñ çàêðûòûì êëþ÷îì, à òîëüêî õåø-ôóíêöèè.
Ôàêòè÷åñêè, ìîæíî ñäåëàòü âñ¼ òî æå ñàìîå, ÷òî ñ
ñåêðåòíûì êëþ÷îì.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
66. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ïîòî÷íûå øèôðû
×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé
Áëî÷íûå øèôðû
Õåø-ôóíêöèè
Àóòåíòèôèêàöèÿ
Áûëî ñ ñåêðåòíûì êëþ÷îì:
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
67. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ïîòî÷íûå øèôðû
×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé
Áëî÷íûå øèôðû
Õåø-ôóíêöèè
Àóòåíòèôèêàöèÿ
Ñòàëî ñ õåø-ôóíêöèåé:
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
68. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ïîòî÷íûå øèôðû
×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé
Áëî÷íûå øèôðû
Õåø-ôóíêöèè
Ñîçäàíèå MAC
Ìû óìååì ñîçäàâàòü MAC èç ñåêðåòíîãî êëþ÷à.
Ìîæíî ñäåëàòü MAC èç õåøà ýòî ïðîñòî MD (m). Âåðíî?
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
69. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ïîòî÷íûå øèôðû
×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé
Áëî÷íûå øèôðû
Õåø-ôóíêöèè
Ñîçäàíèå MAC
Ìû óìååì ñîçäàâàòü MAC èç ñåêðåòíîãî êëþ÷à.
Ìîæíî ñäåëàòü MAC èç õåøà ýòî ïðîñòî MD (m). Âåðíî?
Íåâåðíî; òàêîé MAC êòî óãîäíî ñãåíåðèðîâàòü ìîæåò.
Ïîýòîìó ìû äåëàåì òî æå ñàìîå, ÷òî è âûøå, è
äîïèñûâàåì
MAC = MD (m | KAB ).
Òîãäà Áîá ìîæåò ïðîâåðèòü, à íèêòî äðóãîé íå ìîæåò.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
70. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ïîòî÷íûå øèôðû
×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé
Áëî÷íûå øèôðû
Õåø-ôóíêöèè
Êîäèðîâàíèå ÷åðåç õåø-ôóíêöèþ
Êîäèðîâàòü ñ õåø-ôóíêöèåé ëþáîé ìîæåò. Âîò êàê
äåêîäèðîâàòü - ýòî âîïðîñ... :)
Íà ñàìîì äåëå èäåè ïðèìåðíî òå æå, ÷òî ó ñõåì áëî÷íîãî
êîäèðîâàíèÿ.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
71. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ïîòî÷íûå øèôðû
×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé
Áëî÷íûå øèôðû
Õåø-ôóíêöèè
Êîäèðîâàíèå ÷åðåç õåø-ôóíêöèþ
Ìîæíî ñãåíåðèðîâàòü îäíîðàçîâûé áëîêíîò:
b1 = MD (KAB ), b2 = MD (KAB | b1 ), . . . , bi = MD (KAB | bi −1 ).
Àëèñà è Áîá ìîãóò ãåíåðèðîâàòü òàêóþ ñòðîêó çàðàíåå,
ïîòîì ïðèìåíÿòü:
ci = mi ⊕ bi .
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
72. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ïîòî÷íûå øèôðû
×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé
Áëî÷íûå øèôðû
Õåø-ôóíêöèè
Êîäèðîâàíèå ÷åðåç õåø-ôóíêöèþ
Ïðîáëåìà: åñëè óãàäàòü ñîîáùåíèå, ìîæíî âû÷èñëèòü êîä
è ïîòîì ïîäìåíèòü ñîîáùåíèå íà ÷òî óãîäíî.
Êàê ïîìî÷ü ýòîé áåäå?
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
73. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ïîòî÷íûå øèôðû
×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé
Áëî÷íûå øèôðû
Õåø-ôóíêöèè
Êîäèðîâàíèå ÷åðåç õåø-ôóíêöèþ
Ïðîáëåìà: åñëè óãàäàòü ñîîáùåíèå, ìîæíî âû÷èñëèòü êîä
è ïîòîì ïîäìåíèòü ñîîáùåíèå íà ÷òî óãîäíî.
Êàê ïîìî÷ü ýòîé áåäå?
Íàïðèìåð, òàê:
b1 = MD (KAB ), b2 = MD (KAB | c1 ), . . . , bi = MD (KAB | ci −1 ),
ãäå ci = mi ⊕ bi .
Êàê òåïåðü ýòî äåêîäèðîâàòü?
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
74. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ïîòî÷íûå øèôðû
×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé
Áëî÷íûå øèôðû
Õåø-ôóíêöèè
Êîäèðîâàíèå ÷åðåç õåø-ôóíêöèþ
Ïðîáëåìà: åñëè óãàäàòü ñîîáùåíèå, ìîæíî âû÷èñëèòü êîä
è ïîòîì ïîäìåíèòü ñîîáùåíèå íà ÷òî óãîäíî.
Êàê ïîìî÷ü ýòîé áåäå?
Íàïðèìåð, òàê:
b1 = MD (KAB ), b2 = MD (KAB | c1 ), . . . , bi = MD (KAB | ci −1 ),
ãäå ci = mi ⊕ bi .
Êàê òåïåðü ýòî äåêîäèðîâàòü?
Ëåãêî: m1 = c1 ⊕ MD (KAB ), m2 = c2 ⊕ MD (KAB | c1 ), ...
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
75. Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ïîòî÷íûå øèôðû
×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé
Áëî÷íûå øèôðû
Õåø-ôóíêöèè
Ñïàñèáî çà âíèìàíèå!
Lecture notes è ñëàéäû áóäóò ïîÿâëÿòüñÿ íà ìîåé
homepage:
http://logic.pdmi.ras.ru/∼sergey/
Ïðèñûëàéòå ëþáûå çàìå÷àíèÿ, ðåøåíèÿ óïðàæíåíèé,
íîâûå ÷èñëåííûå ïðèìåðû è ïðî÷åå ïî àäðåñàì:
sergey@logic.pdmi.ras.ru, snikolenko@gmail.com
Çàõîäèòå â ÆÆ smartnik.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì