+ All Categories
Home > Documents > 20090920 cryptoprotocols nikolenko_lecture02

20090920 cryptoprotocols nikolenko_lecture02

Date post: 01-Dec-2014
Category:
Upload: computer-science-club
View: 395 times
Download: 1 times
Share this document with a friend
Description:
 
75
Transcript
Page 1: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Ñåðãåé Íèêîëåíêî

Êðèïòîãðàôèÿ � CS Club, îñåíü 2009

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 2: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû

Outline

1 Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Ñóòü ïðîèñõîäÿùåãî

Ïðîñòûå øèôðû

Èç ÷åãî äåëàþò øèôðû

2 Ïîòî÷íûå øèôðû

Îáùèå çàìå÷àíèÿ

Î õîðîøèõ è ïëîõèõ øèôðàõ

LFSR è ëèíåéíàÿ ñëîæíîñòü

Íåëèíåéíûå ðåãèñòðû ñäâèãà

3 Áëî÷íûå øèôðû

Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ

Message Authenticity Codes

4 Õåø-ôóíêöèè

Îïðåäåëåíèÿ

×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåéÑåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 3: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû

Ñóòü ïðîèñõîäÿùåãî

Àëèñà è Áîá èìåþò îáùèé ñåêðåòíûé êëþ÷.

Îíè ìîãóò ïåðåäàâàòü ñîîáùåíèÿ:

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 4: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû

Îäíîðàçîâûå áëîêíîòû

Íåñëîæíî ñäåëàòü àáñîëþòíî íåïðîáèâàåìûé øèôð �

îäíîðàçîâûé áëîêíîò.

Àëèñà è Áîá ñóììèðóþò êëþ÷ ñ ñîîáùåíèåì ïîáèòîâî:

c = m ⊕ kAB .

Ó âðàãà íåò íèêàêèõ øàíñîâ äåøèôðîâàòü òàêîå

ñîîáùåíèå.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 5: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû

Çàäà÷à

Ïðîáëåìà: ìû íå ìîæåì ñåáå ïîçâîëèòü òàê îòíîñèòüñÿ ê

êëþ÷àì.

Íàäî èñïîëüçîâàòü îäèí è òîò æå êëþ÷ ìíîãî ðàç.

Ïîòî÷íîå êîäèðîâàíèå: èä¼ò ïîòîê äàííûõ, íóæíî

êîäèðîâàòü êàæäûé íîâûé áèò è ïåðåäàâàòü äàëüøå â

ïîòîê.

Áëî÷íîå êîäèðîâàíèå: êëþ÷ îäèí (íå ñëèøêîì äëèííûé),

ñîîáùåíèå ãîðàçäî äëèííåå, åãî ïðèõîäèòñÿ ðàçáèâàòü íà

áëîêè è êîäèðîâàòü áëîêè.

Íî ñíà÷àëà ïîãîâîðèì î ñàìèõ øèôðàõ.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 6: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû

Ïîäñòàíîâî÷íûå øèôðû

Ïîäñòàíîâî÷íûå øèôðû (substitution ciphers): ïóñòü e ∈ SA(e � ïåðåñòàíîâêà áóêâ àëôàâèòà). Òîãäà äëÿ e ìîæíî

îïðåäåëèòü êîäèðóþùåå ïðåîáðàçîâàíèå:

Ee(m) = (e(m1)e(m2) . . . e(mt)) = (c1c2 . . . ct) = c.

Êîëè÷åñòâî ïåðåñòàíîâîê íà äîñòàòî÷íî áîëüøîì

àëôàâèòå âåëèêî (ðóññêèé: 33! ≈ 8, 68 · 1036).Íî åñëè ïðîñòî òàê øèôðîâàòü, áóäåò î÷åíü ïëîõî

(ïî÷åìó?).

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 7: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû

Ãîìîôîííûå ïîäñòàíîâî÷íûå øèôðû

Homophonic substitution ciphers.

Òî æå ñàìîå, íî òåïåðü íå ïåðåñòàíîâêà ñèìâîë�ñèìâîë, à

ôóíêöèÿ A → 2At

.

Íàïðèìåð:

A = {0, 1}, e(a) = {00, 01}, e(b) = {10, 11}.

Òåïåðü ìîæíî êîäèðîâàòü ÷àñòûå ñèìâîëû ðàçíûìè

êîäàìè, óðàâíèâàÿ ÷àñòîòó âñòðå÷àåìîñòè.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 8: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû

Ïîëèàëôàâèòíûå øèôðû

Ïîëèàëôàâèòíûé ïîäñòàíîâî÷íûé øèôð: ðàññìîòðèì

âåêòîð ïåðåñòàíîâîê ~e = (e1, e2, . . . et) è áóäåì êîäèðîâàòü

áëîê ñîîáùåíèÿ m1m2 . . .mt êàê

E~e = (e1(m1), e2(m2), . . . , et(mt)).

Øèôð Âèæåíåðà � èç òàêèõ.

Íå ñèëüíî ëó÷øå, ÷åì ìîíîàëôàâèòíûé: ìîæíî ðàçáèòü

ñîîáùåíèå íà ÷àñòè, çàøèôðîâàííûå îäíîé ïåðåñòàíîâêîé,

è êðèïòîàíàëèçèðîâàòü ïî îòäåëüíîñòè.

Íóæíî òîëüêî îïðåäåëèòü ïåðèîä; äëÿ ýòîãî è áûë ìåòîä

Êàñèñêè è ïðî÷èå ìåòîäû.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 9: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû

Ïåðåñòàíîâî÷íûå øèôðû

Åù¼ ìîæíî íå ìåíÿòü áóêâû â ñîîáùåíèè, à ïåðåñòàâëÿòü

èõ.

Ïî îòäåëüíîñòè ýòî òîæå ëåãêî ïîääà¼òñÿ êðèïòîàíàëèçó.

Ïîýòîìó ïðàâèëüíûé ïîäõîä � âñ¼ îáúåäèíèòü.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 10: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû

Æåëàåìîå

Ïðåäïîëîæèì, ÿ õî÷ó çàøèôðîâàòü áëîê ðàçìåðîì n

áèòîâ.

Êîíå÷íî, õîòåëîñü áû ïðîñòî óêàçàòü â êà÷åñòâå êëþ÷à

ñëó÷àéíóþ ïåðåñòàíîâêó âñåõ âîçìîæíûõ áëîêîâ.

Êàêîé òîãäà áóäåò ðàçìåð êëþ÷à?

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 11: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû

Æåëàåìîå

Ïðåäïîëîæèì, ÿ õî÷ó çàøèôðîâàòü áëîê ðàçìåðîì n

áèòîâ.

Êîíå÷íî, õîòåëîñü áû ïðîñòî óêàçàòü â êà÷åñòâå êëþ÷à

ñëó÷àéíóþ ïåðåñòàíîâêó âñåõ âîçìîæíûõ áëîêîâ.

Êàêîé òîãäà áóäåò ðàçìåð êëþ÷à?

Âñåãî êëþ÷åé 2n, ïåðåñòàíîâîê � 2n!.

Äëèíà êëþ÷à � log(2n!) ≈ n2n − 1

ln 22n + n

2áèòîâ (ôîðìóëà

Ñòèðëèíãà).

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 12: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû

Äåéñòâèòåëüíîå

Ñëó÷àéíóþ çàìåíó äëÿ âñåãî áëîêà (ñêàæåì, áëîê èç 64

áèòîâ) óêàçàòü òðóäíî.

Ïîýòîìó øèôðû äåëàþò èç çàìåí (substitutions) è

ïåðåñòàíîâîê (permutations).

Øèôð � ýòî êîìïîçèöèÿ áîëåå ïðîñòûõ çàìåí è

ïåðåñòàíîâîê.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 13: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû

64-áèòíûé øèôð

Íàïðèìåð, áëîêè äëèíû 64 ìîæíî ðàçáèòü íà êóñêè äëèíû

8.

Åñëè îãðàíè÷èòüñÿ çàìåíàìè è ïåðåñòàíîâêàìè âíóòðè

êóñêîâ, òî áóäåò ëåãêî âçëîìàòü.

Ïîýòîìó â øèôðå íåñêîëüêî ðàóíäîâ; âíóòðè ðàóíäà

ðàáîòà èä¼ò âíóòðè êóñêîâ ïî 8 áèò, ìåæäó ðàóíäàìè îíè

ïåðåìåøèâàþòñÿ.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 14: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû

Ïðèìåð: DES

DES (data encryption standard) � óæå óñòàðåë, íî åãî

ïðîùå áóäåò ðàçîáðàòü.

Êëþ÷ äëèíîé 56 áèòîâ èñïîëüçóåòñÿ äëÿ êîäèðîâàíèÿ

64-áèòíîãî áëîêà.

Ïðè ïîìîùè ýòîãî êëþ÷à ãåíåðèðóþòñÿ 16 êëþ÷åé äëÿ 16

ðàóíäîâ.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 15: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû

Ïðèìåð: DES

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 16: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû

Ïðèìåð: DES

Ïåðåñòàíîâêà e � ïî ñóòè íå íóæíà (çà÷åì?).

Ãåíåðàöèÿ êëþ÷åé � 16 ðàóíäîâ ïî ïåðåñòàíîâêå, ëåâàÿ è

ïðàâàÿ ïîëîâèíû êëþ÷à ñîçäàþòñÿ îòäåëüíî.

Êàæäûé ðàóíä � ïðèìåíåíèå ñïåöèàëüíîé

mangler-ôóíêöèè ê êëþ÷ó è ïîëîâèíå êîäà.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 17: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû

Ïðèìåð: DES

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 18: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû

Èñòîðèÿ DES

Áûë ðàçðàáîòàí â íà÷àëå 1970-õ, ïðèíÿò êàê ñòàíäàðò â

1976.

Ðàçðàáàòûâàëî IBM, íî NSA (National Security Agency)

ïðèíèìàëî àêòèâíîå ó÷àñòèå, ìåíÿëî ïðîòîêîëû.

Äóìàëè, ÷òî îñîáåííîñòè DES ïîçâîëÿëè NSA åãî

äåøèôðîâûâàòü.

Íà ñàìîì äåëå ôóíêöèè âûáèðàëèñü òàê, ÷òîáû èõ áûëî

òðóäíåå âçëàìûâàòü ðàçíîñòíûì êðèïòîàíàëèçîì

(di�erential cryptoanalysis). Ýòî ìåòîä äëÿ âçëîìà áëî÷íûõ

øèôðîâ; Eli Biham, Adi Shamir, êîíåö 1980-õ; íî, âèäèìî,

IBM è NSA çíàëè îá ýòèõ àòàêàõ åù¼ â 1970-õ (Don

Coppersmith, 1994).

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 19: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Ñóòü ïðîèñõîäÿùåãîÏðîñòûå øèôðûÈç ÷åãî äåëàþò øèôðû

Ñîâðåìåííûå àëüòåðíàòèâû

IDEA (International Data Encryption Algorithm), 1991 �

áëîêè ïî 64 áèòà, êëþ÷ 128 áèòîâ. ×åðåäóåò ïîáèòîâûé

XOR, ñëîæåíèå è óìíîæåíèå ïî ìîäóëþ 216.

AES (Advanced Encryption Standard), 2001 � îôèöèàëüíî

ïðèø¼ë íà ñìåíó DES. Íà îñíîâå ñåìåéñòâà êîäîâ Rijndael.

Êëþ÷è ìîãóò áûòü ðàçìåðîì 128, 192 è 256 áèòîâ.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 20: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà

Outline

1 Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Ñóòü ïðîèñõîäÿùåãî

Ïðîñòûå øèôðû

Èç ÷åãî äåëàþò øèôðû

2 Ïîòî÷íûå øèôðû

Îáùèå çàìå÷àíèÿ

Î õîðîøèõ è ïëîõèõ øèôðàõ

LFSR è ëèíåéíàÿ ñëîæíîñòü

Íåëèíåéíûå ðåãèñòðû ñäâèãà

3 Áëî÷íûå øèôðû

Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ

Message Authenticity Codes

4 Õåø-ôóíêöèè

Îïðåäåëåíèÿ

×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåéÑåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 21: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà

Îäíîðàçîâûé áëîêíîò

Òåîðåìà Øåííîíà: ïóñòü K è M � ñëó÷àéíûå âåëè÷èíû,

ñîîòâåòñòâóþùèå êëþ÷àì è ñîîáùåíèÿì. ×òîáû ñèñòåìà ñ

çàêðûòûì êëþ÷îì áûëà áåçóñëîâíî íàä¼æíîé,

íåîáõîäèìî, ÷òîáû H(K ) ≥ H(M).

 ÷àñòíîñòè, åñëè |k | ≥ |m|, è êëþ÷è áåðóòñÿ èç

ðàâíîìåðíîãî ðàñïðåäåëåíèÿ, òî ýòî óñëîâèå âñåãäà

âûïîëíåíî.

Íî äëÿ ýòîãî íóæíî èñïîëüçîâàòü êëþ÷ ðàçìåðîì ñ

ñîîáùåíèå è ñðàçó åãî âûáðàñûâàòü, ÷òî îáû÷íî

íåâîçìîæíî.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 22: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà

Ïîòî÷íûé øèôð êàê îäíîðàçîâûé áëîêíîò

Íî èäåÿ õîðîøà: äàâàéòå äåéñòâèòåëüíî ãåíåðèðîâàòü

íîâûé øèôð ïîòî÷íûì îáðàçîì.

Òîëüêî îí ó íàñ áóäåò íå ñîâñåì ñëó÷àéíûé, à

ïñåâäîñëó÷àéíûé.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 23: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà

Ñèíõðîííûå øèôðû

 ñèíõðîííûõ ïîòî÷íûõ øèôðàõ ïîòîê êëþ÷à ãåíåðèðóåòñÿ

íåçàâèñèìî îò ñîîáùåíèÿ è êîäà.

Êîäèðîâàíèå ñèíõðîííûõ øèôðîâ ìîæíî îïèñàòü êàê

σi+1 =f (σi , k),

zi =g(σi , k),

ci =hi (zi ,mi ).

σ0 � íà÷àëüíîå ñîñòîÿíèå, k � êëþ÷, f � ôóíêöèÿ

ïåðåõîäà ìåæäó ñîñòîÿíèÿìè, g ïðîèçâîäèò ïîòîê êëþ÷åé

z , à êîä c ïîëó÷àåòñÿ èç ýòîãî ïîòîêà è ñîîáùåíèÿ.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 24: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà

Ñèíõðîííûå øèôðû

 ñèíõðîííûõ ïîòî÷íûõ øèôðàõ ïîòîê êëþ÷à ãåíåðèðóåòñÿ

íåçàâèñèìî îò ñîîáùåíèÿ è êîäà.

Êîäèðîâàíèå:

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 25: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà

Ñèíõðîííûå øèôðû

 ñèíõðîííûõ ïîòî÷íûõ øèôðàõ ïîòîê êëþ÷à ãåíåðèðóåòñÿ

íåçàâèñèìî îò ñîîáùåíèÿ è êîäà.

Äåêîäèðîâàíèå:

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 26: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà

Ñèíõðîííûå øèôðû

 ñèíõðîííûõ ïîòî÷íûõ øèôðàõ ïîòîê êëþ÷à ãåíåðèðóåòñÿ

íåçàâèñèìî îò ñîîáùåíèÿ è êîäà.

Îáû÷íî ðàññìàòðèâàþò ëèíåéíûå áèíàðíûå ïîòî÷íûå

øèôðû.

 íèõ mi è ci � áèòû, è hi (zi ,mi ) = mi ⊕ zi .

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 27: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà

Ñâîéñòâà ñèíõðîííûõ øèôðîâ

Íóæíî ñèíõðîíèçèðîâàòü. Åñëè âäðóã â êàíàëå ìîãóò

ïðîïàäàòü áèòû èëè ïîÿâëÿòüñÿ íîâûå, íóæíû

ñïåöèàëüíûå ìåòîäû ñèíõðîíèçàöèè.

Îøèáêà íå ðàñïðîñòðàíÿåòñÿ äàëüøå.

Îòíîñèòåëüíî àòàê:

èç-çà ïåðâîãî ñâîéñòâà àòàêè, ñâÿçàííûå ñ íîâûìè

ñèìâîëàìè èëè óäàëåíèåì, ëåã÷å çàìåòèòü;

èç-çà âòîðîãî ñâîéñòâà, åñëè âçëîìùèê ìîæåò ìåíÿòü êîä,

îí áóäåò çíàòü, êàê ýòî ïîâëèÿåò íà ñîîáùåíèå.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 28: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà

Ñàìîñèíõðîíèçèðóþùèåñÿ øèôðû

 ñàìîñèíõðîíèçèðóþùèõñÿ ïîòî÷íûõ øèôðàõ ïîòîê

êëþ÷à � ôóíêöèÿ ñîîáùåíèÿ è íåñêîëüêèõ

ïðåäøåñòâóþùèõ áèòîâ êîäà.

Êîäèðîâàíèå ñàìîñèíõðîíèçèðóþùèõñÿ øèôðîâ ìîæíî

îïèñàòü êàê

σi =(ci−t , ci−t+1, . . . , ci−1),

zi =g(σi , k),

ci =hi (zi ,mi ).

σ0 � íà÷àëüíîå ñîñòîÿíèå, k � êëþ÷, f � ôóíêöèÿ

ïåðåõîäà ìåæäó ñîñòîÿíèÿìè, g ïðîèçâîäèò ïîòîê êëþ÷åé

z , à êîä c ïîëó÷àåòñÿ èç ýòîãî ïîòîêà è ñîîáùåíèÿ.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 29: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà

Ñàìîñèíõðîíèçèðóþùèåñÿ øèôðû

 ñàìîñèíõðîíèçèðóþùèõñÿ ïîòî÷íûõ øèôðàõ ïîòîê

êëþ÷à � ôóíêöèÿ ñîîáùåíèÿ è íåñêîëüêèõ

ïðåäøåñòâóþùèõ áèòîâ êîäà.

Êîäèðîâàíèå:

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 30: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà

Ñàìîñèíõðîíèçèðóþùèåñÿ øèôðû

 ñàìîñèíõðîíèçèðóþùèõñÿ ïîòî÷íûõ øèôðàõ ïîòîê

êëþ÷à � ôóíêöèÿ ñîîáùåíèÿ è íåñêîëüêèõ

ïðåäøåñòâóþùèõ áèòîâ êîäà.

Äåêîäèðîâàíèå:

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 31: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà

Ñâîéñòâà ñàìîñèíõðîíèçèðóþùèõñÿ øèôðîâ

Ñèíõðîíèçèðóþòñÿ ñàìè: êàæäàÿ îøèáêà âëèÿåò òîëüêî íà

êîíå÷íîå ÷èñëî ïîñëåäóþùèõ áèòîâ.

Îøèáêà ðàñïðîñòðàíÿåòñÿ, íî îãðàíè÷åííî.

Îòíîñèòåëüíî àòàê:

èç-çà ïåðâîãî ñâîéñòâà àòàêè, ñâÿçàííûå ñ íîâûìè

ñèìâîëàìè èëè óäàëåíèåì, òðóäíåå çàìåòèòü;

èç-çà âòîðîãî ñâîéñòâà, åñëè âçëîìùèê èçìåíèë êîä, ýòî

ïîâëèÿåò íà ñëåäóþùèå áèòû, ÷òî ìîæåò ïîçâîëèòü

çàìåòèòü âòîðæåíèå.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 32: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà

Öåëåïîëàãàíèå

Ìû õîòèì ïîëó÷èòü íàä¼æíûé ïîòî÷íûé øèôð.

Äëÿ ýòîãî íàì íóæíî ïîëó÷èòü íàä¼æíóþ

ïîñëåäîâàòåëüíîñòü êëþ÷åé zi , êîòîðàÿ ïîòîì XOR'èòñÿ ñ

ñîîáùåíèåì.

×òî çíà÷èò � ¾íàä¼æíàÿ ïîñëåäîâàòåëüíîñòü¿?

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 33: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà

Öåëåïîëàãàíèå

Íàä¼æíàÿ � çíà÷èò, ïîõîæàÿ íà ñëó÷àéíóþ, ðàç óæ ñîâñåì

ñëó÷àéíîé íå áóäåò.

Èíà÷å ãîâîðÿ, ïîòî÷íûé øèôð äîëæåí áûòü íåïëîõèì

ïñåâäîñëó÷àéíûì ãåíåðàòîðîì.

Íî çàìåòèì, ÷òî åñëè íàøà áóëåâà ñõåìà, âû÷èñëÿþùàÿ zi ,

êîíå÷íà, òî ïîñëåäîâàòåëüíîñòü áóäåò ïåðèîäè÷åñêîé.

Êàêèìè ñâîéñòâàìè äîëæíà îáëàäàòü ïåðèîäè÷åñêàÿ

ïîñëåäîâàòåëüíîñòü, ÷òîáû áûòü ïîõîæåé íà ñëó÷àéíóþ?

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 34: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõ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-ïîñëåäîâàòåëüíîñòüþ).Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 35: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà

Ñòàòèñòè÷åñêèå òåñòû

Ìîæíî çàïóñêàòü ñòàòèñòè÷åñêèå òåñòû, êîòîðûåïðîâåðÿþò ïîëåçíûå ãèïîòåçû:

(monobit test) ðàâíî ëè êîëè÷åñòâî íóëåé è åäèíèö;

(two-bit test) ðàâíî ëè êîëè÷åñòâî 00, 01, 10 è 11;

(poker test) ðàâíî ëè êîëè÷åñòâî ðàçíûõ

ïîñëåäîâàòåëüíîñòåé äëèíû m;

(runs test) ïîäõîäÿùåå ëè êîëè÷åñòâî ïîñëåäîâàòåëüíîñòåé

èäóùèõ ïîäðÿä íóëåé è åäèíèö òîé èëè èíîé äëèíû;

(autocorrelation test) îäèíàêîâàÿ ëè àâòîêîððåëÿöèÿ íà

ðàçíûõ ñäâèãàõ;

(Maurer test) õîðîøî ëè ïîëó÷àåòñÿ ñæàòü ïîëó÷èâøèéñÿ

ïîòîê.

Õîðîøèé ãåíåðàòîð äîëæåí ïðîõîäèòü âñå ýòè òåñòû.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 36: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà

Îïðåäåëåíèå

Ëèíåéíûé ðåãèñòð ñäâèãà ñ îáðàòíîé ñâÿçüþ (linear

feedback shift register, LFSR) äëèíû L ñîñòîèò èç L óðîâíåé,

S0, . . . , SL−1 êàæäûé èç êîòîðûõ õðàíèò 1 áèò, è ñ÷¼ò÷èêà

âðåìåíè. Íà êàæäîì øàãå ñîäåðæèìîå S0 âûäà¼òñÿ íà

âûõîä, ñîäåðæèìîå Si ïåðåäà¼òñÿ íà Si−1, à â SL−1

ïîñòóïàåò áèò îáðàòíîé ñâÿçè, âû÷èñëåííûé êàê XOR

íåêîòîðîãî ôèêñèðîâàííîãî ïîäìíîæåñòâà S0, . . . , SL−1.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 37: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõ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 .

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 38: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà

Àññîöèèðîâàííûé ìíîãî÷ëåí

Ñëåäîâàòåëüíî, LFSR âûäà¼ò ìàêñèìàëüíî âîçìîæíûé

ïåðèîä 2L − 1 òîãäà è òîëüêî òîãäà, êîãäà C (D)

ïðèìèòèâåí.

(ïðèìèòèâíûé ìíîãî÷ëåí � ìèíèìàëüíûé ìíîãî÷ëåí äëÿ

ïðèìèòèâíîãî ýëåìåíòà ñîîòâåòñòâóþùåãî ðàñøèðåíèÿ Z2;

íàïðèìåð, ïðèìèòèâíûé ìíîãî÷ëåí ñòåïåíè 2 òîëüêî îäèí:

1 + x + x2; ñòåïåíè 3 � äâà ìíîãî÷ëåíà: 1 + x + x3 è

1 + x2 + x3; åñëè íå ïîìíèòå, íè÷åãî ñòðàøíîãî,

ïîëüçîâàòüñÿ ñèëüíî íå áóäåì)

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 39: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõ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.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 40: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà

Ñâîéñòâà LFSR

Ãëàâíîå ñâîéñòâî � âûõîä LFSR óäîâëåòâîðÿåò ïîñòóëàòàì

Ãîëîìáà.

 ÷àñòíîñòè, ïîñëåäîâàòåëüíîñòåé ïîäðÿä èäóùèõ

íóëåé/åäèíèö çà ïåðèîä ðîâíî 2L−1, èç íèõ ðîâíî

ïîëîâèíà � äëèíû 1, ðîâíî ÷åòâåðòü � äëèíû 2 è ò.ä.,

äëèíû L − 1 è äëèíû L � ïî îäíîé.

Íàïðèìåð, â ïðèìåðå âûøå çà ïåðèîä ïîëó÷èëîñü 1001110;

4 = 22 ïîñëåäîâàòåëüíîñòè, ñâîéñòâà âñå çäåñü.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 41: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà

Ëèíåéíàÿ ñëîæíîñòü

Ìû âûÿñíèëè, ÷òî LFSR � õîðîøèå ïîðîæäàòåëè

ïñåâäîñëó÷àéíûõ ïîñëåäîâàòåëüíîñòåé.

Ìîæíî ïîñìîòðåòü è íàîáîðîò. LFSR ïîðîæäàåò

ïîñëåäîâàòåëüíîñòü s, åñëè äëÿ íåêîòîðîãî íà÷àëüíîãî

ñîñòîÿíèÿ îí âûäà¼ò s íà âûõîä.

Ëèíåéíàÿ ñëîæíîñòü (linear complexity) L(s)ïîñëåäîâàòåëüíîñòè s îïðåäåëÿåòñÿ òàê:

åñëè s = 00000 . . ., òî L(s) = 0;

åñëè íå ñóùåñòâóåò LFSR, ïîðîæäàþùåãî s, òî L(s) = ∞;

èíà÷å L(s) � äëèíà ñàìîãî êîðîòêîãî LFSR,

ïîðîæäàþùåãî s.

Äëÿ êîíå÷íûõ � äëèíà ñàìîãî êîðîòêîãî LFSR,

ïîðîæäàþùåãî ïîñëåäîâàòåëüíîñòü, íà÷èíàþùóþñÿ ñ

äàííîé.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 42: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà

Î ëèíåéíîé ñëîæíîñòè

Î ëèíåéíîé ñëîæíîñòè ìíîãîå èçâåñòíî; îíà ïî ñóòè

ïîõîæà íà êîëìîãîðîâñêóþ ñëîæíîñòü èëè ñëîæíîñòü

Ëåìïåëÿ-Çèâà: íàñêîëüêî ñëîæíûé îáúåêò ìîæåò ïîðîäèòü

ýòó ïîñëåäîâàòåëüíîñòü.

Íî, â îòëè÷èå îò êîëìîãîðîâñêîé ñëîæíîñòè, ëèíåéíóþ

ëåãêî âû÷èñëèòü.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 43: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõ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 .

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 44: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõ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.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 45: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà

Íåëèíåéíûå ðåãèñòðû ñäâèãà

Ëèíåéíûå õîðîøè, íî äëÿ êðèïòîãðàôèè ñàìè ïî ñåáå

íåïðèãîäíû; âîò, íàïðèìåð, ïðîñòîé àëãîðèòì îïðåäåëÿåò

óñòðîéñòâî LFSR ïî äàííûì äëèíîé âñåãî 2L.

Íóæíî ãäå-òî ââåñòè íåëèíåéíîñòü.

Íåëèíåéíûé ðåãèñòð ñäâèãà:

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 46: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà

Íåëèíåéíûå êîìáèíàöèè LFSR

Ìîæíî îáúåäèíèòü ðåçóëüòàòû íåñêîëüêèõ LFSR

íåëèíåéíîé ôóíêöèåé:

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 47: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà

Íåëèíåéíûå êîìáèíàöèè LFSR

Ìîæíî ãåíåðèðîâàòü ïîòîê êàê íåëèíåéíóþ ôóíêöèþ

(ôèëüòð) îò ñîñòîÿíèé:

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 48: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà

Íåëèíåéíûå êîìáèíàöèè LFSR

Ìîæíî èñïîëüçîâàòü îäèí LFSR êàê ¾÷àñû¿ äëÿ äðóãèõ:

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 49: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Îáùèå çàìå÷àíèÿÎ õîðîøèõ è ïëîõèõ øèôðàõLFSR è ëèíåéíàÿ ñëîæíîñòüÍåëèíåéíûå ðåãèñòðû ñäâèãà

Íåëèíåéíûå êîìáèíàöèè LFSR

The shrinking generator:

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 50: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâMessage Authenticity Codes

Outline

1 Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Ñóòü ïðîèñõîäÿùåãî

Ïðîñòûå øèôðû

Èç ÷åãî äåëàþò øèôðû

2 Ïîòî÷íûå øèôðû

Îáùèå çàìå÷àíèÿ

Î õîðîøèõ è ïëîõèõ øèôðàõ

LFSR è ëèíåéíàÿ ñëîæíîñòü

Íåëèíåéíûå ðåãèñòðû ñäâèãà

3 Áëî÷íûå øèôðû

Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ

Message Authenticity Codes

4 Õåø-ôóíêöèè

Îïðåäåëåíèÿ

×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåéÑåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 51: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâMessage Authenticity Codes

Ïîñòàíîâêà çàäà÷è

Âåðí¼ìñÿ òåïåðü ê áëî÷íûì øèôðàì.

Ïðåäïîëîæèì, ÷òî ó íàñ åñòü õîðîøèé ìåòîä êîäèðîâàòü

áëîêè äëèíîé 64 áèòà.

Íî ñîîáùåíèå � äëèííåå. ×òî äåëàòü?

Ìû ñåé÷àñ áóäåì ðàññìàòðèâàòü ðàçíûå ìåòîäû

ïîñòðîåíèÿ øèôðîâ äëÿ äëèííûõ ñîîáùåíèé èç ìàëåíüêèõ

áëîêîâ.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 52: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâMessage Authenticity Codes

ECB

Ñàìîå ïðîñòîå - ECB (electronic codebook); áëîêè

êîäèðóþòñÿ íåçàâèñèìî äðóã îò äðóãà. ×òî ïëîõî?

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 53: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâMessage Authenticity Codes

ECB

Îäèíàêîâûå áëîêè ïåðåõîäÿò â îäèíàêîâûé êîä.

Áëîêè êîäèðóþòñÿ íåçàâèñèìî; ñëåäîâàòåëüíî, èõ ìîæíî

ïåðåñòàâëÿòü.

Îøèáêà â îäíîì áëîêå äàëüøå ýòîãî áëîêà íå èä¼ò.

Èç-çà ïåðâîãî è âòîðîãî ñâîéñòâ àòàêîâàòü ìîæíî î÷åíü

óñïåøíî, è ECB èñïîëüçîâàòü íå ðåêîìåíäóåòñÿ.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 54: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâMessage Authenticity Codes

CBC

CBC (cipher block chaining): c0 := IV , cj := EK (xj ⊕ cj−1).

×òî òåïåðü?

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 55: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâMessage Authenticity Codes

CBC

Èäåíòè÷íûå ñîîáùåíèÿ ïåðåõîäÿò â èäåíòè÷íûå êîäû,

òîëüêî åñëè IV òîæå ñîâïàäàåò.

Áëîê çàâèñèò îò ïðåäûäóùèõ, ïåðåñòàâëÿòü íåëüçÿ.

Îøèáêà â áëîêå cj âûçûâàåò îøèáêó â xj+1 íà òîì æå

ìåñòå, äàëüøå âñ¼ OK; íî xj òåðÿåòñÿ ïîëíîñòüþ.

Ò.å. âðàã ìîæåò ïîäêîððåêòèðîâàòü xj+1, íî òîëüêî öåíîé

òîãî, ÷òî xj ïðåâðàòèòñÿ â ìóñîð.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 56: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ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.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 57: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâMessage Authenticity Codes

CFB

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 58: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâMessage Authenticity Codes

CFB

Èäåíòè÷íûå ñîîáùåíèÿ ïåðåõîäÿò â èäåíòè÷íûå êîäû,

òîëüêî åñëè IV òîæå ñîâïàäàåò.

Áëîê çàâèñèò îò ïðåäûäóùèõ, ïåðåñòàâëÿòü íåëüçÿ. ×òîáû

áëîê äåêîäèðîâàëñÿ ïðàâèëüíî, íàäî, ÷òîáû ïðåäûäóùèå

dn/re áûëè ïðàâèëüíûì.

Îøèáêà â áëîêå cj âûçûâàåò îøèáêó â dn/re ïîñëåäóþùèõáëîêàõ.

Êàæäûé çàïóñê E âûäà¼ò òîëüêî r áèòîâ, à íå n, êàê ìîã

áû.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 59: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâMessage Authenticity Codes

OFB

OFB (output feedback): êîãäà íåõîðîøî, ÷òîáû îøèáêà òàêäàëåêî ðàñïðîñòðàíÿëàñü. Òîãäà:

áåð¼ì I0 := IV ,

ñ÷èòàåì êîä Oj := EK (Ij),

áåð¼ì tj êàê r êðàéíèõ ñëåâà áèòîâ Oj ,

ïîäñ÷èòûâàåì cj := tj ⊕ xj ,

áåð¼ì ñëåäóþùèé Ij+1 := Oj .

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 60: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâMessage Authenticity Codes

OFB

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 61: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâMessage Authenticity Codes

OFB

Èäåíòè÷íûå ñîîáùåíèÿ ïåðåõîäÿò â èäåíòè÷íûå êîäû,

òîëüêî åñëè IV òîæå ñîâïàäàåò.

Áëîê íå çàâèñèò îò ïðåäûäóùèõ. Ïîýòîìó, â ÷àñòíîñòè,

íåëüçÿ èñïîëüçîâàòü òîò æå êëþ÷ ñ òåì æå IV äâà ðàçà.

Îøèáêà â áëîêå cj ê äðóãèì îøèáêàì íå ïðèâîäèò, íî çàòî

ïîòåðÿëàñü ñàìîñèíõðîíèçàöèÿ.

Êàæäûé çàïóñê E âûäà¼ò òîëüêî r áèòîâ, à íå n, êàê ìîã

áû; íî çàòî òåïåðü êîäîâûé ïîòîê ìîæíî âû÷èñëÿòü

çàðàíåå.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 62: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâMessage Authenticity Codes

Áëî÷íûå øèôðû è MAC'è

Çàäà÷à: õîòèì äîáàâèòü ê ñîîáùåíèþ MAC (message

authentication code) òàê, ÷òîáû íèêòî íå ñìîã èçìåíèòü

ñîîáùåíèå, íå íàðóøèâ MAC (öåëîñòíîñòü).

Ñäåëàòü èç áëî÷íîãî øèôðà MAC ëåãêî: áåð¼ì ïîñëåäíèé

áëîê CBC-ðåæèìà.

Áîëåå ñëîæíûé âîïðîñ � êàê ñäåëàòü òàê, ÷òîáû

îäíîâðåìåííî è çàêîäèðîâàòü, è öåëîñòíîñòü îáåñïå÷èòü.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 63: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâMessage Authenticity Codes

Áëî÷íûå øèôðû è MAC'è

Åñëè çàêîäèðîâàòü è âçÿòü ïîñëåäíèé áëîê, ïîëó÷àåòñÿ

áðåä � ïðîñòî áëîê äâà ðàçà ïîâòîðèëè.

Åñëè âçÿòü ïîñëåäíèé áëîê, à ïîòîì çàêîäèðîâàòü � òîæå

áðåä: ïîñëåäíèé áëîê áóäåò XOR'èòüñÿ ñ ñîáîé, è âìåñòî

MAC â êîíöå ïîëó÷èòñÿ êîä íóëÿ.

Ìîæíî ïîäñ÷èòàòü íåêðèïòîãðàôè÷åñêóþ CRC, äîïèñàòü â

êîíöå è çàêîäèðîâàòü; ïî÷òè ðàáîòàåò, íî òîæå åñòü òîíêèå

àòàêè.

 îáùåì � ñ÷èòàåòñÿ, ÷òî íàäî ïîëó÷àòü MAC èç äðóãîãî

êëþ÷à, ÷òîáû âñ¼ áûëî íàä¼æíî.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 64: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé

Outline

1 Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Ñóòü ïðîèñõîäÿùåãî

Ïðîñòûå øèôðû

Èç ÷åãî äåëàþò øèôðû

2 Ïîòî÷íûå øèôðû

Îáùèå çàìå÷àíèÿ

Î õîðîøèõ è ïëîõèõ øèôðàõ

LFSR è ëèíåéíàÿ ñëîæíîñòü

Íåëèíåéíûå ðåãèñòðû ñäâèãà

3 Áëî÷íûå øèôðû

Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ

Message Authenticity Codes

4 Õåø-ôóíêöèè

Îïðåäåëåíèÿ

×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåéÑåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 65: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé

Õåøè äëÿ êðèïòîãðàôèè ñ çàêðûòûì êëþ÷îì

Îêàçûâàåòñÿ, åñëè ó Àëèñû è Áîáà åñòü îáùèé ñåêðåò, îíè

ìîãóò ìíîãî ÷åãî ñäåëàòü, íå èìåÿ àëãîðèòìîâ äëÿ

êðèïòîãðàôèè ñ çàêðûòûì êëþ÷îì, à òîëüêî õåø-ôóíêöèè.

Ôàêòè÷åñêè, ìîæíî ñäåëàòü âñ¼ òî æå ñàìîå, ÷òî ñ

ñåêðåòíûì êëþ÷îì.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 66: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé

Àóòåíòèôèêàöèÿ

Áûëî ñ ñåêðåòíûì êëþ÷îì:

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 67: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé

Àóòåíòèôèêàöèÿ

Ñòàëî ñ õåø-ôóíêöèåé:

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 68: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé

Ñîçäàíèå MAC

Ìû óìååì ñîçäàâàòü MAC èç ñåêðåòíîãî êëþ÷à.

Ìîæíî ñäåëàòü MAC èç õåøà � ýòî ïðîñòî MD(m). Âåðíî?

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 69: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé

Ñîçäàíèå MAC

Ìû óìååì ñîçäàâàòü MAC èç ñåêðåòíîãî êëþ÷à.

Ìîæíî ñäåëàòü MAC èç õåøà � ýòî ïðîñòî MD(m). Âåðíî?

Íåâåðíî; òàêîé MAC êòî óãîäíî ñãåíåðèðîâàòü ìîæåò.

Ïîýòîìó ìû äåëàåì òî æå ñàìîå, ÷òî è âûøå, è

äîïèñûâàåì

MAC = MD(m | KAB).

Òîãäà Áîá ìîæåò ïðîâåðèòü, à íèêòî äðóãîé íå ìîæåò.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 70: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé

Êîäèðîâàíèå ÷åðåç õåø-ôóíêöèþ

Êîäèðîâàòü ñ õåø-ôóíêöèåé ëþáîé ìîæåò. Âîò êàê

äåêîäèðîâàòü - ýòî âîïðîñ... :)

Íà ñàìîì äåëå èäåè ïðèìåðíî òå æå, ÷òî ó ñõåì áëî÷íîãî

êîäèðîâàíèÿ.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 71: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé

Êîäèðîâàíèå ÷åðåç õåø-ôóíêöèþ

Ìîæíî ñãåíåðèðîâàòü îäíîðàçîâûé áëîêíîò:

b1 = MD(KAB), b2 = MD(KAB | b1), . . . , bi = MD(KAB | bi−1).

Àëèñà è Áîá ìîãóò ãåíåðèðîâàòü òàêóþ ñòðîêó çàðàíåå,

ïîòîì ïðèìåíÿòü:

ci = mi ⊕ bi .

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 72: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé

Êîäèðîâàíèå ÷åðåç õåø-ôóíêöèþ

Ïðîáëåìà: åñëè óãàäàòü ñîîáùåíèå, ìîæíî âû÷èñëèòü êîä

è ïîòîì ïîäìåíèòü ñîîáùåíèå íà ÷òî óãîäíî.

Êàê ïîìî÷ü ýòîé áåäå?

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 73: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé

Êîäèðîâàíèå ÷åðåç õåø-ôóíêöèþ

Ïðîáëåìà: åñëè óãàäàòü ñîîáùåíèå, ìîæíî âû÷èñëèòü êîä

è ïîòîì ïîäìåíèòü ñîîáùåíèå íà ÷òî óãîäíî.

Êàê ïîìî÷ü ýòîé áåäå?

Íàïðèìåð, òàê:

b1 = MD(KAB), b2 = MD(KAB | c1), . . . , bi = MD(KAB | ci−1),

ãäå ci = mi ⊕ bi .

Êàê òåïåðü ýòî äåêîäèðîâàòü?

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 74: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé

Êîäèðîâàíèå ÷åðåç õåø-ôóíêöèþ

Ïðîáëåìà: åñëè óãàäàòü ñîîáùåíèå, ìîæíî âû÷èñëèòü êîä

è ïîòîì ïîäìåíèòü ñîîáùåíèå íà ÷òî óãîäíî.

Êàê ïîìî÷ü ýòîé áåäå?

Íàïðèìåð, òàê:

b1 = MD(KAB), b2 = MD(KAB | c1), . . . , bi = MD(KAB | ci−1),

ãäå ci = mi ⊕ bi .

Êàê òåïåðü ýòî äåêîäèðîâàòü?

Ëåãêî: m1 = c1 ⊕MD(KAB), m2 = c2 ⊕MD(KAB | c1), ...

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì

Page 75: 20090920 cryptoprotocols nikolenko_lecture02

Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îìÏîòî÷íûå øèôðûÁëî÷íûå øèôðû

Õåø-ôóíêöèè

×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé

Ñïàñèáî çà âíèìàíèå!

Lecture notes è ñëàéäû áóäóò ïîÿâëÿòüñÿ íà ìîåé

homepage:

http://logic.pdmi.ras.ru/∼sergey/

Ïðèñûëàéòå ëþáûå çàìå÷àíèÿ, ðåøåíèÿ óïðàæíåíèé,

íîâûå ÷èñëåííûå ïðèìåðû è ïðî÷åå ïî àäðåñàì:

[email protected], [email protected]

Çàõîäèòå â ÆÆ smartnik.

Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì


Recommended