20090920 cryptoprotocols nikolenko_lecture02
-
Upload
computer-science-club -
Category
Documents
-
view
394 -
download
1
description
Transcript of 20090920 cryptoprotocols nikolenko_lecture02
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ñåðãåé Íèêîëåíêî
Êðèïòîãðàôèÿ � CS Club, îñåíü 2009
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû
Outline
1 Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ñóòü ïðîèñõîäÿùåãî
Ïðîñòûå øèôðû
Èç ÷åãî äåëàþò øèôðû
2 Ïîòî÷íûå øèôðû
Îáùèå çàìå÷àíèÿ
Î õîðîøèõ è ïëîõèõ øèôðàõ
LFSR è ëèíåéíàÿ ñëîæíîñòü
Íåëèíåéíûå ðåãèñòðû ñäâèãà
3 Áëî÷íûå øèôðû
Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
Message Authenticity Codes
4 Õåø-ôóíêöèè
Îïðåäåëåíèÿ
×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåéÑåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû
Ñóòü ïðîèñõîäÿùåãî
Àëèñà è Áîá èìåþò îáùèé ñåêðåòíûé êëþ÷.
Îíè ìîãóò ïåðåäàâàòü ñîîáùåíèÿ:
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû
Îäíîðàçîâûå áëîêíîòû
Íåñëîæíî ñäåëàòü àáñîëþòíî íåïðîáèâàåìûé øèôð �
îäíîðàçîâûé áëîêíîò.
Àëèñà è Áîá ñóììèðóþò êëþ÷ ñ ñîîáùåíèåì ïîáèòîâî:
c = m ⊕ kAB .
Ó âðàãà íåò íèêàêèõ øàíñîâ äåøèôðîâàòü òàêîå
ñîîáùåíèå.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû
Çàäà÷à
Ïðîáëåìà: ìû íå ìîæåì ñåáå ïîçâîëèòü òàê îòíîñèòüñÿ ê
êëþ÷àì.
Íàäî èñïîëüçîâàòü îäèí è òîò æå êëþ÷ ìíîãî ðàç.
Ïîòî÷íîå êîäèðîâàíèå: èä¼ò ïîòîê äàííûõ, íóæíî
êîäèðîâàòü êàæäûé íîâûé áèò è ïåðåäàâàòü äàëüøå â
ïîòîê.
Áëî÷íîå êîäèðîâàíèå: êëþ÷ îäèí (íå ñëèøêîì äëèííûé),
ñîîáùåíèå ãîðàçäî äëèííåå, åãî ïðèõîäèòñÿ ðàçáèâàòü íà
áëîêè è êîäèðîâàòü áëîêè.
Íî ñíà÷àëà ïîãîâîðèì î ñàìèõ øèôðàõ.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû
Ïîäñòàíîâî÷íûå øèôðû
Ïîäñòàíîâî÷íûå øèôðû (substitution ciphers): ïóñòü e ∈ SA(e � ïåðåñòàíîâêà áóêâ àëôàâèòà). Òîãäà äëÿ e ìîæíî
îïðåäåëèòü êîäèðóþùåå ïðåîáðàçîâàíèå:
Ee(m) = (e(m1)e(m2) . . . e(mt)) = (c1c2 . . . ct) = c.
Êîëè÷åñòâî ïåðåñòàíîâîê íà äîñòàòî÷íî áîëüøîì
àëôàâèòå âåëèêî (ðóññêèé: 33! ≈ 8, 68 · 1036).Íî åñëè ïðîñòî òàê øèôðîâàòü, áóäåò î÷åíü ïëîõî
(ïî÷åìó?).
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû
Ãîìîôîííûå ïîäñòàíîâî÷íûå øèôðû
Homophonic substitution ciphers.
Òî æå ñàìîå, íî òåïåðü íå ïåðåñòàíîâêà ñèìâîë�ñèìâîë, à
ôóíêöèÿ A → 2At
.
Íàïðèìåð:
A = {0, 1}, e(a) = {00, 01}, e(b) = {10, 11}.
Òåïåðü ìîæíî êîäèðîâàòü ÷àñòûå ñèìâîëû ðàçíûìè
êîäàìè, óðàâíèâàÿ ÷àñòîòó âñòðå÷àåìîñòè.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû
Ïîëèàëôàâèòíûå øèôðû
Ïîëèàëôàâèòíûé ïîäñòàíîâî÷íûé øèôð: ðàññìîòðèì
âåêòîð ïåðåñòàíîâîê ~e = (e1, e2, . . . et) è áóäåì êîäèðîâàòü
áëîê ñîîáùåíèÿ m1m2 . . .mt êàê
E~e = (e1(m1), e2(m2), . . . , et(mt)).
Øèôð Âèæåíåðà � èç òàêèõ.
Íå ñèëüíî ëó÷øå, ÷åì ìîíîàëôàâèòíûé: ìîæíî ðàçáèòü
ñîîáùåíèå íà ÷àñòè, çàøèôðîâàííûå îäíîé ïåðåñòàíîâêîé,
è êðèïòîàíàëèçèðîâàòü ïî îòäåëüíîñòè.
Íóæíî òîëüêî îïðåäåëèòü ïåðèîä; äëÿ ýòîãî è áûë ìåòîä
Êàñèñêè è ïðî÷èå ìåòîäû.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû
Ïåðåñòàíîâî÷íûå øèôðû
Åù¼ ìîæíî íå ìåíÿòü áóêâû â ñîîáùåíèè, à ïåðåñòàâëÿòü
èõ.
Ïî îòäåëüíîñòè ýòî òîæå ëåãêî ïîääà¼òñÿ êðèïòîàíàëèçó.
Ïîýòîìó ïðàâèëüíûé ïîäõîä � âñ¼ îáúåäèíèòü.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû
Æåëàåìîå
Ïðåäïîëîæèì, ÿ õî÷ó çàøèôðîâàòü áëîê ðàçìåðîì n
áèòîâ.
Êîíå÷íî, õîòåëîñü áû ïðîñòî óêàçàòü â êà÷åñòâå êëþ÷à
ñëó÷àéíóþ ïåðåñòàíîâêó âñåõ âîçìîæíûõ áëîêîâ.
Êàêîé òîãäà áóäåò ðàçìåð êëþ÷à?
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû
Æåëàåìîå
Ïðåäïîëîæèì, ÿ õî÷ó çàøèôðîâàòü áëîê ðàçìåðîì n
áèòîâ.
Êîíå÷íî, õîòåëîñü áû ïðîñòî óêàçàòü â êà÷åñòâå êëþ÷à
ñëó÷àéíóþ ïåðåñòàíîâêó âñåõ âîçìîæíûõ áëîêîâ.
Êàêîé òîãäà áóäåò ðàçìåð êëþ÷à?
Âñåãî êëþ÷åé 2n, ïåðåñòàíîâîê � 2n!.
Äëèíà êëþ÷à � log(2n!) ≈ n2n − 1
ln 22n + n
2áèòîâ (ôîðìóëà
Ñòèðëèíãà).
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû
Äåéñòâèòåëüíîå
Ñëó÷àéíóþ çàìåíó äëÿ âñåãî áëîêà (ñêàæåì, áëîê èç 64
áèòîâ) óêàçàòü òðóäíî.
Ïîýòîìó øèôðû äåëàþò èç çàìåí (substitutions) è
ïåðåñòàíîâîê (permutations).
Øèôð � ýòî êîìïîçèöèÿ áîëåå ïðîñòûõ çàìåí è
ïåðåñòàíîâîê.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû
64-áèòíûé øèôð
Íàïðèìåð, áëîêè äëèíû 64 ìîæíî ðàçáèòü íà êóñêè äëèíû
8.
Åñëè îãðàíè÷èòüñÿ çàìåíàìè è ïåðåñòàíîâêàìè âíóòðè
êóñêîâ, òî áóäåò ëåãêî âçëîìàòü.
Ïîýòîìó â øèôðå íåñêîëüêî ðàóíäîâ; âíóòðè ðàóíäà
ðàáîòà èä¼ò âíóòðè êóñêîâ ïî 8 áèò, ìåæäó ðàóíäàìè îíè
ïåðåìåøèâàþòñÿ.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû
Ïðèìåð: DES
DES (data encryption standard) � óæå óñòàðåë, íî åãî
ïðîùå áóäåò ðàçîáðàòü.
Êëþ÷ äëèíîé 56 áèòîâ èñïîëüçóåòñÿ äëÿ êîäèðîâàíèÿ
64-áèòíîãî áëîêà.
Ïðè ïîìîùè ýòîãî êëþ÷à ãåíåðèðóþòñÿ 16 êëþ÷åé äëÿ 16
ðàóíäîâ.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû
Ïðèìåð: DES
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû
Ïðèìåð: DES
Ïåðåñòàíîâêà e � ïî ñóòè íå íóæíà (çà÷åì?).
Ãåíåðàöèÿ êëþ÷åé � 16 ðàóíäîâ ïî ïåðåñòàíîâêå, ëåâàÿ è
ïðàâàÿ ïîëîâèíû êëþ÷à ñîçäàþòñÿ îòäåëüíî.
Êàæäûé ðàóíä � ïðèìåíåíèå ñïåöèàëüíîé
mangler-ôóíêöèè ê êëþ÷ó è ïîëîâèíå êîäà.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû
Ïðèìåð: DES
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû
Èñòîðèÿ DES
Áûë ðàçðàáîòàí â íà÷àëå 1970-õ, ïðèíÿò êàê ñòàíäàðò â
1976.
Ðàçðàáàòûâàëî IBM, íî NSA (National Security Agency)
ïðèíèìàëî àêòèâíîå ó÷àñòèå, ìåíÿëî ïðîòîêîëû.
Äóìàëè, ÷òî îñîáåííîñòè DES ïîçâîëÿëè NSA åãî
äåøèôðîâûâàòü.
Íà ñàìîì äåëå ôóíêöèè âûáèðàëèñü òàê, ÷òîáû èõ áûëî
òðóäíåå âçëàìûâàòü ðàçíîñòíûì êðèïòîàíàëèçîì
(di�erential cryptoanalysis). Ýòî ìåòîä äëÿ âçëîìà áëî÷íûõ
øèôðîâ; Eli Biham, Adi Shamir, êîíåö 1980-õ; íî, âèäèìî,
IBM è NSA çíàëè îá ýòèõ àòàêàõ åù¼ â 1970-õ (Don
Coppersmith, 1994).
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû
Ñîâðåìåííûå àëüòåðíàòèâû
IDEA (International Data Encryption Algorithm), 1991 �
áëîêè ïî 64 áèòà, êëþ÷ 128 áèòîâ. ×åðåäóåò ïîáèòîâûé
XOR, ñëîæåíèå è óìíîæåíèå ïî ìîäóëþ 216.
AES (Advanced Encryption Standard), 2001 � îôèöèàëüíî
ïðèø¼ë íà ñìåíó DES. Íà îñíîâå ñåìåéñòâà êîäîâ Rijndael.
Êëþ÷è ìîãóò áûòü ðàçìåðîì 128, 192 è 256 áèòîâ.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà
Outline
1 Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ñóòü ïðîèñõîäÿùåãî
Ïðîñòûå øèôðû
Èç ÷åãî äåëàþò øèôðû
2 Ïîòî÷íûå øèôðû
Îáùèå çàìå÷àíèÿ
Î õîðîøèõ è ïëîõèõ øèôðàõ
LFSR è ëèíåéíàÿ ñëîæíîñòü
Íåëèíåéíûå ðåãèñòðû ñäâèãà
3 Áëî÷íûå øèôðû
Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
Message Authenticity Codes
4 Õåø-ôóíêöèè
Îïðåäåëåíèÿ
×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåéÑåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà
Îäíîðàçîâûé áëîêíîò
Òåîðåìà Øåííîíà: ïóñòü K è M � ñëó÷àéíûå âåëè÷èíû,
ñîîòâåòñòâóþùèå êëþ÷àì è ñîîáùåíèÿì. ×òîáû ñèñòåìà ñ
çàêðûòûì êëþ÷îì áûëà áåçóñëîâíî íàä¼æíîé,
íåîáõîäèìî, ÷òîáû H(K ) ≥ H(M).
 ÷àñòíîñòè, åñëè |k | ≥ |m|, è êëþ÷è áåðóòñÿ èç
ðàâíîìåðíîãî ðàñïðåäåëåíèÿ, òî ýòî óñëîâèå âñåãäà
âûïîëíåíî.
Íî äëÿ ýòîãî íóæíî èñïîëüçîâàòü êëþ÷ ðàçìåðîì ñ
ñîîáùåíèå è ñðàçó åãî âûáðàñûâàòü, ÷òî îáû÷íî
íåâîçìîæíî.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà
Ïîòî÷íûé øèôð êàê îäíîðàçîâûé áëîêíîò
Íî èäåÿ õîðîøà: äàâàéòå äåéñòâèòåëüíî ãåíåðèðîâàòü
íîâûé øèôð ïîòî÷íûì îáðàçîì.
Òîëüêî îí ó íàñ áóäåò íå ñîâñåì ñëó÷àéíûé, à
ïñåâäîñëó÷àéíûé.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà
Ñèíõðîííûå øèôðû
 ñèíõðîííûõ ïîòî÷íûõ øèôðàõ ïîòîê êëþ÷à ãåíåðèðóåòñÿ
íåçàâèñèìî îò ñîîáùåíèÿ è êîäà.
Êîäèðîâàíèå ñèíõðîííûõ øèôðîâ ìîæíî îïèñàòü êàê
σi+1 =f (σi , k),
zi =g(σi , k),
ci =hi (zi ,mi ).
σ0 � íà÷àëüíîå ñîñòîÿíèå, k � êëþ÷, f � ôóíêöèÿ
ïåðåõîäà ìåæäó ñîñòîÿíèÿìè, g ïðîèçâîäèò ïîòîê êëþ÷åé
z , à êîä c ïîëó÷àåòñÿ èç ýòîãî ïîòîêà è ñîîáùåíèÿ.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà
Ñèíõðîííûå øèôðû
 ñèíõðîííûõ ïîòî÷íûõ øèôðàõ ïîòîê êëþ÷à ãåíåðèðóåòñÿ
íåçàâèñèìî îò ñîîáùåíèÿ è êîäà.
Êîäèðîâàíèå:
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà
Ñèíõðîííûå øèôðû
 ñèíõðîííûõ ïîòî÷íûõ øèôðàõ ïîòîê êëþ÷à ãåíåðèðóåòñÿ
íåçàâèñèìî îò ñîîáùåíèÿ è êîäà.
Äåêîäèðîâàíèå:
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà
Ñèíõðîííûå øèôðû
 ñèíõðîííûõ ïîòî÷íûõ øèôðàõ ïîòîê êëþ÷à ãåíåðèðóåòñÿ
íåçàâèñèìî îò ñîîáùåíèÿ è êîäà.
Îáû÷íî ðàññìàòðèâàþò ëèíåéíûå áèíàðíûå ïîòî÷íûå
øèôðû.
 íèõ mi è ci � áèòû, è hi (zi ,mi ) = mi ⊕ zi .
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà
Ñâîéñòâà ñèíõðîííûõ øèôðîâ
Íóæíî ñèíõðîíèçèðîâàòü. Åñëè âäðóã â êàíàëå ìîãóò
ïðîïàäàòü áèòû èëè ïîÿâëÿòüñÿ íîâûå, íóæíû
ñïåöèàëüíûå ìåòîäû ñèíõðîíèçàöèè.
Îøèáêà íå ðàñïðîñòðàíÿåòñÿ äàëüøå.
Îòíîñèòåëüíî àòàê:
èç-çà ïåðâîãî ñâîéñòâà àòàêè, ñâÿçàííûå ñ íîâûìè
ñèìâîëàìè èëè óäàëåíèåì, ëåã÷å çàìåòèòü;
èç-çà âòîðîãî ñâîéñòâà, åñëè âçëîìùèê ìîæåò ìåíÿòü êîä,
îí áóäåò çíàòü, êàê ýòî ïîâëèÿåò íà ñîîáùåíèå.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà
Ñàìîñèíõðîíèçèðóþùèåñÿ øèôðû
 ñàìîñèíõðîíèçèðóþùèõñÿ ïîòî÷íûõ øèôðàõ ïîòîê
êëþ÷à � ôóíêöèÿ ñîîáùåíèÿ è íåñêîëüêèõ
ïðåäøåñòâóþùèõ áèòîâ êîäà.
Êîäèðîâàíèå ñàìîñèíõðîíèçèðóþùèõñÿ øèôðîâ ìîæíî
îïèñàòü êàê
σi =(ci−t , ci−t+1, . . . , ci−1),
zi =g(σi , k),
ci =hi (zi ,mi ).
σ0 � íà÷àëüíîå ñîñòîÿíèå, k � êëþ÷, f � ôóíêöèÿ
ïåðåõîäà ìåæäó ñîñòîÿíèÿìè, g ïðîèçâîäèò ïîòîê êëþ÷åé
z , à êîä c ïîëó÷àåòñÿ èç ýòîãî ïîòîêà è ñîîáùåíèÿ.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà
Ñàìîñèíõðîíèçèðóþùèåñÿ øèôðû
 ñàìîñèíõðîíèçèðóþùèõñÿ ïîòî÷íûõ øèôðàõ ïîòîê
êëþ÷à � ôóíêöèÿ ñîîáùåíèÿ è íåñêîëüêèõ
ïðåäøåñòâóþùèõ áèòîâ êîäà.
Êîäèðîâàíèå:
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà
Ñàìîñèíõðîíèçèðóþùèåñÿ øèôðû
 ñàìîñèíõðîíèçèðóþùèõñÿ ïîòî÷íûõ øèôðàõ ïîòîê
êëþ÷à � ôóíêöèÿ ñîîáùåíèÿ è íåñêîëüêèõ
ïðåäøåñòâóþùèõ áèòîâ êîäà.
Äåêîäèðîâàíèå:
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà
Ñâîéñòâà ñàìîñèíõðîíèçèðóþùèõñÿ øèôðîâ
Ñèíõðîíèçèðóþòñÿ ñàìè: êàæäàÿ îøèáêà âëèÿåò òîëüêî íà
êîíå÷íîå ÷èñëî ïîñëåäóþùèõ áèòîâ.
Îøèáêà ðàñïðîñòðàíÿåòñÿ, íî îãðàíè÷åííî.
Îòíîñèòåëüíî àòàê:
èç-çà ïåðâîãî ñâîéñòâà àòàêè, ñâÿçàííûå ñ íîâûìè
ñèìâîëàìè èëè óäàëåíèåì, òðóäíåå çàìåòèòü;
èç-çà âòîðîãî ñâîéñòâà, åñëè âçëîìùèê èçìåíèë êîä, ýòî
ïîâëèÿåò íà ñëåäóþùèå áèòû, ÷òî ìîæåò ïîçâîëèòü
çàìåòèòü âòîðæåíèå.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà
Öåëåïîëàãàíèå
Ìû õîòèì ïîëó÷èòü íàä¼æíûé ïîòî÷íûé øèôð.
Äëÿ ýòîãî íàì íóæíî ïîëó÷èòü íàä¼æíóþ
ïîñëåäîâàòåëüíîñòü êëþ÷åé zi , êîòîðàÿ ïîòîì XOR'èòñÿ ñ
ñîîáùåíèåì.
×òî çíà÷èò � ¾íàä¼æíàÿ ïîñëåäîâàòåëüíîñòü¿?
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà
Öåëåïîëàãàíèå
Íàä¼æíàÿ � çíà÷èò, ïîõîæàÿ íà ñëó÷àéíóþ, ðàç óæ ñîâñåì
ñëó÷àéíîé íå áóäåò.
Èíà÷å ãîâîðÿ, ïîòî÷íûé øèôð äîëæåí áûòü íåïëîõèì
ïñåâäîñëó÷àéíûì ãåíåðàòîðîì.
Íî çàìåòèì, ÷òî åñëè íàøà áóëåâà ñõåìà, âû÷èñëÿþùàÿ zi ,
êîíå÷íà, òî ïîñëåäîâàòåëüíîñòü áóäåò ïåðèîäè÷åñêîé.
Êàêèìè ñâîéñòâàìè äîëæíà îáëàäàòü ïåðèîäè÷åñêàÿ
ïîñëåäîâàòåëüíîñòü, ÷òîáû áûòü ïîõîæåé íà ñëó÷àéíóþ?
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà
Ïîñòóëàòû Ãîëîìáà
Ñîëîìîí Ãîëîìá ïðåäëîæèë ñëåäóþùèå íåîáõîäèìûåóñëîâèÿ äëÿ N-ïåðèîäè÷íîé ïîñëåäîâàòåëüíîñòè.
1  öèêëå äëèíû N ÷èñëî åäèíèö îòëè÷àåòñÿ îò ÷èñëà íóëåé
íå áîëåå ÷åì íà 1.2  öèêëå äëèíû N íå ìåíåå ïîëîâèíû ïîñëåäîâàòåëüíîñòåé
îäèíàêîâûõ ñèìâîëîâ èìåþò äëèíó 1, íå ìåíåå ÷åòâåðòè �
äëèíó 2, íå ìåíåå 1
8� äëèíó 3 è ò.ä. Äëÿ êàæäîé äëèíû
ïîñëåäîâàòåëüíîñòåé èç íóëåé (ïî÷òè) ñòîëüêî æå, ñêîëüêî
èç åäèíèö.3 Àâòîêîððåëÿöèÿ ïðèíèìàåò ðîâíî äâà çíà÷åíèÿ: ∃K ∈ N
C (t) =1
N
N−1∑i=0
(2si−1)(2si+t−1) =
{1, åñëè t = 0,KN
, åñëè 1 ≤ t ≤ N − 1.
Ïîñëåäîâàòåëüíîñòü, óäîâëåòâîðÿþùàÿ ïîñòóëàòàì
Ãîëîìáà, íàçûâàåòñÿ ïñåâäîøóìíîé
(pn-ïîñëåäîâàòåëüíîñòüþ).Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà
Ñòàòèñòè÷åñêèå òåñòû
Ìîæíî çàïóñêàòü ñòàòèñòè÷åñêèå òåñòû, êîòîðûåïðîâåðÿþò ïîëåçíûå ãèïîòåçû:
(monobit test) ðàâíî ëè êîëè÷åñòâî íóëåé è åäèíèö;
(two-bit test) ðàâíî ëè êîëè÷åñòâî 00, 01, 10 è 11;
(poker test) ðàâíî ëè êîëè÷åñòâî ðàçíûõ
ïîñëåäîâàòåëüíîñòåé äëèíû m;
(runs test) ïîäõîäÿùåå ëè êîëè÷åñòâî ïîñëåäîâàòåëüíîñòåé
èäóùèõ ïîäðÿä íóëåé è åäèíèö òîé èëè èíîé äëèíû;
(autocorrelation test) îäèíàêîâàÿ ëè àâòîêîððåëÿöèÿ íà
ðàçíûõ ñäâèãàõ;
(Maurer test) õîðîøî ëè ïîëó÷àåòñÿ ñæàòü ïîëó÷èâøèéñÿ
ïîòîê.
Õîðîøèé ãåíåðàòîð äîëæåí ïðîõîäèòü âñå ýòè òåñòû.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà
Îïðåäåëåíèå
Ëèíåéíûé ðåãèñòð ñäâèãà ñ îáðàòíîé ñâÿçüþ (linear
feedback shift register, LFSR) äëèíû L ñîñòîèò èç L óðîâíåé,
S0, . . . , SL−1 êàæäûé èç êîòîðûõ õðàíèò 1 áèò, è ñ÷¼ò÷èêà
âðåìåíè. Íà êàæäîì øàãå ñîäåðæèìîå S0 âûäà¼òñÿ íà
âûõîä, ñîäåðæèìîå Si ïåðåäà¼òñÿ íà Si−1, à â SL−1
ïîñòóïàåò áèò îáðàòíîé ñâÿçè, âû÷èñëåííûé êàê XOR
íåêîòîðîãî ôèêñèðîâàííîãî ïîäìíîæåñòâà S0, . . . , SL−1.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà
Àññîöèèðîâàííûé ìíîãî÷ëåí
LFSR îáîçíà÷àåòñÿ êàê 〈L,C (D)〉, ãäåC (D) = 1 + c1D + . . . + cLD
L ∈ Z2[D] � åãî
õàðàêòåðèñòè÷åñêèé ìíîãî÷ëåí.
LFSR íåñèíãóëÿðåí, åñëè cl = 1 (ò.å. degC (D) = L). Áóäåì
ïðåäïîëàãàòü íåñèíãóëÿðíîñòü.
LFSR ïðîèçâîäèò ïåðèîäè÷åñêóþ ïîñëåäîâàòåëüíîñòü.
Óïðàæíåíèå. Äîêàçàòü, ÷òî ïåðèîä ãåíåðèðóåìîé
ïîñëåäîâàòåëüíîñòè ðàâåí íàèìåíüøåìó ÷èñëó N, ïðè êîòîðîì
ìíîãî÷ëåí C (D) äåëèò 1 + DN .
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà
Àññîöèèðîâàííûé ìíîãî÷ëåí
Ñëåäîâàòåëüíî, LFSR âûäà¼ò ìàêñèìàëüíî âîçìîæíûé
ïåðèîä 2L − 1 òîãäà è òîëüêî òîãäà, êîãäà C (D)
ïðèìèòèâåí.
(ïðèìèòèâíûé ìíîãî÷ëåí � ìèíèìàëüíûé ìíîãî÷ëåí äëÿ
ïðèìèòèâíîãî ýëåìåíòà ñîîòâåòñòâóþùåãî ðàñøèðåíèÿ Z2;
íàïðèìåð, ïðèìèòèâíûé ìíîãî÷ëåí ñòåïåíè 2 òîëüêî îäèí:
1 + x + x2; ñòåïåíè 3 � äâà ìíîãî÷ëåíà: 1 + x + x3 è
1 + x2 + x3; åñëè íå ïîìíèòå, íè÷åãî ñòðàøíîãî,
ïîëüçîâàòüñÿ ñèëüíî íå áóäåì)
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà
Àññîöèèðîâàííûé ìíîãî÷ëåí
Ïðèìåð: ðàññìîòðèì ìíîãî÷ëåí C (D) = 1 + D + D3. Ýòî
çíà÷èò, ÷òî
zj = zj−3 ⊕ zj−1.
Åñëè íà÷àëüíîå ñîñòîÿíèå σ0 = 001, òî äàëüøå áóäåò:
001 011
100 101
110 010
111 001
Ïåðèîä 23 − 1 = 7, êàê è îáåùàëè. Íà âûõîä ïîñòóïèò
10011101.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà
Ñâîéñòâà LFSR
Ãëàâíîå ñâîéñòâî � âûõîä LFSR óäîâëåòâîðÿåò ïîñòóëàòàì
Ãîëîìáà.
 ÷àñòíîñòè, ïîñëåäîâàòåëüíîñòåé ïîäðÿä èäóùèõ
íóëåé/åäèíèö çà ïåðèîä ðîâíî 2L−1, èç íèõ ðîâíî
ïîëîâèíà � äëèíû 1, ðîâíî ÷åòâåðòü � äëèíû 2 è ò.ä.,
äëèíû L − 1 è äëèíû L � ïî îäíîé.
Íàïðèìåð, â ïðèìåðå âûøå çà ïåðèîä ïîëó÷èëîñü 1001110;
4 = 22 ïîñëåäîâàòåëüíîñòè, ñâîéñòâà âñå çäåñü.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà
Ëèíåéíàÿ ñëîæíîñòü
Ìû âûÿñíèëè, ÷òî LFSR � õîðîøèå ïîðîæäàòåëè
ïñåâäîñëó÷àéíûõ ïîñëåäîâàòåëüíîñòåé.
Ìîæíî ïîñìîòðåòü è íàîáîðîò. LFSR ïîðîæäàåò
ïîñëåäîâàòåëüíîñòü s, åñëè äëÿ íåêîòîðîãî íà÷àëüíîãî
ñîñòîÿíèÿ îí âûäà¼ò s íà âûõîä.
Ëèíåéíàÿ ñëîæíîñòü (linear complexity) L(s)ïîñëåäîâàòåëüíîñòè s îïðåäåëÿåòñÿ òàê:
åñëè s = 00000 . . ., òî L(s) = 0;
åñëè íå ñóùåñòâóåò LFSR, ïîðîæäàþùåãî s, òî L(s) = ∞;
èíà÷å L(s) � äëèíà ñàìîãî êîðîòêîãî LFSR,
ïîðîæäàþùåãî s.
Äëÿ êîíå÷íûõ � äëèíà ñàìîãî êîðîòêîãî LFSR,
ïîðîæäàþùåãî ïîñëåäîâàòåëüíîñòü, íà÷èíàþùóþñÿ ñ
äàííîé.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà
Î ëèíåéíîé ñëîæíîñòè
Î ëèíåéíîé ñëîæíîñòè ìíîãîå èçâåñòíî; îíà ïî ñóòè
ïîõîæà íà êîëìîãîðîâñêóþ ñëîæíîñòü èëè ñëîæíîñòü
Ëåìïåëÿ-Çèâà: íàñêîëüêî ñëîæíûé îáúåêò ìîæåò ïîðîäèòü
ýòó ïîñëåäîâàòåëüíîñòü.
Íî, â îòëè÷èå îò êîëìîãîðîâñêîé ñëîæíîñòè, ëèíåéíóþ
ëåãêî âû÷èñëèòü.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà
Àëãîðèòì Áåðëåêàìïà-Ìåññè
Ðàññìîòðèì ïîñëåäîâàòåëüíîñòü s äëèíû n + 1:
sn+1 = s0s1 . . . sn−1sn.
Ïóñòü 〈L,C (D)〉, C (D) = 1 + c1D + . . . + cLDL, ïîðîæäàåò
sn = s0s1 . . . sn−1.
Ðàññìîòðèì ðàçíèöó
dn = sn ⊕L∑
i=1
ci sN−i .
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà
Àëãîðèòì Áåðëåêàìïà-Ìåññè
Åñëè dn = 0, âñ¼ õîðîøî, áåð¼ì L(sn+1) = L.
Åñëè dn = 1, ðàññìîòðèì ïðåäûäóùèé LFSR, êîòîðûé
îòëè÷àëñÿ, ò.å. ìàêñèìàëüíîå òàêîå m < n, ÷òî
L(sm) < L(sn). Ïóñòü ýòî áûë 〈L(sm),B(D)〉.Òåïåðü, åñëè L > n/2, òî L ′ = L, à åñëè L ≤ n/2, òî
L ′ = n + 1 − L.
È ðåçóëüòàò � 〈L ′,C ′(D)〉, C ′(D) = C (D) + B(D) · Dn−m.
Óïðàæíåíèå. Äîêàçàòü, ÷òî äåéñòâèòåëüíî ïîëó÷àåòñÿ LFSR,
ãåíåðèðóþùèé sn.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà
Íåëèíåéíûå ðåãèñòðû ñäâèãà
Ëèíåéíûå õîðîøè, íî äëÿ êðèïòîãðàôèè ñàìè ïî ñåáå
íåïðèãîäíû; âîò, íàïðèìåð, ïðîñòîé àëãîðèòì îïðåäåëÿåò
óñòðîéñòâî LFSR ïî äàííûì äëèíîé âñåãî 2L.
Íóæíî ãäå-òî ââåñòè íåëèíåéíîñòü.
Íåëèíåéíûé ðåãèñòð ñäâèãà:
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà
Íåëèíåéíûå êîìáèíàöèè LFSR
Ìîæíî îáúåäèíèòü ðåçóëüòàòû íåñêîëüêèõ LFSR
íåëèíåéíîé ôóíêöèåé:
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà
Íåëèíåéíûå êîìáèíàöèè LFSR
Ìîæíî ãåíåðèðîâàòü ïîòîê êàê íåëèíåéíóþ ôóíêöèþ
(ôèëüòð) îò ñîñòîÿíèé:
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà
Íåëèíåéíûå êîìáèíàöèè LFSR
Ìîæíî èñïîëüçîâàòü îäèí LFSR êàê ¾÷àñû¿ äëÿ äðóãèõ:
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà
Íåëèíåéíûå êîìáèíàöèè LFSR
The shrinking generator:
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâMessage Authenticity Codes
Outline
1 Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ñóòü ïðîèñõîäÿùåãî
Ïðîñòûå øèôðû
Èç ÷åãî äåëàþò øèôðû
2 Ïîòî÷íûå øèôðû
Îáùèå çàìå÷àíèÿ
Î õîðîøèõ è ïëîõèõ øèôðàõ
LFSR è ëèíåéíàÿ ñëîæíîñòü
Íåëèíåéíûå ðåãèñòðû ñäâèãà
3 Áëî÷íûå øèôðû
Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
Message Authenticity Codes
4 Õåø-ôóíêöèè
Îïðåäåëåíèÿ
×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåéÑåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâMessage Authenticity Codes
Ïîñòàíîâêà çàäà÷è
Âåðí¼ìñÿ òåïåðü ê áëî÷íûì øèôðàì.
Ïðåäïîëîæèì, ÷òî ó íàñ åñòü õîðîøèé ìåòîä êîäèðîâàòü
áëîêè äëèíîé 64 áèòà.
Íî ñîîáùåíèå � äëèííåå. ×òî äåëàòü?
Ìû ñåé÷àñ áóäåì ðàññìàòðèâàòü ðàçíûå ìåòîäû
ïîñòðîåíèÿ øèôðîâ äëÿ äëèííûõ ñîîáùåíèé èç ìàëåíüêèõ
áëîêîâ.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâMessage Authenticity Codes
ECB
Ñàìîå ïðîñòîå - ECB (electronic codebook); áëîêè
êîäèðóþòñÿ íåçàâèñèìî äðóã îò äðóãà. ×òî ïëîõî?
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâMessage Authenticity Codes
ECB
Îäèíàêîâûå áëîêè ïåðåõîäÿò â îäèíàêîâûé êîä.
Áëîêè êîäèðóþòñÿ íåçàâèñèìî; ñëåäîâàòåëüíî, èõ ìîæíî
ïåðåñòàâëÿòü.
Îøèáêà â îäíîì áëîêå äàëüøå ýòîãî áëîêà íå èä¼ò.
Èç-çà ïåðâîãî è âòîðîãî ñâîéñòâ àòàêîâàòü ìîæíî î÷åíü
óñïåøíî, è ECB èñïîëüçîâàòü íå ðåêîìåíäóåòñÿ.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâMessage Authenticity Codes
CBC
CBC (cipher block chaining): c0 := IV , cj := EK (xj ⊕ cj−1).
×òî òåïåðü?
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâMessage Authenticity Codes
CBC
Èäåíòè÷íûå ñîîáùåíèÿ ïåðåõîäÿò â èäåíòè÷íûå êîäû,
òîëüêî åñëè IV òîæå ñîâïàäàåò.
Áëîê çàâèñèò îò ïðåäûäóùèõ, ïåðåñòàâëÿòü íåëüçÿ.
Îøèáêà â áëîêå cj âûçûâàåò îøèáêó â xj+1 íà òîì æå
ìåñòå, äàëüøå âñ¼ OK; íî xj òåðÿåòñÿ ïîëíîñòüþ.
Ò.å. âðàã ìîæåò ïîäêîððåêòèðîâàòü xj+1, íî òîëüêî öåíîé
òîãî, ÷òî xj ïðåâðàòèòñÿ â ìóñîð.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ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.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâMessage Authenticity Codes
CFB
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâMessage Authenticity Codes
CFB
Èäåíòè÷íûå ñîîáùåíèÿ ïåðåõîäÿò â èäåíòè÷íûå êîäû,
òîëüêî åñëè IV òîæå ñîâïàäàåò.
Áëîê çàâèñèò îò ïðåäûäóùèõ, ïåðåñòàâëÿòü íåëüçÿ. ×òîáû
áëîê äåêîäèðîâàëñÿ ïðàâèëüíî, íàäî, ÷òîáû ïðåäûäóùèå
dn/re áûëè ïðàâèëüíûì.
Îøèáêà â áëîêå cj âûçûâàåò îøèáêó â dn/re ïîñëåäóþùèõáëîêàõ.
Êàæäûé çàïóñê E âûäà¼ò òîëüêî r áèòîâ, à íå n, êàê ìîã
áû.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâMessage Authenticity Codes
OFB
OFB (output feedback): êîãäà íåõîðîøî, ÷òîáû îøèáêà òàêäàëåêî ðàñïðîñòðàíÿëàñü. Òîãäà:
áåð¼ì I0 := IV ,
ñ÷èòàåì êîä Oj := EK (Ij),
áåð¼ì tj êàê r êðàéíèõ ñëåâà áèòîâ Oj ,
ïîäñ÷èòûâàåì cj := tj ⊕ xj ,
áåð¼ì ñëåäóþùèé Ij+1 := Oj .
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâMessage Authenticity Codes
OFB
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâMessage Authenticity Codes
OFB
Èäåíòè÷íûå ñîîáùåíèÿ ïåðåõîäÿò â èäåíòè÷íûå êîäû,
òîëüêî åñëè IV òîæå ñîâïàäàåò.
Áëîê íå çàâèñèò îò ïðåäûäóùèõ. Ïîýòîìó, â ÷àñòíîñòè,
íåëüçÿ èñïîëüçîâàòü òîò æå êëþ÷ ñ òåì æå IV äâà ðàçà.
Îøèáêà â áëîêå cj ê äðóãèì îøèáêàì íå ïðèâîäèò, íî çàòî
ïîòåðÿëàñü ñàìîñèíõðîíèçàöèÿ.
Êàæäûé çàïóñê E âûäà¼ò òîëüêî r áèòîâ, à íå n, êàê ìîã
áû; íî çàòî òåïåðü êîäîâûé ïîòîê ìîæíî âû÷èñëÿòü
çàðàíåå.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâMessage Authenticity Codes
Áëî÷íûå øèôðû è MAC'è
Çàäà÷à: õîòèì äîáàâèòü ê ñîîáùåíèþ MAC (message
authentication code) òàê, ÷òîáû íèêòî íå ñìîã èçìåíèòü
ñîîáùåíèå, íå íàðóøèâ MAC (öåëîñòíîñòü).
Ñäåëàòü èç áëî÷íîãî øèôðà MAC ëåãêî: áåð¼ì ïîñëåäíèé
áëîê CBC-ðåæèìà.
Áîëåå ñëîæíûé âîïðîñ � êàê ñäåëàòü òàê, ÷òîáû
îäíîâðåìåííî è çàêîäèðîâàòü, è öåëîñòíîñòü îáåñïå÷èòü.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâMessage Authenticity Codes
Áëî÷íûå øèôðû è MAC'è
Åñëè çàêîäèðîâàòü è âçÿòü ïîñëåäíèé áëîê, ïîëó÷àåòñÿ
áðåä � ïðîñòî áëîê äâà ðàçà ïîâòîðèëè.
Åñëè âçÿòü ïîñëåäíèé áëîê, à ïîòîì çàêîäèðîâàòü � òîæå
áðåä: ïîñëåäíèé áëîê áóäåò XOR'èòüñÿ ñ ñîáîé, è âìåñòî
MAC â êîíöå ïîëó÷èòñÿ êîä íóëÿ.
Ìîæíî ïîäñ÷èòàòü íåêðèïòîãðàôè÷åñêóþ CRC, äîïèñàòü â
êîíöå è çàêîäèðîâàòü; ïî÷òè ðàáîòàåò, íî òîæå åñòü òîíêèå
àòàêè.
 îáùåì � ñ÷èòàåòñÿ, ÷òî íàäî ïîëó÷àòü MAC èç äðóãîãî
êëþ÷à, ÷òîáû âñ¼ áûëî íàä¼æíî.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé
Outline
1 Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Ñóòü ïðîèñõîäÿùåãî
Ïðîñòûå øèôðû
Èç ÷åãî äåëàþò øèôðû
2 Ïîòî÷íûå øèôðû
Îáùèå çàìå÷àíèÿ
Î õîðîøèõ è ïëîõèõ øèôðàõ
LFSR è ëèíåéíàÿ ñëîæíîñòü
Íåëèíåéíûå ðåãèñòðû ñäâèãà
3 Áëî÷íûå øèôðû
Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
Message Authenticity Codes
4 Õåø-ôóíêöèè
Îïðåäåëåíèÿ
×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåéÑåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé
Õåøè äëÿ êðèïòîãðàôèè ñ çàêðûòûì êëþ÷îì
Îêàçûâàåòñÿ, åñëè ó Àëèñû è Áîáà åñòü îáùèé ñåêðåò, îíè
ìîãóò ìíîãî ÷åãî ñäåëàòü, íå èìåÿ àëãîðèòìîâ äëÿ
êðèïòîãðàôèè ñ çàêðûòûì êëþ÷îì, à òîëüêî õåø-ôóíêöèè.
Ôàêòè÷åñêè, ìîæíî ñäåëàòü âñ¼ òî æå ñàìîå, ÷òî ñ
ñåêðåòíûì êëþ÷îì.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé
Àóòåíòèôèêàöèÿ
Áûëî ñ ñåêðåòíûì êëþ÷îì:
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé
Àóòåíòèôèêàöèÿ
Ñòàëî ñ õåø-ôóíêöèåé:
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé
Ñîçäàíèå MAC
Ìû óìååì ñîçäàâàòü MAC èç ñåêðåòíîãî êëþ÷à.
Ìîæíî ñäåëàòü MAC èç õåøà � ýòî ïðîñòî MD(m). Âåðíî?
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé
Ñîçäàíèå MAC
Ìû óìååì ñîçäàâàòü MAC èç ñåêðåòíîãî êëþ÷à.
Ìîæíî ñäåëàòü MAC èç õåøà � ýòî ïðîñòî MD(m). Âåðíî?
Íåâåðíî; òàêîé MAC êòî óãîäíî ñãåíåðèðîâàòü ìîæåò.
Ïîýòîìó ìû äåëàåì òî æå ñàìîå, ÷òî è âûøå, è
äîïèñûâàåì
MAC = MD(m | KAB).
Òîãäà Áîá ìîæåò ïðîâåðèòü, à íèêòî äðóãîé íå ìîæåò.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé
Êîäèðîâàíèå ÷åðåç õåø-ôóíêöèþ
Êîäèðîâàòü ñ õåø-ôóíêöèåé ëþáîé ìîæåò. Âîò êàê
äåêîäèðîâàòü - ýòî âîïðîñ... :)
Íà ñàìîì äåëå èäåè ïðèìåðíî òå æå, ÷òî ó ñõåì áëî÷íîãî
êîäèðîâàíèÿ.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé
Êîäèðîâàíèå ÷åðåç õåø-ôóíêöèþ
Ìîæíî ñãåíåðèðîâàòü îäíîðàçîâûé áëîêíîò:
b1 = MD(KAB), b2 = MD(KAB | b1), . . . , bi = MD(KAB | bi−1).
Àëèñà è Áîá ìîãóò ãåíåðèðîâàòü òàêóþ ñòðîêó çàðàíåå,
ïîòîì ïðèìåíÿòü:
ci = mi ⊕ bi .
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé
Êîäèðîâàíèå ÷åðåç õåø-ôóíêöèþ
Ïðîáëåìà: åñëè óãàäàòü ñîîáùåíèå, ìîæíî âû÷èñëèòü êîä
è ïîòîì ïîäìåíèòü ñîîáùåíèå íà ÷òî óãîäíî.
Êàê ïîìî÷ü ýòîé áåäå?
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé
Êîäèðîâàíèå ÷åðåç õåø-ôóíêöèþ
Ïðîáëåìà: åñëè óãàäàòü ñîîáùåíèå, ìîæíî âû÷èñëèòü êîä
è ïîòîì ïîäìåíèòü ñîîáùåíèå íà ÷òî óãîäíî.
Êàê ïîìî÷ü ýòîé áåäå?
Íàïðèìåð, òàê:
b1 = MD(KAB), b2 = MD(KAB | c1), . . . , bi = MD(KAB | ci−1),
ãäå ci = mi ⊕ bi .
Êàê òåïåðü ýòî äåêîäèðîâàòü?
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé
Êîäèðîâàíèå ÷åðåç õåø-ôóíêöèþ
Ïðîáëåìà: åñëè óãàäàòü ñîîáùåíèå, ìîæíî âû÷èñëèòü êîä
è ïîòîì ïîäìåíèòü ñîîáùåíèå íà ÷òî óãîäíî.
Êàê ïîìî÷ü ýòîé áåäå?
Íàïðèìåð, òàê:
b1 = MD(KAB), b2 = MD(KAB | c1), . . . , bi = MD(KAB | ci−1),
ãäå ci = mi ⊕ bi .
Êàê òåïåðü ýòî äåêîäèðîâàòü?
Ëåãêî: m1 = c1 ⊕MD(KAB), m2 = c2 ⊕MD(KAB | c1), ...
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû
Õåø-ôóíêöèè
×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé
Ñïàñèáî çà âíèìàíèå!
Lecture notes è ñëàéäû áóäóò ïîÿâëÿòüñÿ íà ìîåé
homepage:
http://logic.pdmi.ras.ru/∼sergey/
Ïðèñûëàéòå ëþáûå çàìå÷àíèÿ, ðåøåíèÿ óïðàæíåíèé,
íîâûå ÷èñëåííûå ïðèìåðû è ïðî÷åå ïî àäðåñàì:
[email protected], [email protected]
Çàõîäèòå â ÆÆ smartnik.
Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì