SlideShare une entreprise Scribd logo
1  sur  75
Télécharger pour lire hors ligne
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
                Ïîòî÷íûå øèôðû
                 Áëî÷íûå øèôðû
                   Õåø-ôóíêöèè




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




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



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




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


Outline

  1   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
        Ñóòü ïðîèñõîäÿùåãî
        Ïðîñòûå øèôðû
        Èç ÷åãî äåëàþò øèôðû
  2   Ïîòî÷íûå øèôðû
        Îáùèå çàìå÷àíèÿ
        Î õîðîøèõ è ïëîõèõ øèôðàõ
        LFSR è ëèíåéíàÿ ñëîæíîñòü
        Íåëèíåéíûå ðåãèñòðû ñäâèãà
  3   Áëî÷íûå øèôðû
        Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
        Message Authenticity Codes
  4   Õåø-ôóíêöèè
        Îïðåäåëåíèÿ
        ×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé ñ çàêðûòûì êëþ÷îì
                    Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
                                        Ñóòü ïðîèñõîäÿùåãî
                       Ïîòî÷íûå øèôðû
                                        Ïðîñòûå øèôðû
                        Áëî÷íûå øèôðû
                                        Èç ÷åãî äåëàþò øèôðû
                          Õåø-ôóíêöèè


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


     Àëèñà è Áîá èìåþò îáùèé ñåêðåòíûé êëþ÷.
     Îíè ìîãóò ïåðåäàâàòü ñîîáùåíèÿ:




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


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




     Íåñëîæíî ñäåëàòü àáñîëþòíî íåïðîáèâàåìûé øèôð 
     îäíîðàçîâûé áëîêíîò.
     Àëèñà è Áîá ñóììèðóþò êëþ÷ ñ ñîîáùåíèåì ïîáèòîâî:

                                 c = m ⊕ kAB .
     Ó âðàãà íåò íèêàêèõ øàíñîâ äåøèôðîâàòü òàêîå
     ñîîáùåíèå.




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


Çàäà÷à




     Ïðîáëåìà: ìû íå ìîæåì ñåáå ïîçâîëèòü òàê îòíîñèòüñÿ ê
     êëþ÷àì.
     Íàäî èñïîëüçîâàòü îäèí è òîò æå êëþ÷ ìíîãî ðàç.
     Ïîòî÷íîå êîäèðîâàíèå: èä¼ò ïîòîê äàííûõ, íóæíî
     êîäèðîâàòü êàæäûé íîâûé áèò è ïåðåäàâàòü äàëüøå â
     ïîòîê.
     Áëî÷íîå êîäèðîâàíèå: êëþ÷ îäèí (íå ñëèøêîì äëèííûé),
     ñîîáùåíèå ãîðàçäî äëèííåå, åãî ïðèõîäèòñÿ ðàçáèâàòü íà
     áëîêè è êîäèðîâàòü áëîêè.
     Íî ñíà÷àëà ïîãîâîðèì î ñàìèõ øèôðàõ.


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


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




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

         Ee (m) = (e (m1 )e (m2 ) . . . e (mt )) = (c1 c2 . . . ct ) = c .
     Êîëè÷åñòâî ïåðåñòàíîâîê íà äîñòàòî÷íî áîëüøîì
     àëôàâèòå âåëèêî (ðóññêèé: 33! ≈ 8, 68 · 1036 ).
     Íî åñëè ïðîñòî òàê øèôðîâàòü, áóäåò î÷åíü ïëîõî
     (ïî÷åìó?).



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


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




     Homophonic substitution ciphers.
     Òî æå ñàìîå, íî òåïåðü íå ïåðåñòàíîâêà ñèìâîëñèìâîë, à
     ôóíêöèÿ A → 2A .
                     t



     Íàïðèìåð:

             A = {0, 1}, e (a) = {00, 01}, e (b) = {10, 11}.
     Òåïåðü ìîæíî êîäèðîâàòü ÷àñòûå ñèìâîëû ðàçíûìè
     êîäàìè, óðàâíèâàÿ ÷àñòîòó âñòðå÷àåìîñòè.




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


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



    Ïîëèàëôàâèòíûé ïîäñòàíîâî÷íûé øèôð: ðàññìîòðèì
    âåêòîð ïåðåñòàíîâîê e = (e1 , e2 , . . . et ) è áóäåì êîäèðîâàòü
    áëîê ñîîáùåíèÿ m1 m2 . . . mt êàê

                   Ee = (e1 (m1 ), e2 (m2 ), . . . , et (mt )).
    Øèôð Âèæåíåðà  èç òàêèõ.
    Íå ñèëüíî ëó÷øå, ÷åì ìîíîàëôàâèòíûé: ìîæíî ðàçáèòü
    ñîîáùåíèå íà ÷àñòè, çàøèôðîâàííûå îäíîé ïåðåñòàíîâêîé,
    è êðèïòîàíàëèçèðîâàòü ïî îòäåëüíîñòè.
    Íóæíî òîëüêî îïðåäåëèòü ïåðèîä; äëÿ ýòîãî è áûë ìåòîä
    Êàñèñêè è ïðî÷èå ìåòîäû.

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


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




     Åù¼ ìîæíî íå ìåíÿòü áóêâû â ñîîáùåíèè, à ïåðåñòàâëÿòü
     èõ.
     Ïî îòäåëüíîñòè ýòî òîæå ëåãêî ïîääà¼òñÿ êðèïòîàíàëèçó.
     Ïîýòîìó ïðàâèëüíûé ïîäõîä  âñ¼ îáúåäèíèòü.




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


Æåëàåìîå


    Ïðåäïîëîæèì, ÿ õî÷ó çàøèôðîâàòü áëîê ðàçìåðîì                   n
    áèòîâ.
    Êîíå÷íî, õîòåëîñü áû ïðîñòî óêàçàòü â êà÷åñòâå êëþ÷à
    ñëó÷àéíóþ ïåðåñòàíîâêó âñåõ âîçìîæíûõ áëîêîâ.
    Êàêîé òîãäà áóäåò ðàçìåð êëþ÷à?




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


Æåëàåìîå


    Ïðåäïîëîæèì, ÿ õî÷ó çàøèôðîâàòü áëîê ðàçìåðîì                   n
    áèòîâ.
    Êîíå÷íî, õîòåëîñü áû ïðîñòî óêàçàòü â êà÷åñòâå êëþ÷à
    ñëó÷àéíóþ ïåðåñòàíîâêó âñåõ âîçìîæíûõ áëîêîâ.
    Êàêîé òîãäà áóäåò ðàçìåð êëþ÷à?
    Âñåãî êëþ÷åé 2n , ïåðåñòàíîâîê  2n !.
    Äëèíà êëþ÷à  log(2n !) ≈ n2n −          1 n
                                            ln 2 2   + n áèòîâ (ôîðìóëà
                                                       2
    Ñòèðëèíãà).




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


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




     Ñëó÷àéíóþ çàìåíó äëÿ âñåãî áëîêà (ñêàæåì, áëîê èç 64
     áèòîâ) óêàçàòü òðóäíî.
     Ïîýòîìó øèôðû äåëàþò èç çàìåí (substitutions) è
     ïåðåñòàíîâîê (permutations).
     Øèôð  ýòî êîìïîçèöèÿ áîëåå ïðîñòûõ çàìåí è
     ïåðåñòàíîâîê.




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


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




     Íàïðèìåð, áëîêè äëèíû 64 ìîæíî ðàçáèòü íà êóñêè äëèíû
     8.
     Åñëè îãðàíè÷èòüñÿ çàìåíàìè è ïåðåñòàíîâêàìè âíóòðè
     êóñêîâ, òî áóäåò ëåãêî âçëîìàòü.
     Ïîýòîìó â øèôðå íåñêîëüêî ðàóíäîâ; âíóòðè ðàóíäà
     ðàáîòà èä¼ò âíóòðè êóñêîâ ïî 8 áèò, ìåæäó ðàóíäàìè îíè
     ïåðåìåøèâàþòñÿ.




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


Ïðèìåð: DES




     DES (data encryption standard)  óæå óñòàðåë, íî åãî
     ïðîùå áóäåò ðàçîáðàòü.
     Êëþ÷ äëèíîé 56 áèòîâ èñïîëüçóåòñÿ äëÿ êîäèðîâàíèÿ
     64-áèòíîãî áëîêà.
     Ïðè ïîìîùè ýòîãî êëþ÷à ãåíåðèðóþòñÿ 16 êëþ÷åé äëÿ 16
     ðàóíäîâ.




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


Ïðèìåð: DES




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


Ïðèìåð: DES




     Ïåðåñòàíîâêà     e    ïî ñóòè íå íóæíà (çà÷åì?).
     Ãåíåðàöèÿ êëþ÷åé  16 ðàóíäîâ ïî ïåðåñòàíîâêå, ëåâàÿ è
     ïðàâàÿ ïîëîâèíû êëþ÷à ñîçäàþòñÿ îòäåëüíî.
     Êàæäûé ðàóíä  ïðèìåíåíèå ñïåöèàëüíîé
     mangler-ôóíêöèè ê êëþ÷ó è ïîëîâèíå êîäà.




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


Ïðèìåð: DES




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


Èñòîðèÿ DES



     Áûë ðàçðàáîòàí â íà÷àëå 1970-õ, ïðèíÿò êàê ñòàíäàðò â
     1976.
     Ðàçðàáàòûâàëî IBM, íî NSA (National Security Agency)
     ïðèíèìàëî àêòèâíîå ó÷àñòèå, ìåíÿëî ïðîòîêîëû.
     Äóìàëè, ÷òî îñîáåííîñòè DES ïîçâîëÿëè NSA åãî
     äåøèôðîâûâàòü.
     Íà ñàìîì äåëå ôóíêöèè âûáèðàëèñü òàê, ÷òîáû èõ áûëî
     òðóäíåå âçëàìûâàòü ðàçíîñòíûì êðèïòîàíàëèçîì
     (dierential cryptoanalysis). Ýòî ìåòîä äëÿ âçëîìà áëî÷íûõ
     øèôðîâ; Eli Biham, Adi Shamir, êîíåö 1980-õ; íî, âèäèìî,
     IBM è NSA çíàëè îá ýòèõ àòàêàõ åù¼ â 1970-õ (Don
     Coppersmith, 1994).

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


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




     IDEA (International Data Encryption Algorithm), 1991 
     áëîêè ïî 64 áèòà, êëþ÷ 128 áèòîâ. ×åðåäóåò ïîáèòîâûé
     XOR, ñëîæåíèå è óìíîæåíèå ïî ìîäóëþ 21 6.
     AES (Advanced Encryption Standard), 2001  îôèöèàëüíî
     ïðèø¼ë íà ñìåíó DES. Íà îñíîâå ñåìåéñòâà êîäîâ Rijndael.
     Êëþ÷è ìîãóò áûòü ðàçìåðîì 128, 192 è 256 áèòîâ.




                     Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì   Îáùèå çàìå÷àíèÿ
                          Ïîòî÷íûå øèôðû   Î õîðîøèõ è ïëîõèõ øèôðàõ
                           Áëî÷íûå øèôðû   LFSR è ëèíåéíàÿ ñëîæíîñòü
                             Õåø-ôóíêöèè   Íåëèíåéíûå ðåãèñòðû ñäâèãà


Outline

  1   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
        Ñóòü ïðîèñõîäÿùåãî
        Ïðîñòûå øèôðû
        Èç ÷åãî äåëàþò øèôðû
  2   Ïîòî÷íûå øèôðû
        Îáùèå çàìå÷àíèÿ
        Î õîðîøèõ è ïëîõèõ øèôðàõ
        LFSR è ëèíåéíàÿ ñëîæíîñòü
        Íåëèíåéíûå ðåãèñòðû ñäâèãà
  3   Áëî÷íûå øèôðû
        Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
        Message Authenticity Codes
  4   Õåø-ôóíêöèè
        Îïðåäåëåíèÿ
        ×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé ñ çàêðûòûì êëþ÷îì
                    Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì   Îáùèå çàìå÷àíèÿ
                       Ïîòî÷íûå øèôðû   Î õîðîøèõ è ïëîõèõ øèôðàõ
                        Áëî÷íûå øèôðû   LFSR è ëèíåéíàÿ ñëîæíîñòü
                          Õåø-ôóíêöèè   Íåëèíåéíûå ðåãèñòðû ñäâèãà


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




     Òåîðåìà Øåííîíà: ïóñòü K è M  ñëó÷àéíûå âåëè÷èíû,
     ñîîòâåòñòâóþùèå êëþ÷àì è ñîîáùåíèÿì. ×òîáû ñèñòåìà ñ
     çàêðûòûì êëþ÷îì áûëà áåçóñëîâíî íàä¼æíîé,
     íåîáõîäèìî, ÷òîáû H (K ) ≥ H (M ).
      ÷àñòíîñòè, åñëè |k | ≥ |m|, è êëþ÷è áåðóòñÿ èç
     ðàâíîìåðíîãî ðàñïðåäåëåíèÿ, òî ýòî óñëîâèå âñåãäà
     âûïîëíåíî.
     Íî äëÿ ýòîãî íóæíî èñïîëüçîâàòü êëþ÷ ðàçìåðîì ñ
     ñîîáùåíèå è ñðàçó åãî âûáðàñûâàòü, ÷òî îáû÷íî
     íåâîçìîæíî.


                     Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì   Îáùèå çàìå÷àíèÿ
                       Ïîòî÷íûå øèôðû   Î õîðîøèõ è ïëîõèõ øèôðàõ
                        Áëî÷íûå øèôðû   LFSR è ëèíåéíàÿ ñëîæíîñòü
                          Õåø-ôóíêöèè   Íåëèíåéíûå ðåãèñòðû ñäâèãà


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




     Íî èäåÿ õîðîøà: äàâàéòå äåéñòâèòåëüíî ãåíåðèðîâàòü
     íîâûé øèôð ïîòî÷íûì îáðàçîì.
     Òîëüêî îí ó íàñ áóäåò íå ñîâñåì ñëó÷àéíûé, à
     ïñåâäîñëó÷àéíûé.




                     Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì    Îáùèå çàìå÷àíèÿ
                      Ïîòî÷íûå øèôðû    Î õîðîøèõ è ïëîõèõ øèôðàõ
                       Áëî÷íûå øèôðû    LFSR è ëèíåéíàÿ ñëîæíîñòü
                         Õåø-ôóíêöèè    Íåëèíåéíûå ðåãèñòðû ñäâèãà


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


     ñèíõðîííûõ ïîòî÷íûõ øèôðàõ ïîòîê êëþ÷à ãåíåðèðóåòñÿ
    íåçàâèñèìî îò ñîîáùåíèÿ è êîäà.
    Êîäèðîâàíèå ñèíõðîííûõ øèôðîâ ìîæíî îïèñàòü êàê

                              σi +1 =f (σi , k ),
                                  zi =g (σi , k ),
                                  ci =hi (zi , mi ).
    σ0  íà÷àëüíîå ñîñòîÿíèå, k  êëþ÷, f  ôóíêöèÿ
    ïåðåõîäà ìåæäó ñîñòîÿíèÿìè, g ïðîèçâîäèò ïîòîê êëþ÷åé
    z , à êîä c ïîëó÷àåòñÿ èç ýòîãî ïîòîêà è ñîîáùåíèÿ.


                    Ñåðãåé Íèêîëåíêî    Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì   Îáùèå çàìå÷àíèÿ
                      Ïîòî÷íûå øèôðû   Î õîðîøèõ è ïëîõèõ øèôðàõ
                       Áëî÷íûå øèôðû   LFSR è ëèíåéíàÿ ñëîæíîñòü
                         Õåø-ôóíêöèè   Íåëèíåéíûå ðåãèñòðû ñäâèãà


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


     ñèíõðîííûõ ïîòî÷íûõ øèôðàõ ïîòîê êëþ÷à ãåíåðèðóåòñÿ
    íåçàâèñèìî îò ñîîáùåíèÿ è êîäà.
    Êîäèðîâàíèå:




                    Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì   Îáùèå çàìå÷àíèÿ
                      Ïîòî÷íûå øèôðû   Î õîðîøèõ è ïëîõèõ øèôðàõ
                       Áëî÷íûå øèôðû   LFSR è ëèíåéíàÿ ñëîæíîñòü
                         Õåø-ôóíêöèè   Íåëèíåéíûå ðåãèñòðû ñäâèãà


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


     ñèíõðîííûõ ïîòî÷íûõ øèôðàõ ïîòîê êëþ÷à ãåíåðèðóåòñÿ
    íåçàâèñèìî îò ñîîáùåíèÿ è êîäà.
    Äåêîäèðîâàíèå:




                    Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì     Îáùèå çàìå÷àíèÿ
                      Ïîòî÷íûå øèôðû     Î õîðîøèõ è ïëîõèõ øèôðàõ
                       Áëî÷íûå øèôðû     LFSR è ëèíåéíàÿ ñëîæíîñòü
                         Õåø-ôóíêöèè     Íåëèíåéíûå ðåãèñòðû ñäâèãà


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


     ñèíõðîííûõ ïîòî÷íûõ øèôðàõ ïîòîê êëþ÷à ãåíåðèðóåòñÿ
    íåçàâèñèìî îò ñîîáùåíèÿ è êîäà.
    Îáû÷íî ðàññìàòðèâàþò            ëèíåéíûå áèíàðíûå ïîòî÷íûå
    øèôðû.
    Â íèõ   mi è ci    áèòû, è hi (zi , mi ) = mi ⊕ zi .




                      Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì   Îáùèå çàìå÷àíèÿ
                       Ïîòî÷íûå øèôðû   Î õîðîøèõ è ïëîõèõ øèôðàõ
                        Áëî÷íûå øèôðû   LFSR è ëèíåéíàÿ ñëîæíîñòü
                          Õåø-ôóíêöèè   Íåëèíåéíûå ðåãèñòðû ñäâèãà


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




     Íóæíî ñèíõðîíèçèðîâàòü. Åñëè âäðóã â êàíàëå ìîãóò
     ïðîïàäàòü áèòû èëè ïîÿâëÿòüñÿ íîâûå, íóæíû
     ñïåöèàëüíûå ìåòîäû ñèíõðîíèçàöèè.
     Îøèáêà íå ðàñïðîñòðàíÿåòñÿ äàëüøå.
     Îòíîñèòåëüíî àòàê:
         èç-çà ïåðâîãî ñâîéñòâà àòàêè, ñâÿçàííûå ñ íîâûìè
         ñèìâîëàìè èëè óäàëåíèåì, ëåã÷å çàìåòèòü;
         èç-çà âòîðîãî ñâîéñòâà, åñëè âçëîìùèê ìîæåò ìåíÿòü êîä,
         îí áóäåò çíàòü, êàê ýòî ïîâëèÿåò íà ñîîáùåíèå.


                     Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì       Îáùèå çàìå÷àíèÿ
                      Ïîòî÷íûå øèôðû       Î õîðîøèõ è ïëîõèõ øèôðàõ
                       Áëî÷íûå øèôðû       LFSR è ëèíåéíàÿ ñëîæíîñòü
                         Õåø-ôóíêöèè       Íåëèíåéíûå ðåãèñòðû ñäâèãà


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


     ñàìîñèíõðîíèçèðóþùèõñÿ ïîòî÷íûõ øèôðàõ ïîòîê
    êëþ÷à  ôóíêöèÿ ñîîáùåíèÿ è íåñêîëüêèõ
    ïðåäøåñòâóþùèõ áèòîâ êîäà.
    Êîäèðîâàíèå ñàìîñèíõðîíèçèðóþùèõñÿ øèôðîâ ìîæíî
    îïèñàòü êàê

                        σi =(ci −t , ci −t +1 , . . . , ci −1 ),
                        zi =g (σi , k ),
                        ci =hi (zi , mi ).
    σ0  íà÷àëüíîå ñîñòîÿíèå, k  êëþ÷, f  ôóíêöèÿ
    ïåðåõîäà ìåæäó ñîñòîÿíèÿìè, g ïðîèçâîäèò ïîòîê êëþ÷åé
    z , à êîä c ïîëó÷àåòñÿ èç ýòîãî ïîòîêà è ñîîáùåíèÿ.
                    Ñåðãåé Íèêîëåíêî       Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì   Îáùèå çàìå÷àíèÿ
                      Ïîòî÷íûå øèôðû   Î õîðîøèõ è ïëîõèõ øèôðàõ
                       Áëî÷íûå øèôðû   LFSR è ëèíåéíàÿ ñëîæíîñòü
                         Õåø-ôóíêöèè   Íåëèíåéíûå ðåãèñòðû ñäâèãà


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


     ñàìîñèíõðîíèçèðóþùèõñÿ ïîòî÷íûõ øèôðàõ ïîòîê
    êëþ÷à  ôóíêöèÿ ñîîáùåíèÿ è íåñêîëüêèõ
    ïðåäøåñòâóþùèõ áèòîâ êîäà.
    Êîäèðîâàíèå:




                    Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì   Îáùèå çàìå÷àíèÿ
                      Ïîòî÷íûå øèôðû   Î õîðîøèõ è ïëîõèõ øèôðàõ
                       Áëî÷íûå øèôðû   LFSR è ëèíåéíàÿ ñëîæíîñòü
                         Õåø-ôóíêöèè   Íåëèíåéíûå ðåãèñòðû ñäâèãà


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


     ñàìîñèíõðîíèçèðóþùèõñÿ ïîòî÷íûõ øèôðàõ ïîòîê
    êëþ÷à  ôóíêöèÿ ñîîáùåíèÿ è íåñêîëüêèõ
    ïðåäøåñòâóþùèõ áèòîâ êîäà.
    Äåêîäèðîâàíèå:




                    Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì   Îáùèå çàìå÷àíèÿ
                       Ïîòî÷íûå øèôðû   Î õîðîøèõ è ïëîõèõ øèôðàõ
                        Áëî÷íûå øèôðû   LFSR è ëèíåéíàÿ ñëîæíîñòü
                          Õåø-ôóíêöèè   Íåëèíåéíûå ðåãèñòðû ñäâèãà


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




     Ñèíõðîíèçèðóþòñÿ ñàìè: êàæäàÿ îøèáêà âëèÿåò òîëüêî íà
     êîíå÷íîå ÷èñëî ïîñëåäóþùèõ áèòîâ.
     Îøèáêà ðàñïðîñòðàíÿåòñÿ, íî îãðàíè÷åííî.
     Îòíîñèòåëüíî àòàê:
         èç-çà ïåðâîãî ñâîéñòâà àòàêè, ñâÿçàííûå ñ íîâûìè
         ñèìâîëàìè èëè óäàëåíèåì, òðóäíåå çàìåòèòü;
         èç-çà âòîðîãî ñâîéñòâà, åñëè âçëîìùèê èçìåíèë êîä, ýòî
         ïîâëèÿåò íà ñëåäóþùèå áèòû, ÷òî ìîæåò ïîçâîëèòü
         çàìåòèòü âòîðæåíèå.


                     Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì   Îáùèå çàìå÷àíèÿ
                       Ïîòî÷íûå øèôðû   Î õîðîøèõ è ïëîõèõ øèôðàõ
                        Áëî÷íûå øèôðû   LFSR è ëèíåéíàÿ ñëîæíîñòü
                          Õåø-ôóíêöèè   Íåëèíåéíûå ðåãèñòðû ñäâèãà


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




     Ìû õîòèì ïîëó÷èòü íàä¼æíûé ïîòî÷íûé øèôð.
     Äëÿ ýòîãî íàì íóæíî ïîëó÷èòü íàä¼æíóþ
     ïîñëåäîâàòåëüíîñòü êëþ÷åé zi , êîòîðàÿ ïîòîì XOR'èòñÿ ñ
     ñîîáùåíèåì.
     ×òî çíà÷èò  ¾íàä¼æíàÿ ïîñëåäîâàòåëüíîñòü¿?




                     Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì   Îáùèå çàìå÷àíèÿ
                       Ïîòî÷íûå øèôðû   Î õîðîøèõ è ïëîõèõ øèôðàõ
                        Áëî÷íûå øèôðû   LFSR è ëèíåéíàÿ ñëîæíîñòü
                          Õåø-ôóíêöèè   Íåëèíåéíûå ðåãèñòðû ñäâèãà


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




     Íàä¼æíàÿ  çíà÷èò, ïîõîæàÿ íà ñëó÷àéíóþ, ðàç óæ ñîâñåì
     ñëó÷àéíîé íå áóäåò.
     Èíà÷å ãîâîðÿ, ïîòî÷íûé øèôð äîëæåí áûòü íåïëîõèì
     ïñåâäîñëó÷àéíûì ãåíåðàòîðîì.
     Íî çàìåòèì, ÷òî åñëè íàøà áóëåâà ñõåìà, âû÷èñëÿþùàÿ zi ,
     êîíå÷íà, òî ïîñëåäîâàòåëüíîñòü áóäåò ïåðèîäè÷åñêîé.
     Êàêèìè ñâîéñòâàìè äîëæíà îáëàäàòü ïåðèîäè÷åñêàÿ
     ïîñëåäîâàòåëüíîñòü, ÷òîáû áûòü ïîõîæåé íà ñëó÷àéíóþ?




                     Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì   Îáùèå çàìå÷àíèÿ
                       Ïîòî÷íûå øèôðû   Î õîðîøèõ è ïëîõèõ øèôðàõ
                        Áëî÷íûå øèôðû   LFSR è ëèíåéíàÿ ñëîæíîñòü
                          Õåø-ôóíêöèè   Íåëèíåéíûå ðåãèñòðû ñäâèãà


Ïîñòóëàòû Ãîëîìáà


     Ñîëîìîí Ãîëîìá ïðåäëîæèë ñëåäóþùèå íåîáõîäèìûå
     óñëîâèÿ äëÿ N -ïåðèîäè÷íîé ïîñëåäîâàòåëüíîñòè.
       1    öèêëå äëèíû N ÷èñëî åäèíèö îòëè÷àåòñÿ îò ÷èñëà íóëåé
           íå áîëåå ÷åì íà 1.
       2   Â öèêëå äëèíû N íå ìåíåå ïîëîâèíû ïîñëåäîâàòåëüíîñòåé
           îäèíàêîâûõ ñèìâîëîâ èìåþò äëèíó 1, íå ìåíåå ÷åòâåðòè 
           äëèíó 2, íå ìåíåå 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-ïîñëåäîâàòåëüíîñòüþ). Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
                  Ñåðãåé Íèêîëåíêî
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì   Îáùèå çàìå÷àíèÿ
                       Ïîòî÷íûå øèôðû   Î õîðîøèõ è ïëîõèõ øèôðàõ
                        Áëî÷íûå øèôðû   LFSR è ëèíåéíàÿ ñëîæíîñòü
                          Õåø-ôóíêöèè   Íåëèíåéíûå ðåãèñòðû ñäâèãà


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



     Ìîæíî çàïóñêàòü ñòàòèñòè÷åñêèå òåñòû, êîòîðûå
     ïðîâåðÿþò ïîëåçíûå ãèïîòåçû:
         (monobit test) ðàâíî ëè êîëè÷åñòâî íóëåé è åäèíèö;
         (two-bit test) ðàâíî ëè êîëè÷åñòâî 00, 01, 10 è 11;
         (poker test) ðàâíî ëè êîëè÷åñòâî ðàçíûõ
         ïîñëåäîâàòåëüíîñòåé äëèíû m;
         (runs test) ïîäõîäÿùåå ëè êîëè÷åñòâî ïîñëåäîâàòåëüíîñòåé
         èäóùèõ ïîäðÿä íóëåé è åäèíèö òîé èëè èíîé äëèíû;
         (autocorrelation test) îäèíàêîâàÿ ëè àâòîêîððåëÿöèÿ íà
         ðàçíûõ ñäâèãàõ;
         (Maurer test) õîðîøî ëè ïîëó÷àåòñÿ ñæàòü ïîëó÷èâøèéñÿ
         ïîòîê.
     Õîðîøèé ãåíåðàòîð äîëæåí ïðîõîäèòü âñå ýòè òåñòû.

                     Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì   Îáùèå çàìå÷àíèÿ
                       Ïîòî÷íûå øèôðû   Î õîðîøèõ è ïëîõèõ øèôðàõ
                        Áëî÷íûå øèôðû   LFSR è ëèíåéíàÿ ñëîæíîñòü
                          Õåø-ôóíêöèè   Íåëèíåéíûå ðåãèñòðû ñäâèãà


Îïðåäåëåíèå


     Ëèíåéíûé ðåãèñòð ñäâèãà ñ îáðàòíîé ñâÿçüþ (linear
     feedback shift register, LFSR) äëèíû L ñîñòîèò èç L óðîâíåé,
     S0 , . . . , SL−1 êàæäûé èç êîòîðûõ õðàíèò 1 áèò, è ñ÷¼ò÷èêà
     âðåìåíè. Íà êàæäîì øàãå ñîäåðæèìîå S0 âûäà¼òñÿ íà
     âûõîä, ñîäåðæèìîå Si ïåðåäà¼òñÿ íà Si −1 , à â SL−1
     ïîñòóïàåò áèò îáðàòíîé ñâÿçè, âû÷èñëåííûé êàê XOR
     íåêîòîðîãî ôèêñèðîâàííîãî ïîäìíîæåñòâà S0 , . . . , SL−1 .




                     Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì   Îáùèå çàìå÷àíèÿ
                        Ïîòî÷íûå øèôðû   Î õîðîøèõ è ïëîõèõ øèôðàõ
                         Áëî÷íûå øèôðû   LFSR è ëèíåéíàÿ ñëîæíîñòü
                           Õåø-ôóíêöèè   Íåëèíåéíûå ðåãèñòðû ñäâèãà


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




      LFSR îáîçíà÷àåòñÿ êàê L, C (D ) , ãäå
      C (D ) = 1 + c1 D + . . . + cL D L ∈ Z2 [D ]  åãî
      õàðàêòåðèñòè÷åñêèé ìíîãî÷ëåí.
      LFSR íåñèíãóëÿðåí, åñëè cl = 1 (ò.å. deg C (D ) = L). Áóäåì
      ïðåäïîëàãàòü íåñèíãóëÿðíîñòü.
      LFSR ïðîèçâîäèò ïåðèîäè÷åñêóþ ïîñëåäîâàòåëüíîñòü.
  Óïðàæíåíèå.   Äîêàçàòü, ÷òî ïåðèîä ãåíåðèðóåìîé
  ïîñëåäîâàòåëüíîñòè ðàâåí íàèìåíüøåìó ÷èñëó N , ïðè êîòîðîì
  ìíîãî÷ëåí C (D ) äåëèò 1 + D N .



                      Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì   Îáùèå çàìå÷àíèÿ
                       Ïîòî÷íûå øèôðû   Î õîðîøèõ è ïëîõèõ øèôðàõ
                        Áëî÷íûå øèôðû   LFSR è ëèíåéíàÿ ñëîæíîñòü
                          Õåø-ôóíêöèè   Íåëèíåéíûå ðåãèñòðû ñäâèãà


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




     Ñëåäîâàòåëüíî, LFSR âûäà¼ò ìàêñèìàëüíî âîçìîæíûé
     ïåðèîä 2L − 1 òîãäà è òîëüêî òîãäà, êîãäà C (D )
     ïðèìèòèâåí.
     (ïðèìèòèâíûé ìíîãî÷ëåí  ìèíèìàëüíûé ìíîãî÷ëåí äëÿ
     ïðèìèòèâíîãî ýëåìåíòà ñîîòâåòñòâóþùåãî ðàñøèðåíèÿ Z2 ;
     íàïðèìåð, ïðèìèòèâíûé ìíîãî÷ëåí ñòåïåíè 2 òîëüêî îäèí:
     1 + x + x 2 ; ñòåïåíè 3  äâà ìíîãî÷ëåíà: 1 + x + x 3 è
     1 + x 2 + x 3 ; åñëè íå ïîìíèòå, íè÷åãî ñòðàøíîãî,
     ïîëüçîâàòüñÿ ñèëüíî íå áóäåì)



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

                     Ñåðãåé Íèêîëåíêî     Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì   Îáùèå çàìå÷àíèÿ
                       Ïîòî÷íûå øèôðû   Î õîðîøèõ è ïëîõèõ øèôðàõ
                        Áëî÷íûå øèôðû   LFSR è ëèíåéíàÿ ñëîæíîñòü
                          Õåø-ôóíêöèè   Íåëèíåéíûå ðåãèñòðû ñäâèãà


Ñâîéñòâà LFSR




     Ãëàâíîå ñâîéñòâî  âûõîä LFSR óäîâëåòâîðÿåò ïîñòóëàòàì
     Ãîëîìáà.
      ÷àñòíîñòè, ïîñëåäîâàòåëüíîñòåé ïîäðÿä èäóùèõ
     íóëåé/åäèíèö çà ïåðèîä ðîâíî 2L−1 , èç íèõ ðîâíî
     ïîëîâèíà  äëèíû 1, ðîâíî ÷åòâåðòü  äëèíû 2 è ò.ä.,
     äëèíû L − 1 è äëèíû L  ïî îäíîé.
     Íàïðèìåð, â ïðèìåðå âûøå çà ïåðèîä ïîëó÷èëîñü 1001110;
     4 = 22 ïîñëåäîâàòåëüíîñòè, ñâîéñòâà âñå çäåñü.




                     Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì   Îáùèå çàìå÷àíèÿ
                       Ïîòî÷íûå øèôðû   Î õîðîøèõ è ïëîõèõ øèôðàõ
                        Áëî÷íûå øèôðû   LFSR è ëèíåéíàÿ ñëîæíîñòü
                          Õåø-ôóíêöèè   Íåëèíåéíûå ðåãèñòðû ñäâèãà


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


     Ìû âûÿñíèëè, ÷òî LFSR  õîðîøèå ïîðîæäàòåëè
     ïñåâäîñëó÷àéíûõ ïîñëåäîâàòåëüíîñòåé.
     Ìîæíî ïîñìîòðåòü è íàîáîðîò. LFSR ïîðîæäàåò
     ïîñëåäîâàòåëüíîñòü s , åñëè äëÿ íåêîòîðîãî íà÷àëüíîãî
     ñîñòîÿíèÿ îí âûäà¼ò s íà âûõîä.
     Ëèíåéíàÿ ñëîæíîñòü (linear complexity) L(s )
     ïîñëåäîâàòåëüíîñòè s îïðåäåëÿåòñÿ òàê:
         åñëè s = 00000 . . ., òî L(s ) = 0;
         åñëè íå ñóùåñòâóåò LFSR, ïîðîæäàþùåãî s , òî L(s ) = ∞;
         èíà÷å L(s )  äëèíà ñàìîãî êîðîòêîãî LFSR,
         ïîðîæäàþùåãî s .
     Äëÿ êîíå÷íûõ  äëèíà ñàìîãî êîðîòêîãî LFSR,
     ïîðîæäàþùåãî ïîñëåäîâàòåëüíîñòü, íà÷èíàþùóþñÿ ñ
     äàííîé.
                     Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì   Îáùèå çàìå÷àíèÿ
                       Ïîòî÷íûå øèôðû   Î õîðîøèõ è ïëîõèõ øèôðàõ
                        Áëî÷íûå øèôðû   LFSR è ëèíåéíàÿ ñëîæíîñòü
                          Õåø-ôóíêöèè   Íåëèíåéíûå ðåãèñòðû ñäâèãà


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




     Î ëèíåéíîé ñëîæíîñòè ìíîãîå èçâåñòíî; îíà ïî ñóòè
     ïîõîæà íà êîëìîãîðîâñêóþ ñëîæíîñòü èëè ñëîæíîñòü
     Ëåìïåëÿ-Çèâà: íàñêîëüêî ñëîæíûé îáúåêò ìîæåò ïîðîäèòü
     ýòó ïîñëåäîâàòåëüíîñòü.
     Íî, â îòëè÷èå îò êîëìîãîðîâñêîé ñëîæíîñòè, ëèíåéíóþ
     ëåãêî âû÷èñëèòü.




                     Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì    Îáùèå çàìå÷àíèÿ
                       Ïîòî÷íûå øèôðû    Î õîðîøèõ è ïëîõèõ øèôðàõ
                        Áëî÷íûå øèôðû    LFSR è ëèíåéíàÿ ñëîæíîñòü
                          Õåø-ôóíêöèè    Íåëèíåéíûå ðåãèñòðû ñäâèãà


Àëãîðèòì Áåðëåêàìïà-Ìåññè




     Ðàññìîòðèì ïîñëåäîâàòåëüíîñòü              s   äëèíû    n + 1:
     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




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



                      Ñåðãåé Íèêîëåíêî    Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì   Îáùèå çàìå÷àíèÿ
                       Ïîòî÷íûå øèôðû   Î õîðîøèõ è ïëîõèõ øèôðàõ
                        Áëî÷íûå øèôðû   LFSR è ëèíåéíàÿ ñëîæíîñòü
                          Õåø-ôóíêöèè   Íåëèíåéíûå ðåãèñòðû ñäâèãà


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




     Ëèíåéíûå õîðîøè, íî äëÿ êðèïòîãðàôèè ñàìè ïî ñåáå
     íåïðèãîäíû; âîò, íàïðèìåð, ïðîñòîé àëãîðèòì îïðåäåëÿåò
     óñòðîéñòâî LFSR ïî äàííûì äëèíîé âñåãî 2L.
     Íóæíî ãäå-òî ââåñòè íåëèíåéíîñòü.
     Íåëèíåéíûé ðåãèñòð ñäâèãà:




                     Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì   Îáùèå çàìå÷àíèÿ
                       Ïîòî÷íûå øèôðû   Î õîðîøèõ è ïëîõèõ øèôðàõ
                        Áëî÷íûå øèôðû   LFSR è ëèíåéíàÿ ñëîæíîñòü
                          Õåø-ôóíêöèè   Íåëèíåéíûå ðåãèñòðû ñäâèãà


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



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




                     Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì   Îáùèå çàìå÷àíèÿ
                       Ïîòî÷íûå øèôðû   Î õîðîøèõ è ïëîõèõ øèôðàõ
                        Áëî÷íûå øèôðû   LFSR è ëèíåéíàÿ ñëîæíîñòü
                          Õåø-ôóíêöèè   Íåëèíåéíûå ðåãèñòðû ñäâèãà


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



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




                     Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì   Îáùèå çàìå÷àíèÿ
                       Ïîòî÷íûå øèôðû   Î õîðîøèõ è ïëîõèõ øèôðàõ
                        Áëî÷íûå øèôðû   LFSR è ëèíåéíàÿ ñëîæíîñòü
                          Õåø-ôóíêöèè   Íåëèíåéíûå ðåãèñòðû ñäâèãà


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




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




                     Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì   Îáùèå çàìå÷àíèÿ
                       Ïîòî÷íûå øèôðû   Î õîðîøèõ è ïëîõèõ øèôðàõ
                        Áëî÷íûå øèôðû   LFSR è ëèíåéíàÿ ñëîæíîñòü
                          Õåø-ôóíêöèè   Íåëèíåéíûå ðåãèñòðû ñäâèãà


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




     The shrinking generator:




                     Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
                          Ïîòî÷íûå øèôðû   Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
                           Áëî÷íûå øèôðû   Message Authenticity Codes
                             Õåø-ôóíêöèè


Outline

  1   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
        Ñóòü ïðîèñõîäÿùåãî
        Ïðîñòûå øèôðû
        Èç ÷åãî äåëàþò øèôðû
  2   Ïîòî÷íûå øèôðû
        Îáùèå çàìå÷àíèÿ
        Î õîðîøèõ è ïëîõèõ øèôðàõ
        LFSR è ëèíåéíàÿ ñëîæíîñòü
        Íåëèíåéíûå ðåãèñòðû ñäâèãà
  3   Áëî÷íûå øèôðû
        Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
        Message Authenticity Codes
  4   Õåø-ôóíêöèè
        Îïðåäåëåíèÿ
        ×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé ñ çàêðûòûì êëþ÷îì
                    Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
                       Ïîòî÷íûå øèôðû   Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
                        Áëî÷íûå øèôðû   Message Authenticity Codes
                          Õåø-ôóíêöèè


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




     Âåðí¼ìñÿ òåïåðü ê áëî÷íûì øèôðàì.
     Ïðåäïîëîæèì, ÷òî ó íàñ åñòü õîðîøèé ìåòîä êîäèðîâàòü
     áëîêè äëèíîé 64 áèòà.
     Íî ñîîáùåíèå  äëèííåå. ×òî äåëàòü?
     Ìû ñåé÷àñ áóäåì ðàññìàòðèâàòü ðàçíûå ìåòîäû
     ïîñòðîåíèÿ øèôðîâ äëÿ äëèííûõ ñîîáùåíèé èç ìàëåíüêèõ
     áëîêîâ.




                     Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
                        Ïîòî÷íûå øèôðû   Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
                         Áëî÷íûå øèôðû   Message Authenticity Codes
                           Õåø-ôóíêöèè


ECB




      Ñàìîå ïðîñòîå - ECB (electronic codebook); áëîêè
      êîäèðóþòñÿ íåçàâèñèìî äðóã îò äðóãà. ×òî ïëîõî?




                      Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
                        Ïîòî÷íûå øèôðû   Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
                         Áëî÷íûå øèôðû   Message Authenticity Codes
                           Õåø-ôóíêöèè


ECB




      Îäèíàêîâûå áëîêè ïåðåõîäÿò â îäèíàêîâûé êîä.
      Áëîêè êîäèðóþòñÿ íåçàâèñèìî; ñëåäîâàòåëüíî, èõ ìîæíî
      ïåðåñòàâëÿòü.
      Îøèáêà â îäíîì áëîêå äàëüøå ýòîãî áëîêà íå èä¼ò.
      Èç-çà ïåðâîãî è âòîðîãî ñâîéñòâ àòàêîâàòü ìîæíî î÷åíü
      óñïåøíî, è ECB èñïîëüçîâàòü íå ðåêîìåíäóåòñÿ.




                      Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
                        Ïîòî÷íûå øèôðû    Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
                         Áëî÷íûå øèôðû    Message Authenticity Codes
                           Õåø-ôóíêöèè


CBC


      CBC (cipher block chaining):       c0 := IV , cj := EK (xj ⊕ cj −1 ).
      ×òî òåïåðü?




                      Ñåðãåé Íèêîëåíêî    Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
                        Ïîòî÷íûå øèôðû   Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
                         Áëî÷íûå øèôðû   Message Authenticity Codes
                           Õåø-ôóíêöèè


CBC




      Èäåíòè÷íûå ñîîáùåíèÿ ïåðåõîäÿò â èäåíòè÷íûå êîäû,
      òîëüêî åñëè IV òîæå ñîâïàäàåò.
      Áëîê çàâèñèò îò ïðåäûäóùèõ, ïåðåñòàâëÿòü íåëüçÿ.
      Îøèáêà â áëîêå cj âûçûâàåò îøèáêó â xj +1 íà òîì æå
      ìåñòå, äàëüøå âñ¼ OK; íî xj òåðÿåòñÿ ïîëíîñòüþ.
      Ò.å. âðàã ìîæåò ïîäêîððåêòèðîâàòü xj +1 , íî òîëüêî öåíîé
      òîãî, ÷òî xj ïðåâðàòèòñÿ â ìóñîð.




                      Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
                        Ïîòî÷íûå øèôðû   Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
                         Áëî÷íûå øèôðû   Message Authenticity Codes
                           Õåø-ôóíêöèè


CFB




      CFB (cipher feedback): êîãäà íóæíî èíîãäà îòïðàâëÿòü
      ñîîáùåíèÿ ðàçìåðîì ìåíüøå áëîêà, ñêàæåì, r . Òîãäà:
          áåð¼ì I0 := IV ,
          ñ÷èòàåì êîä Oj := EK (Ij ),
          áåð¼ì tj êàê r êðàéíèõ ñëåâà áèòîâ Oj ,
          ïîäñ÷èòûâàåì cj := tj ⊕ xj ,
          ñäâèãàåì Ij +1 := 2r · Ij + cj mod 2n .



                      Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
                      Ïîòî÷íûå øèôðû   Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
                       Áëî÷íûå øèôðû   Message Authenticity Codes
                         Õåø-ôóíêöèè


CFB




                    Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
                        Ïîòî÷íûå øèôðû   Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
                         Áëî÷íûå øèôðû   Message Authenticity Codes
                           Õåø-ôóíêöèè


CFB




      Èäåíòè÷íûå ñîîáùåíèÿ ïåðåõîäÿò â èäåíòè÷íûå êîäû,
      òîëüêî åñëè IV òîæå ñîâïàäàåò.
      Áëîê çàâèñèò îò ïðåäûäóùèõ, ïåðåñòàâëÿòü íåëüçÿ. ×òîáû
      áëîê äåêîäèðîâàëñÿ ïðàâèëüíî, íàäî, ÷òîáû ïðåäûäóùèå
       n/r áûëè ïðàâèëüíûì.
      Îøèáêà â áëîêå cj âûçûâàåò îøèáêó â              n/r    ïîñëåäóþùèõ
      áëîêàõ.
      Êàæäûé çàïóñê      E   âûäà¼ò òîëüêî    r   áèòîâ, à íå n, êàê ìîã
      áû.



                      Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
                        Ïîòî÷íûå øèôðû   Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
                         Áëî÷íûå øèôðû   Message Authenticity Codes
                           Õåø-ôóíêöèè


OFB




      OFB (output feedback): êîãäà íåõîðîøî, ÷òîáû îøèáêà òàê
      äàëåêî ðàñïðîñòðàíÿëàñü. Òîãäà:
          áåð¼ì I0 := IV ,
          ñ÷èòàåì êîä Oj := EK (Ij ),
          áåð¼ì tj êàê r êðàéíèõ ñëåâà áèòîâ Oj ,
          ïîäñ÷èòûâàåì cj := tj ⊕ xj ,
          áåð¼ì ñëåäóþùèé Ij +1 := Oj .



                      Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
                      Ïîòî÷íûå øèôðû   Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
                       Áëî÷íûå øèôðû   Message Authenticity Codes
                         Õåø-ôóíêöèè


OFB




                    Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
                        Ïîòî÷íûå øèôðû   Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
                         Áëî÷íûå øèôðû   Message Authenticity Codes
                           Õåø-ôóíêöèè


OFB




      Èäåíòè÷íûå ñîîáùåíèÿ ïåðåõîäÿò â èäåíòè÷íûå êîäû,
      òîëüêî åñëè IV òîæå ñîâïàäàåò.
      Áëîê íå çàâèñèò îò ïðåäûäóùèõ. Ïîýòîìó, â ÷àñòíîñòè,
      íåëüçÿ èñïîëüçîâàòü òîò æå êëþ÷ ñ òåì æå IV äâà ðàçà.
      Îøèáêà â áëîêå cj ê äðóãèì îøèáêàì íå ïðèâîäèò, íî çàòî
      ïîòåðÿëàñü ñàìîñèíõðîíèçàöèÿ.
      Êàæäûé çàïóñê E âûäà¼ò òîëüêî r áèòîâ, à íå n, êàê ìîã
      áû; íî çàòî òåïåðü êîäîâûé ïîòîê ìîæíî âû÷èñëÿòü
      çàðàíåå.



                      Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
                      Ïîòî÷íûå øèôðû   Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
                       Áëî÷íûå øèôðû   Message Authenticity Codes
                         Õåø-ôóíêöèè


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




    Çàäà÷à: õîòèì äîáàâèòü ê ñîîáùåíèþ MAC (message
    authentication code) òàê, ÷òîáû íèêòî íå ñìîã èçìåíèòü
    ñîîáùåíèå, íå íàðóøèâ MAC (öåëîñòíîñòü).
    Ñäåëàòü èç áëî÷íîãî øèôðà MAC ëåãêî: áåð¼ì ïîñëåäíèé
    áëîê CBC-ðåæèìà.
    Áîëåå ñëîæíûé âîïðîñ  êàê ñäåëàòü òàê, ÷òîáû
    îäíîâðåìåííî è çàêîäèðîâàòü, è öåëîñòíîñòü îáåñïå÷èòü.




                    Ñåðãåé Íèêîëåíêî   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
                      Ïîòî÷íûå øèôðû   Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
                       Áëî÷íûå øèôðû   Message Authenticity Codes
                         Õåø-ôóíêöèè


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




    Åñëè çàêîäèðîâàòü è âçÿòü ïîñëåäíèé áëîê, ïîëó÷àåòñÿ
    áðåä  ïðîñòî áëîê äâà ðàçà ïîâòîðèëè.
    Åñëè âçÿòü ïîñëåäíèé áëîê, à ïîòîì çàêîäèðîâàòü  òîæå
    áðåä: ïîñëåäíèé áëîê áóäåò XOR'èòüñÿ ñ ñîáîé, è âìåñòî
    MAC â êîíöå ïîëó÷èòñÿ êîä íóëÿ.
    Ìîæíî ïîäñ÷èòàòü íåêðèïòîãðàôè÷åñêóþ CRC, äîïèñàòü â
    êîíöå è çàêîäèðîâàòü; ïî÷òè ðàáîòàåò, íî òîæå åñòü òîíêèå
    àòàêè.
     îáùåì  ñ÷èòàåòñÿ, ÷òî íàäî ïîëó÷àòü MAC èç äðóãîãî
    êëþ÷à, ÷òîáû âñ¼ áûëî íàä¼æíî.


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


Outline

  1   Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
        Ñóòü ïðîèñõîäÿùåãî
        Ïðîñòûå øèôðû
        Èç ÷åãî äåëàþò øèôðû
  2   Ïîòî÷íûå øèôðû
        Îáùèå çàìå÷àíèÿ
        Î õîðîøèõ è ïëîõèõ øèôðàõ
        LFSR è ëèíåéíàÿ ñëîæíîñòü
        Íåëèíåéíûå ðåãèñòðû ñäâèãà
  3   Áëî÷íûå øèôðû
        Ðàçíîâèäíîñòè áëî÷íûõ øèôðîâ
        Message Authenticity Codes
  4   Õåø-ôóíêöèè
        Îïðåäåëåíèÿ
        ×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé ñ çàêðûòûì êëþ÷îì
                    Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ
Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì
                       Ïîòî÷íûå øèôðû
                                        ×òî ìîæíî ñäåëàòü ñ õåø-ôóíêöèåé
                        Áëî÷íûå øèôðû
                          Õåø-ôóíêöèè


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




     Îêàçûâàåòñÿ, åñëè ó Àëèñû è Áîáà åñòü îáùèé ñåêðåò, îíè
     ìîãóò ìíîãî ÷åãî ñäåëàòü, íå èìåÿ àëãîðèòìîâ äëÿ
     êðèïòîãðàôèè ñ çàêðûòûì êëþ÷îì, à òîëüêî õåø-ôóíêöèè.
     Ôàêòè÷åñêè, ìîæíî ñäåëàòü âñ¼ òî æå ñàìîå, ÷òî ñ
     ñåêðåòíûì êëþ÷îì.




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


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




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




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


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




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




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


Ñîçäàíèå MAC


    Ìû óìååì ñîçäàâàòü MAC èç ñåêðåòíîãî êëþ÷à.
    Ìîæíî ñäåëàòü MAC èç õåøà  ýòî ïðîñòî                MD (m). Âåðíî?




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


Ñîçäàíèå MAC


    Ìû óìååì ñîçäàâàòü MAC èç ñåêðåòíîãî êëþ÷à.
    Ìîæíî ñäåëàòü MAC èç õåøà  ýòî ïðîñòî                MD (m). Âåðíî?
    Íåâåðíî; òàêîé MAC êòî óãîäíî ñãåíåðèðîâàòü ìîæåò.
    Ïîýòîìó ìû äåëàåì òî æå ñàìîå, ÷òî è âûøå, è
    äîïèñûâàåì
                     MAC = MD (m | KAB ).
    Òîãäà Áîá ìîæåò ïðîâåðèòü, à íèêòî äðóãîé íå ìîæåò.




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


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


     Êîäèðîâàòü ñ õåø-ôóíêöèåé ëþáîé ìîæåò. Âîò êàê
     äåêîäèðîâàòü - ýòî âîïðîñ... :)
     Íà ñàìîì äåëå èäåè ïðèìåðíî òå æå, ÷òî ó ñõåì áëî÷íîãî
     êîäèðîâàíèÿ.




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


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


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

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

     Àëèñà è Áîá ìîãóò ãåíåðèðîâàòü òàêóþ ñòðîêó çàðàíåå,
     ïîòîì ïðèìåíÿòü:
                           ci = mi ⊕ bi .




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


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


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




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


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


     Ïðîáëåìà: åñëè óãàäàòü ñîîáùåíèå, ìîæíî âû÷èñëèòü êîä
     è ïîòîì ïîäìåíèòü ñîîáùåíèå íà ÷òî óãîäíî.
     Êàê ïîìî÷ü ýòîé áåäå?
     Íàïðèìåð, òàê:

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

                                ãäå ci = mi ⊕ bi .
     Êàê òåïåðü ýòî äåêîäèðîâàòü?




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


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


     Ïðîáëåìà: åñëè óãàäàòü ñîîáùåíèå, ìîæíî âû÷èñëèòü êîä
     è ïîòîì ïîäìåíèòü ñîîáùåíèå íà ÷òî óãîäíî.
     Êàê ïîìî÷ü ýòîé áåäå?
     Íàïðèìåð, òàê:

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

                                ãäå ci = mi ⊕ bi .
     Êàê òåïåðü ýòî äåêîäèðîâàòü?
     Ëåãêî:   m1 = c1 ⊕ MD (KAB ), m2 = c2 ⊕ MD (KAB | c1 ), ...


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




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

   Lecture notes è ñëàéäû áóäóò ïîÿâëÿòüñÿ íà ìîåé
   homepage:
   http://logic.pdmi.ras.ru/∼sergey/
   Ïðèñûëàéòå ëþáûå çàìå÷àíèÿ, ðåøåíèÿ óïðàæíåíèé,
   íîâûå ÷èñëåííûå ïðèìåðû è ïðî÷åå ïî àäðåñàì:
   sergey@logic.pdmi.ras.ru, snikolenko@gmail.com
   Çàõîäèòå â ÆÆ          smartnik.




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

Contenu connexe

Tendances

20080316 machine learning_nikolenko_lecture03
20080316 machine learning_nikolenko_lecture0320080316 machine learning_nikolenko_lecture03
20080316 machine learning_nikolenko_lecture03Computer Science Club
 
8 rm s 2016
8 rm s 20168 rm s 2016
8 rm s 20168new
 
20080323 machine learning_nikolenko_lecture05
20080323 machine learning_nikolenko_lecture0520080323 machine learning_nikolenko_lecture05
20080323 machine learning_nikolenko_lecture05Computer Science Club
 
5 матем бабенко_пособ_2009_укр
5 матем бабенко_пособ_2009_укр5 матем бабенко_пособ_2009_укр
5 матем бабенко_пособ_2009_укрAira_Roo
 
Informatika rus
Informatika rusInformatika rus
Informatika rusliz_f
 
9 геом мерзляк_полонский_2009_рус
9 геом мерзляк_полонский_2009_рус9 геом мерзляк_полонский_2009_рус
9 геом мерзляк_полонский_2009_русAira_Roo
 
8 g i 2016
8 g i 20168 g i 2016
8 g i 20168new
 
Измерительные технологии для отопительных систем
Измерительные технологии для отопительных системИзмерительные технологии для отопительных систем
Измерительные технологии для отопительных системTesto Azerbaijan
 
9 алг мерзляк_полонский_2009_рус
9 алг мерзляк_полонский_2009_рус9 алг мерзляк_полонский_2009_рус
9 алг мерзляк_полонский_2009_русAira_Roo
 
8 l v_2016
8 l v_20168 l v_2016
8 l v_20168new
 
Фирменный стиль ТМ FOLA
Фирменный стиль ТМ FOLAФирменный стиль ТМ FOLA
Фирменный стиль ТМ FOLAguest7a9cf38
 
20091025 cryptoprotocols nikolenko_lecture06
20091025 cryptoprotocols nikolenko_lecture0620091025 cryptoprotocols nikolenko_lecture06
20091025 cryptoprotocols nikolenko_lecture06Computer Science Club
 

Tendances (14)

20080316 machine learning_nikolenko_lecture03
20080316 machine learning_nikolenko_lecture0320080316 machine learning_nikolenko_lecture03
20080316 machine learning_nikolenko_lecture03
 
8 rm s 2016
8 rm s 20168 rm s 2016
8 rm s 2016
 
20080323 machine learning_nikolenko_lecture05
20080323 machine learning_nikolenko_lecture0520080323 machine learning_nikolenko_lecture05
20080323 machine learning_nikolenko_lecture05
 
5 матем бабенко_пособ_2009_укр
5 матем бабенко_пособ_2009_укр5 матем бабенко_пособ_2009_укр
5 матем бабенко_пособ_2009_укр
 
Informatika rus
Informatika rusInformatika rus
Informatika rus
 
9 геом мерзляк_полонский_2009_рус
9 геом мерзляк_полонский_2009_рус9 геом мерзляк_полонский_2009_рус
9 геом мерзляк_полонский_2009_рус
 
8 g i 2016
8 g i 20168 g i 2016
8 g i 2016
 
Измерительные технологии для отопительных систем
Измерительные технологии для отопительных системИзмерительные технологии для отопительных систем
Измерительные технологии для отопительных систем
 
9 алг мерзляк_полонский_2009_рус
9 алг мерзляк_полонский_2009_рус9 алг мерзляк_полонский_2009_рус
9 алг мерзляк_полонский_2009_рус
 
2 2007new
2 2007new2 2007new
2 2007new
 
9
99
9
 
8 l v_2016
8 l v_20168 l v_2016
8 l v_2016
 
Фирменный стиль ТМ FOLA
Фирменный стиль ТМ FOLAФирменный стиль ТМ FOLA
Фирменный стиль ТМ FOLA
 
20091025 cryptoprotocols nikolenko_lecture06
20091025 cryptoprotocols nikolenko_lecture0620091025 cryptoprotocols nikolenko_lecture06
20091025 cryptoprotocols nikolenko_lecture06
 

En vedette

20101113 synchronizing automata_volkov_lecture02
20101113 synchronizing automata_volkov_lecture0220101113 synchronizing automata_volkov_lecture02
20101113 synchronizing automata_volkov_lecture02Computer Science Club
 
20110204 quantum algorithms_vyali_lecture02
20110204 quantum algorithms_vyali_lecture0220110204 quantum algorithms_vyali_lecture02
20110204 quantum algorithms_vyali_lecture02Computer Science Club
 
20100810 combinatorial optimization_stein_lecture1-2
20100810 combinatorial optimization_stein_lecture1-220100810 combinatorial optimization_stein_lecture1-2
20100810 combinatorial optimization_stein_lecture1-2Computer Science Club
 
20071021 verification konev_lecture06
20071021 verification konev_lecture0620071021 verification konev_lecture06
20071021 verification konev_lecture06Computer Science Club
 
20081005 auctions nikolenko_lecture02
20081005 auctions nikolenko_lecture0220081005 auctions nikolenko_lecture02
20081005 auctions nikolenko_lecture02Computer Science Club
 
20100919 computer vision_konushin_lecture03
20100919 computer vision_konushin_lecture0320100919 computer vision_konushin_lecture03
20100919 computer vision_konushin_lecture03Computer Science Club
 
20100528 distributedinformationretrieval crestani_lecture01-02
20100528 distributedinformationretrieval crestani_lecture01-0220100528 distributedinformationretrieval crestani_lecture01-02
20100528 distributedinformationretrieval crestani_lecture01-02Computer Science Club
 
20110220 computer vision_eruhimov_lecture01
20110220 computer vision_eruhimov_lecture0120110220 computer vision_eruhimov_lecture01
20110220 computer vision_eruhimov_lecture01Computer Science Club
 

En vedette (8)

20101113 synchronizing automata_volkov_lecture02
20101113 synchronizing automata_volkov_lecture0220101113 synchronizing automata_volkov_lecture02
20101113 synchronizing automata_volkov_lecture02
 
20110204 quantum algorithms_vyali_lecture02
20110204 quantum algorithms_vyali_lecture0220110204 quantum algorithms_vyali_lecture02
20110204 quantum algorithms_vyali_lecture02
 
20100810 combinatorial optimization_stein_lecture1-2
20100810 combinatorial optimization_stein_lecture1-220100810 combinatorial optimization_stein_lecture1-2
20100810 combinatorial optimization_stein_lecture1-2
 
20071021 verification konev_lecture06
20071021 verification konev_lecture0620071021 verification konev_lecture06
20071021 verification konev_lecture06
 
20081005 auctions nikolenko_lecture02
20081005 auctions nikolenko_lecture0220081005 auctions nikolenko_lecture02
20081005 auctions nikolenko_lecture02
 
20100919 computer vision_konushin_lecture03
20100919 computer vision_konushin_lecture0320100919 computer vision_konushin_lecture03
20100919 computer vision_konushin_lecture03
 
20100528 distributedinformationretrieval crestani_lecture01-02
20100528 distributedinformationretrieval crestani_lecture01-0220100528 distributedinformationretrieval crestani_lecture01-02
20100528 distributedinformationretrieval crestani_lecture01-02
 
20110220 computer vision_eruhimov_lecture01
20110220 computer vision_eruhimov_lecture0120110220 computer vision_eruhimov_lecture01
20110220 computer vision_eruhimov_lecture01
 

Plus de Computer Science Club

20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugsComputer Science Club
 
20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugsComputer Science Club
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugsComputer Science Club
 
20140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture1220140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture12Computer Science Club
 
20140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture1120140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture11Computer Science Club
 
20140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture1020140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture10Computer Science Club
 
20140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture0920140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture09Computer Science Club
 
20140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture0220140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture02Computer Science Club
 
20140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture0120140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture01Computer Science Club
 
20140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-0420140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-04Computer Science Club
 
20140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture0120140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture01Computer Science Club
 

Plus de Computer Science Club (20)

20141223 kuznetsov distributed
20141223 kuznetsov distributed20141223 kuznetsov distributed
20141223 kuznetsov distributed
 
Computer Vision
Computer VisionComputer Vision
Computer Vision
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
 
20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
 
20140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture1220140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture12
 
20140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture1120140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture11
 
20140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture1020140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture10
 
20140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture0920140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture09
 
20140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture0220140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture02
 
20140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture0120140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture01
 
20140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-0420140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-04
 
20140223-SuffixTrees-lecture01-03
20140223-SuffixTrees-lecture01-0320140223-SuffixTrees-lecture01-03
20140223-SuffixTrees-lecture01-03
 
20140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture0120140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture01
 
20131106 h10 lecture6_matiyasevich
20131106 h10 lecture6_matiyasevich20131106 h10 lecture6_matiyasevich
20131106 h10 lecture6_matiyasevich
 
20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich
 
20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich
 
20131013 h10 lecture4_matiyasevich
20131013 h10 lecture4_matiyasevich20131013 h10 lecture4_matiyasevich
20131013 h10 lecture4_matiyasevich
 
20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich
 
20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich
 

20090920 cryptoprotocols nikolenko_lecture02

  • 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. Ñåðãåé Íèêîëåíêî Êðèïòîãðàôèÿ ñ çàêðûòûì êëþ÷îì