И. С. Сергеев (Москва) O реализации некоторых операций

advertisement
È. Ñ. Ñåðãååâ (Ìîñêâà)
Î ðåàëèçàöèè íåêîòîðûõ îïåðàöèé
êîíå÷íûõ ïîëåé õàðàêòåðèñòèêè 2
ñõåìàìè ëîãàðèôìè÷åñêîé ãëóáèíû1
 íàñòîÿùåé ðàáîòå ðàññìàòðèâàåòñÿ ðåàëèçàöèÿ íåêîòîðûõ îïåðàöèé â êîíå÷íîì ïîëå GF (2n ) ñõåìàìè â áàçèñå âñåõ äâóìåñòíûõ
áóëåâûõ ôóíêöèé ñ ãëóáèíîé O(log n) (ãëóáèíà îáñóæäàåìûõ äàëåå
ñõåì íå áóäåò ñïåöèàëüíî îãîâàðèâàòüñÿ). Ââåäåíèå â àëãîðèòìè÷åñêóþ òåîðèþ êîíå÷íûõ ïîëåé ñîäåðæèòñÿ â [Ý], à ïîíÿòèÿ ñëîæíîñòè
è ãëóáèíû ñõåì èçëîæåíû â [Ë].
Ïðè ðåàëèçàöèè àðèôìåòèêè â êîíå÷íûõ ïîëÿõ íàèáîëåå óïîòðåáèòåëüíîé ÿâëÿåòñÿ èíòåðïðåòàöèÿ êîíå÷íîãî ïîëÿ êàê âåêòîðíîãî
ïðîñòðàíñòâà (â ÷àñòíîñòè, ïîëå GF (2n ) ÿâëÿåòñÿ äâîè÷íûì âåêòîðíûì ïðîñòðàíñòâîì ðàçìåðíîñòè n ñ îïåðàöèåé óìíîæåíèÿ âåêòîðîâ).
Ðåàëèçàöèÿ îïåðàöèé â êîíå÷íîì ïîëå çàâèñèò îò âûáîðà áàçèñà. Ïðè ýòîì î÷åâèäíî, ÷òî ñëîæåíèå â ëþáîì áàçèñå ïîëÿ GF (2n )
âûïîëíÿåòñÿ ñî ñëîæíîñòüþ n è ãëóáèíîé 1. ×àùå âñåãî èñïîëüçóåòñÿ ñòàíäàðòíûé (èëè ïîëèíîìèàëüíûé) áàçèñ {1, α, α2 , . . . , αn−1 },
ãåíåðàòîðîì êîòîðîãî ÿâëÿåòñÿ ýëåìåíò α êîðåíü íåêîòîðîãî íåïðèâîäèìîãî ìíîãî÷ëåíà m(x) ñòåïåíè n íàä GF (2). Ýëåìåíòû ïîëÿ
â óêàçàííîì áàçèñå ïðåäñòàâëÿþòñÿ ìíîãî÷ëåíàìè ñòåïåíè íå âûøå
n − 1, îïåðàöèè íàä êîòîðûìè ïðîèçâîäÿòñÿ ïî ìîäóëþ ìíîãî÷ëåíà
m(x).
 ïîñëåäíåå âðåìÿ àêòèâíî ïðèìåíÿþòñÿ íîðìàëüíûå áàçèñû,
n−1
èìåþùèå âèä {α, α2 , . . . , α2 }. Ãåíåðàòîð íîðìàëüíîãî áàçèñà α òàêæå äîëæåí áûòü êîðíåì íåêîòîðîãî íåïðèâîäèìîãî ìíîãî÷ëåíà ñòåïåíè n, ò.å. ãåíåðàòîðîì íåêîòîðîãî ñòàíäàðòíîãî áàçèñà. Îáðàòíîå
íåâåðíî, ò.å. íå äëÿ êàæäîãî ñòàíäàðòíîãî áàçèñà ñóùåñòâóåò íîðìàëüíûé ñ òåì æå ãåíåðàòîðîì. Îäíàêî èçâåñòíî, ÷òî íîðìàëüíûå
áàçèñû ñóùåñòâóþò âî âñåõ ïîëÿõ. Èíòåðåñ ê íîðìàëüíûì áàçèñàì
îáúÿñíÿåòñÿ òåì, ÷òî îïåðàöèÿ Ôðîáåíèóñà (âîçâåäåíèå â ñòåïåíü âèäà 2k ) îñóùåñòâëÿåòñÿ â íèõ öèêëè÷åñêèì ñäâèãîì êîîðäèíàò, ò.å. ñ
íóëåâîé ñõåìíîé ñëîæíîñòüþ.
1 Ìàòåðèàëû XVI Ìåæäóíàðîäíîé øêîëû-ñåìèíàðà ¾Ñèíòåç è ñëîæíîñòü
óïðàâëÿþùèõ ñèñòåì¿ (Ñàíêò-Ïåòåðáóðã, 2630 èþíÿ 2006 ã.). Ì.: Èçä-âî ìåõ.ìàòåì. ôàêóëüòåòà ÌÃÓ, 2006. C. 101103.
1
Èçâåñòíî [S], ÷òî óìíîæåíèå â ñòàíäàðòíîì áàçèñå ïîëÿ GF (2n )
âûïîëíÿåòñÿ ñõåìîé ñëîæíîñòè O(n log n log log n). Òàêæå èçâåñòíî,
÷òî îïåðàöèþ Ôðîáåíèóñà â ñòàíäàðòíîì áàçèñå ìîæíî ðåàëèçîâàòü
ñî ñëîæíîñòüþ O(n1.67 ) (ñì. [Ý]). ( ïðèâîäèìûõ çäåñü è äàëåå îöåíêàõ èñïîëüçóþòñÿ ýêñïîíåíòû ìàòðè÷íûõ óìíîæåíèé, êîòîðûå âçÿòû èç [HP].) Âìåñòî îïåðàöèè äåëåíèÿ ìîæíî ðàññìàòðèâàòü îïåðàöèþ èíâåðòèðîâàíèÿ, ò.ê. äåëåíèå ñâîäèòñÿ ê óìíîæåíèþ è èíâåðòèðîâàíèþ. Èç ðàáîò [LD,G] ñëåäóåò, ÷òî èíâåðòèðîâàíèå ìîæåò áûòü
ðåàëèçîâàíî ñõåìîé ïîëèíîìèàëüíîé ñëîæíîñòè.
Èñïîëüçóÿ ìåòîä À. Áðàóýðà (ñì. [Ý]), ìîæíî ïîñòðîèòü ñõåìó
èíâåðòèðîâàíèÿ ñëîæíîñòè O(n1.67 ), îäíàêî ãëóáèíû O(log2 n). Íà
ñàìîì äåëå, îöåíêó ñëîæíîñòè O(n1.67 ) ìîæíî ïîëó÷èòü è äëÿ ñõåìû
ëîãàðèôìè÷åñêîé ãëóáèíû.
Ðàçðàáîòàííûå ñïåöèàëüíî äëÿ íîðìàëüíûõ áàçèñîâ ìåòîäû óìíîæåíèÿ è èíâåðòèðîâàíèÿ èìåþò äîñòàòî÷íî âûñîêóþ ñëîæíîñòü
(ïî êðàéíåé ìåðå, O(n2 )) è ïîðÿäîê ãëóáèíû íå ìåíåå O(log2 n). Äëÿ
óñêîðåíèÿ ðåàëèçàöèè îïåðàöèé â óêàçàííûõ áàçèñàõ (êàê ïî ñëîæíîñòè, òàê è ïî ãëóáèíå) ìîæíî èñïîëüçîâàòü èäåþ ïåðåõîäà ê ñòàíäàðòíîìó áàçèñó (ñì. [Ý]). Ïîä ïåðåõîäîì ïîíèìàåòñÿ ñîîòâåòñòâóþùåå ïðåîáðàçîâàíèå êîîðäèíàò ýëåìåíòà ïîëÿ.
Äëÿ ïåðåõîäà ìåæäó íîðìàëüíûì è ñòàíäàðòíûì áàçèñàìè ìîæíî ïîñòðîèòü ñõåìó ñëîæíîñòè O(n1.81 ) (ýòîò ðåçóëüòàò ÷àñòè÷íî ïîëó÷åí â [KS]), ÷òî ïðèâîäèò ê àíàëîãè÷íîé îöåíêå ñëîæíîñòè óìíîæåíèÿ è èíâåðòèðîâàíèÿ â íîðìàëüíûõ áàçèñàõ.
Ýòà æå èäåÿ ìîæåò ïðèìåíÿòüñÿ è äëÿ óñêîðåíèÿ íåêîòîðûõ îïåðàöèé â ñòàíäàðòíûõ áàçèñàõ.  êà÷åñòâå ïðèìåðà ïðèâåäåì èíîãäà âñòðå÷àþùóþñÿ â ïðèëîæåíèÿõ çàäà÷ó ïðîâåðêè áàçèñíîñòè íîðìàëüíîé ñèñòåìû: çàäàí ýëåìåíò β ∈ GF (2n ) òðåáóåòñÿ ïðîâåðèòü,
ïîðîæäàåò ëè îí íîðìàëüíûé áàçèñ.  íîðìàëüíîì áàçèñå äëÿ ðåøåíèÿ ýòîé çàäà÷è ìîæíî ïîñòðîèòü ñõåìó ñëîæíîñòè O(n1.67 ), îòêóäà
ñëåäóåò îöåíêà O(n1.81 ) äëÿ ðåàëèçàöèè â ñòàíäàðòíîì áàçèñå.
 ïðèëàãàåìîé òàáëèöå ñîäåðæàòñÿ ñâåäåíèÿ î ñëîæíîñòè ðåàëèçàöèè îáñóæäàâøèõñÿ îïåðàöèé ñõåìàìè ëîãàðèôìè÷åñêîé ãëóáèíû
(âûäåëåíû ðåçóëüòàòû, êîòîðûå, ïî-âèäèìîìó, ÿâëÿþòñÿ íîâûìè).
Àâòîð ïðèçíàòåëåí íàó÷íîìó ðóêîâîäèòåëþ Ñ. Á. Ãàøêîâó çà ïîñòàíîâêó çàäà÷è è âíèìàíèå ê ðàáîòå.
Ðàáîòà âûïîëíåíà ïðè ôèíàíñîâîé ïîääåðæêå Ðîññèéñêîãî ôîíäà ôóíäàìåíòàëüíûõ èññëåäîâàíèé (ïðîåêò 050100994), ïðîãðàì2
Îïåðàöèÿ
Óìíîæåíèå
Ôðîáåíèóñà
Èíâåðòèðîâàíèå
Ïåðåõîä ê ÍÁ
Ïåðåõîä ê ÑÁ
Òåñò ãåíåðàòîðà ÍÁ
ÑÁ
n log n log log n
n1.67
n1.67
n1.81
n1.67
n1.81
ÍÁ
n1.81
0
n1.81
n log n log log n
n1.81
n1.67
ìû ïîääåðæêè âåäóùèõ íàó÷íûõ øêîë ÐÔ (ïðîåêò ÍØ5400.2006.1)
è ïðîãðàììû ôóíäàìåíòàëüíûõ èññëåäîâàíèé Îòäåëåíèÿ ìàòåìàòè÷åñêèõ íàóê ÐÀÍ ¾Àëãåáðàè÷åñêèå è êîìáèíàòîðíûå ìåòîäû ìàòåìàòè÷åñêîé êèáåðíåòèêè¿ (ïðîåêò ¾Ñèíòåç è ñëîæíîñòü óïðàâëÿþùèõ ñèñòåì¿).
Ëèòåðàòóðà
[Ý] Áîëîòîâ À. À., Ãàøêîâ Ñ. Á., Ôðîëîâ À. Á., ×àñîâñêèõ À. À.
Ýëåìåíòàðíîå ââåäåíèå â ýëëèïòè÷åñêóþ êðèïòîãðàôèþ: àëãåáðàè÷åñêèå è àëãîðèòìè÷åñêèå îñíîâû.
Ì.: ÊîìÊíèãà, 2006.
[Ë] Ëóïàíîâ Î. Á. Àñèìïòîòè÷åñêèå
ëÿþùèõ ñèñòåì. Ì.: Èçä. ÌÃÓ, 1984.
îöåíêè ñëîæíîñòè óïðàâ-
[G] von zur Gathen J. Inversion in nite elds using logarithmic
depth. // J. Symb. Comput. 1990. 9. P. 175183.
[HP] Huang X., Pan V. Fast rectangular matrix multiplication and
applications. // J. Complexity. 1998. 14. P. 257299.
[KS] Kaltofen E., Shoup V. Subquadratic-time factoring of polynomials over nite elds. // Math. Comput. 1998. 67, 223. P. 1179
1197.
[LD] Litow B., Davida G. O(log n) parallel time nite eld inversion. // Proc. Aegean Workshop on Computing, Lecture Notes in Computer
Science, Berlin. 1988. 319. P. 7480.
[S] Schonhage A. Schnelle multiplikation von polynomen u
ber k
orpern
der charakteristik 2. // Acta Inf. 1977. 7. P. 395398.
3
Download