20090920 cryptoprotocols nikolenko_lecture02

  • 225 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
225
On Slideshare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
2
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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