Áëî÷íûå øèôðû, îñíîâàííûå íà îáîáùåííûõ êëåòî÷íûõ àâòîìàòàõ # 12, äåêàáðü 2012 DOI: 10.7463/0113.0517543 Êëþ÷àð¸â Ï. Ã. ÓÄÊ 519.713+004.056.55 Ðîññèÿ, ÌÃÒÓ èì. Í.Ý. Áàóìàíà pk.iu8@yandex.ru 1. Ââåäåíèå Îäíèì èç âàæíåéøèõ êëàññîâ êðèïòîãðàôè÷åñêèõ àëãîðèòìîâ ÿâëÿþòñÿ áëî÷íûå øèôðû.  íàñòîÿùåå âðåìÿ ñóùåñòâóåò áîëüøîå êîëè÷åñòâî ðàçíîîáðàçíûõ áëî÷íûõ øèôðîâ (îáçîð íàèáîëåå èçâåñòíûõ èç íèõ ìîæíî íàéòè, íàïðèìåð, â êíèãàõ [11, 16]), íî âñå âîçðàñòàþùèå òðåáîâàíèÿ, ïðåäúÿâëÿåìûå ê ïðîèçâîäèòåëüíîñòè, è íåîáõîäèìîñòü ðåàëèçàöèè â óñëîâèÿõ äåôèöèòà âû÷èñëèòåëüíûõ ðåñóðñîâ, ïðèâîäÿò ê íåîáõîäèìîñòè ðàçðàáîòêè íîâûõ, âûñîêîïðîèçâîäèòåëüíûõ, êðèïòîàëãîðèòìîâ.  ÷àñòíîñòè, èíòåðåñ ïðåäñòàâëÿåò ïîäõîä ê ñèíòåçó áëî÷íûõ øèôðîâ, îñíîâàííûé íà èñïîëüçîâàíèè îáîáùåííûõ êëåòî÷íûõ àâòîìàòîâ, ïîñêîëüêó îí ïîçâîëÿåò ïîñòðîèòü øèôðû, êîòîðûå ìîãóò áûòü ñ áîëüøîé ýôôåêòèâíîñòüþ ðåàëèçîâàíû àïïàðàòíî. Ïîäîáíûé ïîäõîä áûë âïåðâûå ïðåäëîæåí äëÿ ñîçäàíèÿ ïîòî÷íûõ øèôðîâ â ðàáîòàõ [7,8] è ðàçâèò àâòîðîì â ðàáîòàõ [1{4, 6].  ðàáîòå [5] àâòîðîì áûëî ïðåäëîæåíî ñåìåéñòâî ïñåâäîñëó÷àéíûõ ôóíêöèé, îñíîâàííûõ íà îáîáùåííûõ êëåòî÷íûõ àâòîìàòîâ. Òàêèå ôóíêöèè ìîãóò èñïîëüçîâàòüñÿ â êà÷åñòâå S-áëîêîâ, ïîäõîäÿùèõ äëÿ ïîñòðîåíèÿ áëî÷íûõ øèôðîâ. Äàííàÿ ðàáîòà ïîñâÿùåíà ìåòîäàì ïîñòðîåíèÿ áëî÷íûõ øèôðîâ, îñíîâàííûõ íà ýòèõ ôóíêöèÿõ. Ñóùåñòâóåò äâà îñíîâíûõ ìåòîäà ïîñòðîåíèÿ áëî÷íûõ øèôðîâ: SP-ñåòü è ñõåìà Ôåéñòåëÿ. http://technomag.edu.ru/doc/517543.html 361 Äëÿ èñïîëüçîâàíèÿ SP-ñåòè íåîáõîäèìà îáðàòèìîñòü S-áëîêîâ, îäíàêî ðàññìàòðèâàåìûå ïñåâäîñëó÷àéíûå ôóíêöèè îáðàòèìûìè íå ÿâëÿþòñÿ. Ïîýòîìó â äàííîé ðàáîòå èñïîëüçóåòñÿ ñõåìà Ôåéñòåëÿ. 2. Îñíîâíûå ïîíÿòèÿ  ýòîì ðàçäåëå ìû êðàòêî îïèøåì ìåòîäû ïîñòðîåíèÿ êëåòî÷íûõ àâòîìàòîâ,íà îñíîâå êîòîðûõ áóäóò ïîñòðîåíû S-áëîêè. Íàçîâåì îáîáùåííûì êëåòî÷íûì àâòîìàòîì îðèåíòèðîâàííûé ìóëüòèãðàô A = (V, E) (çäåñü V = {v1 , . . . , vN } | ìíîæåñòâî âåðøèí, E | ìóëüòèìíîæåñòâî ðåáåð). Ñ êàæäîé åãî âåðøèíîé vi àññîöèèðîâàíû: • áóëåâà ïåðåìåííàÿ mi , íàçûâàåìàÿ ÿ÷åéêîé; • áóëåâà ôóíêöèÿ fi (x1 , . . . , xdi ), íàçûâàåìàÿ ëîêàëüíîé ôóíêöèåé ñâÿçè i-é âåðøèíû. Ïðè ýòîì âõîäÿùèå â âåðøèíó vi ðåáðà ïðîíóìåðîâàíû ÷èñëàìè 1, . . . , di . Îïèøåì òåïåðü ðàáîòó îáîáùåííîãî êëåòî÷íîãî àâòîìàòà.  íà÷àëüíûé ìîìåíò âðåìåíè êàæäàÿ ÿ÷åéêà ïàìÿòè mi , i = 1, . . . , N , èìååò íåêîòîðîå íà÷àëüíîå çíà÷åíèå mi (0). Äàëåå àâòîìàò ðàáîòàåò ïî øàãàì. Íà øàãå ñ íîìåðîì t ñ ïîìîùüþ ëîêàëüíîé ôóíêöèè ñâÿçè âû÷èñëÿþòñÿ íîâûå çíà÷åíèÿ ÿ÷ååê: mi (t) = fi (mη(i,1) (t − 1), mη(i,2) (t − 1), . . . , mη(i,di ) (t − 1)), (1) ãäå η(i, j) | íîìåð âåðøèíû, èç êîòîðîé èñõîäèò ðåáðî, âõîäÿùåå â âåðøèíó i è èìåþùåå íîìåð j . Çàïîëíåíèåì êëåòî÷íîãî àâòîìàòà M (t) íà øàãå t áóäåì íàçûâàòü íàáîð çíà÷åíèé ÿ÷ååê (m1 (t), m2 (t), . . . , mN (t)). Ïåðèîäîì êëåòî÷íîãî àâòîìàòà áóäåì íàçûâàòü ïåðèîä ïîñëåäîâàòåëüíîñòè åãî çàïîëíåíèé. Íàçîâåì îäíîðîäíûì îáîáùåííûì êëåòî÷íûì àâòîìàòîì îáîáùåííûé êëåòî÷íûé àâòîìàò, ó êîòîðîãî ëîêàëüíàÿ ôóíêöèÿ ñâÿçè äëÿ âñåõ ÿ÷ååê îäèíàêîâà è ðàâíà f , ò.å. äëÿ ëþáîãî i ∈ {1, . . . , N } âûïîëíÿåòñÿ fi = f . Ñòåïåíè çàõîäà âåðøèí òàêîãî êëåòî÷íîãî àâòîìàòà, î÷åâèäíî, îäèíàêîâû: d1 = d2 = = . . . = dN = d. 10.7463/0113.0517543 362 Íàçîâåì îáîáùåííûé êëåòî÷íûé àâòîìàò íåîðèåíòèðîâàííûì, åñëè äëÿ ëþáîãî ðåáðà (u, v) â åãî ãðàôå ñóùåñòâóåò è ðåáðî (v, u). Ãðàô òàêîãî àâòîìàòà ìîæíî ðàññìàòðèâàòü êàê íåîðèåíòèðîâàííûé, åñëè çàìåíèòü êàæäóþ ïàðó ðåáåð (u, v) è (v, u) íà íåîðèåíòèðîâàííîå ðåáðî {u, v}. Îí ÿâëÿåòñÿ ðåãóëÿðíûì. Äàëåå ìû áóäåì èñïîëüçîâàòü òîëüêî íåîðèåíòèðîâàííûå îäíîðîäíûå îáîáùåííûå êëåòî÷íûå àâòîìàòû, äëÿ êðàòêîñòè íàçûâàÿ èõ ïðîñòî îáîáùåííûìè êëåòî÷íûìè àâòîìàòàìè. Íåêîòîðûé íàáîð ÿ÷ååê êëåòî÷íîãî àâòîìàòà áóäåì íàçûâàòü âûõîäîì. Âûõîäíîé ïîñëåäîâàòåëüíîñòüþ êëåòî÷íîãî àâòîìàòà A íàçîâåì ôóíêöèþ FA : N → B N , àðãóìåíòàìè êîòîðîé ÿâëÿåòñÿ íà÷àëüíîå çàïîëíåíèå è íîìåð øàãà, à çíà÷åíèåì | çíà÷åíèå âûõîäà íà ýòîì øàãå. Áîëüøîå çíà÷åíèå èìååò âûáîð ãðàôà îáîáùåííîãî êëåòî÷íîãî àâòîìàòà.  ðàáîòå [5] ïîêàçàíî, ÷òî â êà÷åñòâå ãðàôà êëåòî÷íîãî àâòîìàòà, ïðèìåíÿåìîãî äëÿ êðèïòîãðàôè÷åñêèõ öåëåé, õîðîøî ïîäõîäÿò ãðàôû Ðàìàíóäæàíà [9,10,13]. Ðàññìîòðèì îòñîðòèðîâàííûé ïî óáûâàíèþ ñïåêòð ãðàôà (ò.å. ñîáñòâåííûå ÷èñëà åãî ìàòðèöû ñìåæíîñòè): λ1 ≥ λ2 ≥ · · · ≥ λn . Ãðàôîì Ðàìàíóäæàíà íàçûâàåòñÿ ãðàô, äëÿ êîòîðîãî ñïðàâåäëèâî íåðàâåíñòâî √ λ2 ≤ 2 d − 1, (2) ãäå d | ñòåïåíü ãðàôà. Ïî-âèäèìîìó, íàèáîëåå ïîäõîäÿùèì ñåìåéñòâîì ãðàôîâ Ðàìàíóäæàíà, ÿâëÿåòñÿ òàê íàçûâàåìîå ñåìåéñòâî ãðàôîâ Ëþáîöêîãî | Ôèëèïñà | Ñàðíàêà Y p,q [12, 13, 15]. Ïîñòðîåíèå òàêèõ ãðàôîâ ïðîèçâîäèòñÿ ñëåäóþùèì îáðàçîì. Âûáåðåì ïðîñòûå ÷èñëà p è q , äëÿ êîòîðûõ âûïîëíÿþòñÿ óñëîâèÿ p = 1(mod 4); q = 1(mod 4); p 6= q; p = 1, q ãäå p q | ñèìâîë Ëåæàíäðà. http://technomag.edu.ru/doc/517543.html 363 Ïîñòðîèì íåîðèåíòèðîâàííûé ìóëüòèãðàô G = (V, E). Ìíîæåñòâîì âåðøèí ìóëüòèãðàôà V ÿâëÿåòñÿ ïðîåêòèâíàÿ ïðÿìàÿ íàä êîíå÷íûì ïîëåì Fq , äðóãèìè ñëîâàìè, V = Fq ∪ {∞}. Ìóëüòèìíîæåñòâî ðåáåð E ñîñòîèò èç âñåõ ïàð (u, v), äëÿ êîòîðûõ v= (a0 + ia1 )u + (a2 + ia3 ) , (a2 − ia3 )u 6= a0 − ia1 è u 6= ∞; (−a + ia )u + (a − ia ) 2 3 0 1 ∞, (a2 − ia3 )u = a0 − ia1 è u 6= ∞; a0 + ia1 , −a2 + ia3 a2 6= ia3 è u = ∞; ∞, a2 = ia3 è u = ∞, (3) äëÿ âñåõ ÷åòâåðîê a0 , a1 , a2 , a3 ∈ Z, òàêèõ, ÷òî: 1) a0 íå÷åòíîå ïîëîæèòåëüíîå; 2) a1 , a2 , a3 ÷åòíûå; 3) âûïîëíÿåòñÿ óñëîâèå a20 + a21 + a22 + a23 = p. (4) Ïðè ýòîì i ∈ Fq òàêîâî, ÷òî i2 +1 = 0. Ñòåïåíüþ ãðàôà ÿâëÿåòñÿ êîëè÷åñòâî ðåøåíèé óðàâíåíèÿ (4), ðàâíîå p + 1.  ïîñòðîåííîì òàêèì îáðàçîì ãðàôå ñóùåñòâóþò êðàòíûå ðåáðà è ïåòëè. Êàê ïîêàçàëè ñòàòèñòè÷åñêèå òåñòû, ýòî óõóäøàåò ïîêàçàòåëè ëàâèííîãî ýôôåêòà. Ïîýòîìó íåîáõîäèìî èçáàâèòüñÿ îò êðàòíûõ ðåáåð è ïåòåëü, ïðè÷åì òàê, ÷òîáû ãðàô îñòàëñÿ ðåãóëÿðíûì. Àëãîðèòìû äëÿ ýòîãî îïèñàíû â ðàáîòå [5]. Âàæíûì ÿâëÿåòñÿ ïðàâèëüíûé âûáîð ëîêàëüíîé ôóíêöèè ñâÿçè îáîáùåííîãî êëåòî÷íîãî àâòîìàòà. Òðåáîâàíèÿ ê òàêîé ôóíêöèè ñôîðìóëèðîâàíû àâòîðîì â ðàáîòå [5]. Ìû áóäåì èñïîëüçîâàòü ôóíêöèè èç ñåìåéñòâà, ïîñòðîåííîãî àâòîðîì â ðàáîòå [4]. Òàê, â ñëó÷àå íå÷åòíîãî ÷èñëà ïåðåìåííûõ èñïîëüçóåòñÿ ôóíêöèÿ: g1 (u, x1 , y1 , . . . , xk , yk ) = k M xi yi ⊕ s1 (x1 , . . . , xk ) ⊕ u, i=1 10.7463/0113.0517543 364 ãäå s1 (x1 , . . . , xk ) | ïðîèçâîëüíàÿ áóëåâà ôóíêöèÿ, ïðè÷åì k + t1 = 1(mod 2), ãäå t1 | ÷èñëî íåíóëåâûõ êîýôôèöèåíòîâ â àëãåáðàè÷åñêîé íîðìàëüíîé ôîðìå ôóíêöèè s1 è ïðè ýòîì ñâîáîäíûé ÷ëåí ðàâåí 1.  ñëó÷àå ÷åòíîãî ÷èñëà ïåðåìåííûõ èñïîëüçóåòñÿ ôóíêöèÿ g2 (v, u, x1 , y1 , . . . , xk , yk ) = = (1 ⊕ v)(β1 (x1 , y1 , . . . , xk , yk ) ⊕ u) ⊕ v(β3 (x1 , y1 , . . . , xk , yk ) ⊕ u) = = k M xi yi ⊕ s1 (x1 , . . . , xk ) ⊕ v(s1 (x1 , . . . , xk ) ⊕ s3 (x1 , . . . , xk )) ⊕ u, i=1 ãäå s1 (x1 , . . . , xk ) è s3 (x1 , . . . , xk ) | ïðîèçâîëüíûå áóëåâû ôóíêöèè, ïðè÷åì k + t3 = 1(mod 2), ãäå t3 | ÷èñëî íåíóëåâûõ êîýôôèöèåíòîâ â àëãåáðàè÷åñêîé íîðìàëüíîé ôîðìå ôóíêöèè s3 è, ïðè ýòîì, ñâîáîäíûé ÷ëåí ÀÍÔ ôóíêöèè s1 ðàâåí 1. Ïðèìåðîì òàêîé ôóíêöèè ìîæåò ñëóæèòü: f (x1 , x2 , x3 , x4 , x5 , x6 ) = x1 x3 x5 ⊕ x3 x4 ⊕ x5 x6 ⊕ x3 x5 ⊕ x1 x5 ⊕ x1 ⊕ x2 ⊕ 1. (5) 3. Êîíñòðóêöèÿ áëî÷íîãî øèôðà  ýòîì ðàçäåëå ïðåäëàãàåòñÿ ìåòîä ïîñòðîåíèÿ áëî÷íûõ øèôðîâ, ÿâëÿþùèéñÿ îñíîâíûì ðåçóëüòàòîì íàñòîÿùåé ðàáîòû.  ðàáîòå [5] àâòîðîì ïðåäëîæåí ñïîñîá ïîñòðîåíèÿ ïñåâäîñëó÷àéíûõ ôóíêöèé âèäà Sc : B k × B n → B m . Òàêèå ôóíêöèè îñíîâàíû íà îáîáùåííûõ êëåòî÷íûõ àâòîìàòàõ è çàäàþòñÿ âûðàæåíèåì ScA (key, x) = prm (FA (x k key k c, r)), ãäå x k y | êîíêàòåíàöèÿ x è y ; r | ÷èñëî øàãîâ êëåòî÷íîãî àâòîìàòà; prm : B ∗ → B m | ôóíêöèÿ, âîçâðàùàþùàÿ ìëàäøèå m ýëåìåíòîâ àðãóìåíòà; A | îáîáùåííûé êëåòî÷íûé àâòîìàò; c ∈ B t | íåêîòîðàÿ êîíñòàíòà, äëÿ âåñà êîòîðîé ñïðàâåäëèâî: t , t ÷åòíîå; 2 |c| = t+1 , t íå÷åòíîå. 2 http://technomag.edu.ru/doc/517543.html 365 Êîíñòàíòà c ïðåäíàçíà÷åíà äëÿ îáåñïå÷åíèÿ îòñóòñòâèÿ íåïîäâèæíûõ òî÷åê, à òàêæå äëÿ óëó÷øåíèÿ ëàâèííîãî ýôôåêòà. ×èñëî øàãîâ êëåòî÷íîãî àâòîìàòà r è ÷èñëî ñêðûòûõ âåðøèí t âûáèðàþòñÿ òàê, ÷òîáû ôóíêöèþ íåëüçÿ áûëî îòëè÷èòü îò ñëó÷àéíîé ïðè ïîìîùè ñòàòèñòè÷åñêèõ òåñòîâ. Íàïðèìåð, ìîæíî ðåêîìåíäîâàòü, ÷òîáû âûïîëíÿëîñü: t > 0.4(k + n). Àâòîðîì îáîñíîâàíî è ïîäòâåðæäåíî ýêñïåðèìåíòàëüíî [5], ÷òî òàêèå ôóíêöèè íåîòëè÷èìû îò ñëó÷àéíûõ ïðè ïðàâèëüíîì âûáîðå ïàðàìåòðîâ. Êàê áûëî óêàçàíî âûøå, â êà÷åñòâå ñòðóêòóðû øèôðîâ èñïîëüçóåòñÿ ñõåìà Ôåéñòåëÿ. Çàìåòèì, ÷òî, íåñìîòðÿ íà ñóùåñòâîâàíèå ðàçëè÷íûõ åå âàðèàíòîâ è îáîáùåíèé, îïòèìàëüíûì ÿâëÿåòñÿ èñïîëüçîâàíèå êëàññè÷åñêîé ñõåìû Ôåéñòåëÿ. Òàêîå óòâåðæäåíèå ìîæíî ñäåëàòü, ïîñêîëüêó ÷èñëî øàãîâ êëåòî÷íîãî àâòîìàòà, íåîáõîäèìîå äëÿ òîãî, ÷òîáû ðåàëèçóåìàÿ èì ôóíêöèÿ áûëà ïñåâäîñëó÷àéíîé, ïðîïîðöèîíàëüíà äèàìåòðó åãî ãðàôà, êîòîðûé äëÿ ãðàôîâ Ðàìàíóäæàíà ðàñòåò êàê ëîãàðèôì ÷èñëà âåðøèí. Ñëåäîâàòåëüíî, áîëüøèé ðàçìåð êëåòî÷íîãî àâòîìàòà ïðèâîäèò ê óâåëè÷åíèþ ïðîèçâîäèòåëüíîñòè. Ìû áóäåì èñïîëüçîâàòü âàðèàíò êëàññè÷åñêîé ñõåìû Ôåéñòåëÿ, â êîòîðîì ñìåøèâàíèÿ äàííûõ ñ ðàóíäîâûì êëþ÷îì îñóùåñòâëÿåòñÿ ñ ïîìîùüþ S-áëîêà. Âîñïîëüçóåìñÿ òåì, ÷òî, êàê ïîêàçàíî â ðàáîòå [14], èç ïñåâäîñëó÷àéíîé ôóíêöèè ìîæíî ïîñòðîèòü áëî÷íûé øèôð ñ ïîìîùüþ ñõåìû Ôåéñòåëÿ, ïðè÷åì äëÿ òîãî, ÷òîáû ýòîò øèôð ÿâëÿëñÿ ïñåâäîñëó÷àéíîé ïîäñòàíîâêîé, äîñòàòî÷íî òðåõ ðàóíäîâ. Èòàê, äëÿ ïîñòðîåíèÿ áëî÷íîãî øèôðà îïðåäåëèì ñëåäóþùåå ðàóíäîâîå ïðåîáðàçîâàíèå: Li = Ri−1 , Ri = Li−1 ⊕ ScAi (keyi , Ri−1 ), ãäå i | íîìåð ðàóíäà; L0 | ëåâàÿ ïîëîâèíà áëîêà îòêðûòîãî òåêñòà; R0 | ïðàâàÿ ïîëîâèíà áëîêà îòêðûòîãî òåêñòà; Li | ëåâàÿ ïîëîâèíà áëîêà ïîñëå i-ãî ðàóíäà; Ri | ïðàâàÿ ïîëîâèíà áëîêà ïîñëå i-ãî ðàóíäà; keyi | ðàóíäîâûé êëþ÷; ci | êîíñòàíòà. Ïðè ðàñøèôðîâàíèè âûïîëíÿåòñÿ ïðåîáðàçîâàíèå, îáðàòíîå äàííîìó. 10.7463/0113.0517543 366 Äëÿ òîãî ÷òîáû êàæäîå ðàóíäîâîå ïðåîáðàçîâàíèå áûëî ðàçëè÷íûì, êîíñòàíòû ci äîëæíû ïîïàðíî ðàçëè÷àòüñÿ. Ïðè ýòîì, ÷òîáû îòëè÷èÿ ìåæäó ðàóíäàìè ïðîÿâëÿëèñü êàê ìîæíî áûñòðåå, ðàññòîÿíèå Õåììèíãà ìåæäó êàæäîé ïàðîé êîíñòàíò äîëæíî áûòü áëèçêî ê ïîëîâèíå äëèíû êîíñòàíòû. Êàê îáû÷íî, àëãîðèòì øèôðîâàíèÿ ñîñòîèò èç íåñêîëüêèõ ðàóíäîâ. Âûøå óêàçûâàëîñü, ÷òî ÷èñëî ðàóíäîâ äîëæíî áûòü íå ìåíüøå òðåõ. Èç ñîîáðàæåíèé óäîáñòâà ìîæíî ðåêîìåíäîâàòü ÷åòíîå ÷èñëî ðàóíäîâ. Ñòàòèñòè÷åñêèå òåñòû ïîêàçàëè, ÷òî ïðè ÷åòûðåõ ðàóíäàõ ïîäñòàíîâêà, ðåàëèçóåìàÿ øèôðîì, íåîòëè÷èìà îò ñëó÷àéíîé. Ïðîöåäóðà ðàñïðåäåëåíèÿ êëþ÷åé èñïîëüçîâàëàñü ïðîñòàÿ | êëþ÷ ðàçáèâàëñÿ íà äâå ðàâíûå ÷àñòè: key = (key1 , key2 ). Òàêèì îáðàçîì, îïðåäåëÿþòñÿ êëþ÷è ïåðâûõ äâóõ ðàóíäîâ. Ðàóíäîâûå êëþ÷è äâóõ îñòàâøèõñÿ ðàóíäîâ îïðåäåëÿþòñÿ ñëåäóþùèì îáðàçîì: key3 = rol(key1 , m/2), key4 = rol(key2 , m/2), ãäå rol | ôóíêöèÿ, îñóùåñòâëÿþùàÿ öèêëè÷åñêèé ñäâèã ïåðâîãî îïåðàíäà âëåâî, íà êîëè÷åñòâî ðàçðÿäîâ, ðàâíîå âòîðîìó îïåðàíäó; m | äëèíà ïîäêëþ÷à, ðàâíàÿ ïîëîâèíå äëèíû êëþ÷à. 4. Ñòàòèñòè÷åñêîå òåñòèðîâàíèå Ñòàòèñòè÷åñêîå òåñòèðîâàíèå ïðîâîäèëîñü ñ ïîìîùüþ íàáîðà ñòàòèñòè÷åñêèõ òåñòîâ NIST Statistical Test Suite [17,19]. Ïðè ýòîì èñïîëüçóåòñÿ ìåòîäèêà, ïðèâåäåííàÿ â [18] è âêëþ÷àþùàÿ â ñåáÿ òåñòèðîâàíèå ëàâèííîãî ýôôåêòà ïî êëþ÷ó è ïî îòêðûòîìó òåêñòó, êîððåëÿöèè âõîäà ñ âûõîäîì è äð. Ýòà ìåòîäèêà ïðèìåíÿëàñü NIST äëÿ òåñòèðîâàíèÿ êðèïòîàëãîðèòìîâ, ïðåäñòàâëåííûõ íà êîíêóðñ AES. Òåñòû áûëè ïðîâåäåíû äëÿ øèôðîâ, ïàðàìåòðû êîòîðûõ ïðèâåäåíû â òàáë. 1 (âî âñåõ ñëó÷àÿõ èñïîëüçîâàëàñü ëîêàëüíàÿ ôóíêöèÿ ñâÿçè, çàäàííàÿ ôîðìóëîé 5). Òàáëèöà 1 Ïðîòåñòèðîâàííûå øèôðû Äëèíà êëþ÷à Äëèíà áëîêà ×èñëî âåðøèí Ñòåïåíü ãðàôà ×èñëî øàãîâ (òåîð.) ×èñëî øàãîâ (ýêñïåð.) 1 128 128 182 6 6 6 2 256 128 282 6 7 7 http://technomag.edu.ru/doc/517543.html 367 Âñåìè âàðèàíòàìè øèôðà èç òàáëèöû 1 áûëè ïðîéäåíû âñå ñòàòèñòè÷åñêèå òåñòû. ×èñëî øàãîâ êëåòî÷íûõ àâòîìàòîâ, íà÷èíàÿ ñ êîòîðîãî âñå òåñòû áûëè ïðîéäåíû ïðèâåäåíî â ñòîëáöå <×èñëî øàãîâ (ýêñïåð.)>. ×èñëî øàãîâ, äëÿ êîòîðîãî èñïîëüçóåìûå S-áëîêè íåîòëè÷èìû îò ïñåâäîñëó÷àéíûõ ôóíêöèé, ñîãëàñíî ðàáîòå [5], ïðèâåäåíî â ñòîëáöå <×èñëî øàãîâ (òåîð.)>. Ïðîâåäåííûå òåñòû ïîäòâåðæäàþò õîðîøèå ñòàòèñòè÷åñêèå ñâîéñòâà ïîñòðîåííûõ êðèïòîãðàôè÷åñêèõ àëãîðèòìîâ. 5. Ñòîéêîñòü ïî îòíîøåíèþ ê îñíîâíûì ìåòîäàì êðèïòîàíàëèçà Ó÷èòûâàÿ òî, ÷òî S-áëîêè íåîòëè÷èìû îò ñëó÷àéíûõ ôóíêöèé, à òàêæå òî, ÷òî ëîêàëüíàÿ ôóíêöèÿ ñâÿçè êëåòî÷íîãî àâòîìàòà ÿâëÿåòñÿ íåëèíåéíîé è øåôôåðîâîé [4], ìîæíî óòâåðæäàòü, ÷òî êàæäûé ðàçðÿä âûõîäà S-áëîêà ñëîæíûì îáðàçîì íåëèíåéíî çàâèñèò îò âñåõ âõîäîâ S-áëîêà (ò.å. îò ñîîòâåòñòâóþùåé ïîëîâèíû áëîêà è ðàóíäîâîãî ïîäêëþ÷à).  ðàáîòå [6] ïîêàçàíî, ÷òî â îáùåì ñëó÷àå, çàäà÷à î âîññòàíîâëåíèè ïðåäûäóùåãî ñîñòîÿíèÿ îáîáùåííîãî êëåòî÷íîãî àâòîìàòà ÿâëÿåòñÿ NP-ïîëíîé. Ýòî îáñòîÿòåëüñòâî ÿâëÿåòñÿ àðãóìåíòîì â ïîëüçó êðèïòîñòîéêîñòè ðàññìàòðèâàåìîãî ñåìåéñòâî øèôðîâ. Ñòîéêîñòü ê ðàçíîñòíîìó êðèïòîàíàëèçó îáóñëîâëåíà òåì, ÷òî S-áëîêè èìåþò î÷åíü áîëüøîé ðàçìåð (íàïðèìåð, 128 × 64, â ñëó÷àå, åñëè äëèíà êëþ÷à ðàâíà 128), ÷òî íå ïîçâîëÿåò ïîñòðîèòü ðàçíîñòíûå õàðàêòåðèñòèêè. Ñòîéêîñòü ê ëèíåéíîìó êðèïòîàíàëèçó îáóñëîâëåíà âûñîêîé íåëèíåéíîñòüþ S-áëîêîâ, êîòîðàÿ äîñòèãàåòñÿ òåì, ÷òî ëîêàëüíàÿ ôóíêöèÿ ñâÿçè êëåòî÷íûõ àâòîìàòîâ èìååò ìàêñèìàëüíóþ íåëèíåéíîñòü äëÿ ðàâíîâåñíîé ôóíêöèè. Êðîìå òîãî, ýòó ôóíêöèþ âåñüìà çàòðóäíèòåëüíî îïèñàòü ÿâíî, ââèäó êðàéíåé ãðîìîçäêîñòè ôîðìóëû, à åå òàáëèöà èñòèííîñòè èìååò î÷åíü áîëüøîé ðàçìåð. Âñå ýòî íå ïîçâîëÿåò èñïîëüçîâàòü ñóùåñòâóþùèå ìåòîäèêè ïðèìåíåíèÿ ëèíåéíîãî êðèïòîàíàëèçà. Òàêèì îáðàçîì, øèôðû, ñèíòåçèðîâàííûå ïîñðåäñòâîì ïðåäëîæåííîãî ìåòîäà, îáëàäàþò ñòîéêîñòüþ ïî îòíîøåíèþ ê îñíîâíûì ìåòîäàì êðèïòîàíàëèçà. 10.7463/0113.0517543 368 6. Çàêëþ÷åíèå Òàêèì îáðàçîì, â ñòàòüå ðàçðàáîòàí íîâûé ìåòîä ïîñòðîåíèÿ áëî÷íûõ øèôðîâ, îñíîâàííûé íà èñïîëüçîâàíèè îáîáùåííûõ êëåòî÷íûõ àâòîìàòîâ. Ðàáîòà âûïîëíåíà ïðè ôèíàíñîâîé ïîääåðæêå ÐÔÔÈ (ãðàíò ¹ 12-07-31012). Ñïèñîê ëèòåðàòóðû 1. Êëþ÷àð¸â Ï.Ã. Êëåòî÷íûå àâòîìàòû, îñíîâàííûå íà ãðàôàõ Ðàìàíóäæàíà, â çàäà÷àõ ãåíåðàöèè ïñåâäîñëó÷àéíûõ ïîñëåäîâàòåëüíîñòåé // Íàóêà è îáðàçîâàíèå. ÌÃÒÓ èì. Í.Ý. Áàóìàíà. Ýëåêòðîí. æóðí. 2011. ¹ 10. Ðåæèì äîñòóïà: http://technomag.edu.ru/doc/241308.html (äàòà îáðàùåíèÿ 19.12.2012). 2. Êëþ÷àð¸â Ï.Ã. Î âû÷èñëèòåëüíîé ñëîæíîñòè íåêîòîðûõ çàäà÷ íà îáîáùåííûõ êëåòî÷íûõ àâòîìàòàõ // Áåçîïàñíîñòü èíôîðìàöèîííûõ òåõíîëîãèé. 2012. ¹ 1. Ðåæèì äîñòóïà: http://www.pvti.ru/data/file/bit/2012 1/part 4.pdf (äàòà îáðàùåíèÿ 19.12.2012). 3. Êëþ÷àð¸â Ï.Ã. Î ïåðèîäå îáîáùåííûõ êëåòî÷íûõ àâòîìàòîâ // Íàóêà è îáðàçîâàíèå. ÌÃÒÓ èì. Í.Ý. Áàóìàíà. Ýëåêòðîí. æóðí. 2012. ¹ 2. Ðåæèì äîñòóïà: http://technomag.edu.ru/doc/340943.html (äàòà îáðàùåíèÿ 19.12.2012). 4. Êëþ÷àð¸â Ï.Ã. Îáåñïå÷åíèå êðèïòîãðàôè÷åñêèõ ñâîéñòâ îáîáùåííûõ êëåòî÷íûõ àâòîìàòîâ // Íàóêà è îáðàçîâàíèå. ÌÃÒÓ èì. Í.Ý. Áàóìàíà. Ýëåêòðîí. æóðí. 2012. ¹ 3. Ðåæèì äîñòóïà: http://technomag.edu.ru/doc/ 358973.html (äàòà îáðàùåíèÿ 19.12.2012). 5. Êëþ÷àð¸â Ï. Ã. Ïîñòðîåíèå ïñåâäîñëó÷àéíûõ ôóíêöèé íà îñíîâå îáîáùåííûõ êëåòî÷íûõ àâòîìàòîâ // Íàóêà è îáðàçîâàíèå. ÌÃÒÓ èì. Í.Ý. Áàóìàíà. Ýëåêòðîí. æóðí. 2012. ¹ 10. DOI: 10.7463/1112.0496381. 6. Êëþ÷àð¸â Ï.Ã. NP-òðóäíîñòü çàäà÷è î âîññòàíîâëåíèè ïðåäûäóùåãî ñîñòîÿíèÿ îáîáùåííîãî êëåòî÷íîãî àâòîìàòà // Íàóêà è îáðàçîâàíèå. ÌÃÒÓ èì. Í.Ý. Áàóìàíà. Ýëåêòðîí. æóðí. 2012. ¹ 1. Ðåæèì äîñòóïà: http:// technomag.edu.ru/doc/312834.html (äàòà îáðàùåíèÿ 19.12.2012). http://technomag.edu.ru/doc/517543.html 369 7. Ñóõèíèí Á.Ì. Âûñîêîñêîðîñòíûå ãåíåðàòîðû ïñåâäîñëó÷àéíûõ ïîñëåäîâàòåëüíîñòåé íà îñíîâå êëåòî÷íûõ àâòîìàòîâ // Ïðèêëàäíàÿ äèñêðåòíàÿ ìàòåìàòèêà. 2010. ¹ 2. Ñ. 34{41. 8. Ñóõèíèí Á.Ì. Î íåêîòîðûõ ñâîéñòâàõ êëåòî÷íûõ àâòîìàòîâ è èõ ïðèìåíåíèè â ñòðóêòóðå ãåíåðàòîðîâ ïñåâäîñëó÷àéíûõ ïîñëåäîâàòåëüíîñòåé // Âåñòíèê ÌÃÒÓ èì. Í.Ý. Áàóìàíà. Ñåðèÿ: Ïðèáîðîñòðîåíèå. 2011. ¹ 2. Ñ. 68{76. 9. Davidoff G., Sarnak P., Valette A. Elementary number theory, group theory and Ramanujan graphs. Cambridge University Press, 2003. 144 p. (London Mathematical Society Student Texts, vol. 55.) 10. Hoory S., Linial N., Wigderson A. Expander graphs and their applications // Bulletin of the American Mathematical Society. 2006. Vol. 43, no. 4. P. 439{562. 11. Knudsen L., Robshaw M. The block cipher companion. Springer, 2011. 12. Lubotzky A., Phillips R., Sarnak P. Explicit expanders and the ramanujan conjectures // STOC '86 Proceedings of the eighteenth annual ACM symposium on Theory of computing. New York, NY: ACM, 1986. P. 240-246. DOI: 10.1145/12130.12154. 13. Lubotzky A., Phillips R., Sarnak P. Ramanujan graphs // Combinatorica. 1988. Vol. 8, no. 3. P. 261{277. 14. Luby M., Rackoff C. How to construct pseudorandom permutations from pseudorandom functions // SIAM Journal on Computing. 1988. Vol. 17, no. 2. P. 373{386. 15. Sarnak P. Some applications of modular forms. Cambridge University Press, 1990. (Cambridge Tracts in Mathematics, vol. 99.) 16. Schneier B., Sutherland P. Applied cryptography: protocols, algorithms, and source code in C. John Wiley & Sons, Inc., 1995. 17. Soto J. Statistical testing of random number generators // Proceedings of the 22nd National Information Systems Security Conference / NIST Gaithersburg, MD. 1999. Vol. 10. P. 12. 10.7463/0113.0517543 370 18. Soto J., Bassham L. Randomness testing of the advanced encryption standard finalist candidates: Rep. / DTIC Document, 2000. 19. Rukhin A., Soto J., Nechvatal J., et al. A statistical test suite for random and pseudorandom number generators for cryptographic applications: Rep. DTIC Document, 2001. http://technomag.edu.ru/doc/517543.html 371 Block ciphers based on generalized cellular automata # 12, December 2012 DOI: 10.7463/0113.0517543 Klyucharev P. G. Russia, Bauman Moscow State Technical University pk.iu8@yandex.ru In the paper we present a method of constructing block ciphers, based on the generalized cellular automata. We use the Feistel network as the structure of the ciphers. The round function construction is based on generalized cellular automata which graph is a Ramanujan graph. Statistical properties of the ciphers were studied by means the NIST Statistical Test Suit. We got an empirical evidence that the ciphers have all necessary statistical properties and indistinguishable from pseudorandom permutations. There are a number of practical applications in the field of information security where ciphers constructed by means the method developed can be used. References 1. Kliucharev P.G. Kletochnye avtomaty, osnovannye na grafakh Ramanudzhana, v zadachakh generatsii psevdosluchainykh posledovatel'nostei [Cellular automations based on Ramanujan graphs in the field of the generation of pseudorandom sequences]. Nauka i obrazovanie MGTU im. N.E. Baumana [Science and Education of the Bauman MSTU], 2011, no. 10. Available at: http://technomag.edu.ru/doc/241308.html, accessed 19.12.2012. 2. O vychislitel'noi slozhnosti nekotorykh zadach na obobshchennykh kletochnykh avtomatakh [On the computational complexity of some problems on generalized cellular automata]. Bezopasnost' informatsionnykh tekhnologii [Security of information technologies], 2012, no. 1. Available at: http://www.pvti.ru/data/file/bit/2012 1/part 4.pdf, accessed 19.12.2012. 10.7463/0113.0517543 372 3. Kliucharev P.G. O periode obobshchennykh kletochnykh avtomatov [About the period of generalized cellular automatons]. Nauka i obrazovanie MGTU im. N.E. Baumana [Science and Education of the Bauman MSTU], 2012, no. 2. Available at: http://technomag.edu.ru/doc/340943.html, accessed 19.12.2012. 4. Kliucharev P.G. Obespechenie kriptograficheskikh svoistv obobshchennykh kletochnykh avtomatov [On cryptographic properties of generalized cellular automatons]. Nauka i obrazovanie MGTU im. N.E. Baumana [Science and Education of the Bauman MSTU], 2012, no. 3. Available at: http://technomag.edu.ru/doc/358973.html, accessed 19.12.2012. 5. Kliucharev P.G. Postroenie psevdosluchainykh funktsii na osnove obobshchennykh kletochnykh avtomatov [Construction of pseudorandom functions based on generalized cellular automata]. Nauka i obrazovanie MGTU im. N.E. Baumana [Science and Education of the Bauman MSTU], 2012, no. 10. DOI: 10.7463/1112.0496381. 6. Kliucharev P.G. NP-trudnost' zadachi o vosstanovlenii predydushchego sostoianiia obobshchennogo kletochnogo avtomata [NP-hard of step backward problem in generalized cellular automaton]. Nauka i obrazovanie MGTU im. N.E. Baumana [Science and Education of the Bauman MSTU], 2012, no. 1. Available at: http://technomag.edu.ru/doc/312834.html, accessed 19.12.2012. 7. Sukhinin B.M. Vysokoskorostnye generatory psevdosluchainykh posledovatel'nostei na osnove kletochnykh avtomatov [High-speed generators of pseudorandom sequences based on cellular automata]. Prikladnaia diskretnaia matematika, 2010, no. 2, pp. 34{41. 8. Sukhinin B.M. O nekotorykh svoistvakh kletochnykh avtomatov i ikh primenenii v strukture generatorov psevdosluchainykh posledovatel'nostei [Some properties of cellular automata and their application in the structure of pseudorandom sequences generators]. Vestnik MGTU im. N.E. Baumana. Ser. Priborostroenie [Herald of the Bauman MSTU. Ser. Instrument Engineering], 2011, no. 2, pp. 68{ 76. 9. Davidoff G., Sarnak P., Valette A. Elementary number theory, group theory and Ramanujan graphs. Cambridge University Press, 2003. 144 p. (London Mathematical Society Student Texts, vol. 55.) http://technomag.edu.ru/doc/517543.html 373 10. Hoory S., Linial N., Wigderson A. Expander graphs and their applications. Bulletin of the American Mathematical Society, 2006, vol. 43, no. 4, pp. 439{ 562. 11. Knudsen L., Robshaw M. The block cipher companion. Springer, 2011. 12. Lubotzky A., Phillips R., Sarnak P. Explicit expanders and the ramanujan conjectures. STOC '86 Proceedings of the eighteenth annual ACM symposium on Theory of computing. New York, NY, ACM, 1986, pp. 240{246. DOI: 10.1145/12130.12154. 13. Lubotzky A., Phillips R., Sarnak P. Ramanujan graphs. Combinatorica, 1988, vol. 8, no. 3, pp. 261{277. 14. Luby M., Rackoff C. How to construct pseudorandom permutations from pseudorandom functions. SIAM Journal on Computing, 1988, vol. 17, no. 2, pp. 373{ 386. 15. Sarnak P. Some applications of modular forms. Cambridge: Cambridge University Press, 1990. (Cambridge Tracts in Mathematics, vol. 99.) 16. Schneier B., Sutherland P. Applied cryptography: protocols, algorithms, and source code in C. John Wiley & Sons, Inc., 1995. 17. Soto J. Statistical testing of random number generators. Proceedings of the 22nd National Information Systems Security Conference. Gaithersburg, MD, 1999, vol. 10, p. 12. 18. Soto J., Bassham L. Randomness testing of the advanced encryption standard finalist candidates: Rep. DTIC Document, 2000. 19. Rukhin A., Soto J., Nechvatal J., et al. A statistical test suite for random and pseudorandom number generators for cryptographic applications: Rep. DTIC Document, 2001. 10.7463/0113.0517543 374