20090920 cryptoprotocols nikolenko_lecture02

393 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
393
On SlideShare
0
From Embeds
0
Number of Embeds
70
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

20090920 cryptoprotocols nikolenko_lecture02

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

×