На рынке систем автоматизированного управления производством появился новый игрок. В структуре Группы компаний «СИТЕК» создано ООО «Интента», которое сконцентрировало компетенции по проектированию, внедрению и обслуживанию MES-систем как в Беларуси, так и в России.
Вопрос модернизации промышленного комплекса в Беларуси сегодня стоит довольно остро. С учетом интеграции отечественных предприятий в промышленный комплекс Единого экономического пространства и намерения Беларуси в среднесрочной перспективе войти во Всемирную торговую организацию, на первый план выходит повышение конкурентоспособности производимой отечественными предприятиями продукции.
Как считает заместитель генерального директора Объединенного института проблем информатики НАН Беларуси Михаил Ковалев, сегодня большинство предприятий промышленности готовы к модернизации. На уровне правительства проводится ряд мероприятий по внедрению электронного документооборота как наиболее важного этапа в процессе модернизации промышленности. Далее предприятия должны перейти к полному описанию процессов, которые происходят при производстве изделий, и созданию разноуровневых систем управления производством.
На рынке систем автоматизированного управления производством появился новый игрок. В структуре Группы компаний «СИТЕК» создано ООО «Интента», которое сконцентрировало компетенции по проектированию, внедрению и обслуживанию MES-систем как в Беларуси, так и в России.
Вопрос модернизации промышленного комплекса в Беларуси сегодня стоит довольно остро. С учетом интеграции отечественных предприятий в промышленный комплекс Единого экономического пространства и намерения Беларуси в среднесрочной перспективе войти во Всемирную торговую организацию, на первый план выходит повышение конкурентоспособности производимой отечественными предприятиями продукции.
Как считает заместитель генерального директора Объединенного института проблем информатики НАН Беларуси Михаил Ковалев, сегодня большинство предприятий промышленности готовы к модернизации. На уровне правительства проводится ряд мероприятий по внедрению электронного документооборота как наиболее важного этапа в процессе модернизации промышленности. Далее предприятия должны перейти к полному описанию процессов, которые происходят при производстве изделий, и созданию разноуровневых систем управления производством.
6. √ Ââåäåíèå. Àòàêà íà ãëàäêèå ìîäóëè
n-ìåòîäû Àëãîðèòì Øåíêñà è ρ-ìåòîä Ïîëëàðäà
Àëãîðèòìû index calculus: ïåðâàÿ ôàçà
λ-ìåòîä Ïîëëàðäà
Òðèâèàëüíûé ïîäõîä
Òðèâèàëüíûé ïîäõîä: âîçâîäèòü g , g 2, g 3, . . ., ïîêà íå
íàòêí¼ìñÿ íà y .
Òðåáóåò ïðèìåðíî n îïåðàöèé, èìååò ñìûñë òîëüêî äëÿ
2
ìàëåíüêèõ n.
Ñåðãåé Íèêîëåíêî Ïîèñê äèñêðåòíîãî ëîãàðèôìà
7. √ Ââåäåíèå. Àòàêà íà ãëàäêèå ìîäóëè
n-ìåòîäû Àëãîðèòì Øåíêñà è ρ-ìåòîä Ïîëëàðäà
Àëãîðèòìû index calculus: ïåðâàÿ ôàçà
λ-ìåòîä Ïîëëàðäà
Àòàêà íà ãëàäêèå ìîäóëè
Ïóñòü n = p1 p2 . . . plk .
k k 1 2 l
Çàìåòèì, ÷òî äëÿ êàæäîãî èç ýòèõ p ïîðÿäîê ýëåìåíòà
g n/p ðàâåí pk , è ïîðÿäîê ýëåìåíòà y n/p íå ïðåâîñõîäèò
k k
pk .
Èíà÷å ãîâîðÿ, g n/p ïîðîæäàåò ïîäãðóïïó G ïîðÿäêà pk , à
k
y n/p ëåæèò â ýòîé ïîäãðóïïå.
k
È åñëè ìû ìîæåì íàéòè ëîãàðèôì â ýòîé ïîäãðóïïå:
x
g n /p
k
= y n /p ,
k
òî, ñ äðóãîé ñòîðîíû,
x
g n /p
k
è òåì ñàìûì
= y n /p ,
k
x ≡ x (mod pk ).
Ñåðãåé Íèêîëåíêî Ïîèñê äèñêðåòíîãî ëîãàðèôìà
8. √ Ââåäåíèå. Àòàêà íà ãëàäêèå ìîäóëè
n-ìåòîäû Àëãîðèòì Øåíêñà è ρ-ìåòîä Ïîëëàðäà
Àëãîðèòìû index calculus: ïåðâàÿ ôàçà
λ-ìåòîä Ïîëëàðäà
Àòàêà íà ãëàäêèå ìîäóëè
Òîãäà, åñëè ìû íàéä¼ì ëîãàðèôìû ïî ìîäóëÿì ïðîñòûõ
÷èñåë x k1 k1
g n /p y n /p
1
1 = 1 ,
k x2 k
g n /p2
2
= y n /p 2
2
,
... ...,
k x l k
g n / pl l = y n/pl l ,
òî ñìîæåì ïî êèòàéñêîé òåîðåìå îá îñòàòêàõ âîññòàíîâèòü
x , ïîòîìó ÷òî
x ≡ x1 (mod p1 ), k 1
x ≡ x2 (mod p2 ), k 2
... ... ...,
x ≡ xl (mod plk ). l
Ñåðãåé Íèêîëåíêî Ïîèñê äèñêðåòíîãî ëîãàðèôìà
9. √ Ââåäåíèå. Àòàêà íà ãëàäêèå ìîäóëè
n-ìåòîäû Àëãîðèòì Øåíêñà è ρ-ìåòîä Ïîëëàðäà
Àëãîðèòìû index calculus: ïåðâàÿ ôàçà
λ-ìåòîä Ïîëëàðäà
Àòàêà íà ãëàäêèå ìîäóëè
Îêàçûâàåòñÿ, íàéòè ëîãàðèôì ïî ìîäóëþ pk äëÿ
ìàëåíüêîãî ïðîñòîãî p ëåãêî, äàæå åñëè k áîëüøîå.
Ðàçëîæèì ïðåäïîëàãàåìûé ëîãàðèôì x ïî îñíîâàíèþ p:
x = z0 + z1 p + z2 p 2 + . . . + zk p k .
Ïîëîæèì ñíà÷àëà y0 = y n/p , g0 = g n/p . Ïîðÿäîê g0 íå
áîëüøå p, çíà÷èò,
x z
y0 = y n/p = g x ·n/p = g0 = g0 0
.
Òåì ñàìûì ìû íàøëè z0. Òåïåðü ìîæíî åãî âû÷åñòü,
ïîëîæèòü y1 = yg0−z n/p è ïðîäîëæàòü.
2
0
 èòîãå íàéä¼ì ëîãàðèôì ïî ìîäóëþ pk çà k ïîèñêîâ
ëîãàðèôìà ïî ìîäóëþ p.
Ñåðãåé Íèêîëåíêî Ïîèñê äèñêðåòíîãî ëîãàðèôìà
10. √ Ââåäåíèå. Àòàêà íà ãëàäêèå ìîäóëè
n-ìåòîäû Àëãîðèòì Øåíêñà è ρ-ìåòîä Ïîëëàðäà
Àëãîðèòìû index calculus: ïåðâàÿ ôàçà
λ-ìåòîä Ïîëëàðäà
Àòàêà íà ãëàäêèå ìîäóëè
Çíà÷èò, ãëàäêèå ìîäóëè èñïîëüçîâàòü íåëüçÿ.
Íóæíî âûáèðàòü òàêèå n, ó êîòîðûõ åñòü áîëüøèå ïðîñòûå
äåëèòåëè.
Ëèáî, â êðàéíåì ñëó÷àå, ðàçëîæåíèå n íåèçâåñòíî, íî åñòü
ïðè÷èíû ïîëàãàòü, ÷òî áîëüøèå ïðîñòûå äåëèòåëè åñòü.
Ñåðãåé Íèêîëåíêî Ïîèñê äèñêðåòíîãî ëîãàðèôìà
11. √ Ââåäåíèå. Àòàêà íà ãëàäêèå ìîäóëè
n-ìåòîäû Àëãîðèòì Øåíêñà è ρ-ìåòîä Ïîëëàðäà
Àëãîðèòìû index calculus: ïåðâàÿ ôàçà
λ-ìåòîä Ïîëëàðäà
Baby-stepGiant-step
Shanks, 1973: àëãîðèòì, ðàáîòàþùèé çà O (√n);
ñòàíäàðòíûé time-space tradeo.
1 Çàïèøåì x â âèäå x = im + j äëÿ êàêîãî-òî m. Òîãäà
y · (g −m )i = g j .
2 Ïðåäâû÷èñëèì g j è áóäåì ïåðåáèðàòü i , óìíîæàÿ y íà g im
è ïðîâåðÿÿ, íåò ëè åãî ñðåäè g j .
Åñëè çàïèñàòü gj â õåø-òàáëèöó, ìîæíî ñ÷èòàòü, ÷òî
ïðîâåðêà íà ðàâåíñòâî ïðîèñõîäèò â ñðåäíåì çà
êîíñòàíòíîå âðåìÿ.
Ñåðãåé Íèêîëåíêî Ïîèñê äèñêðåòíîãî ëîãàðèôìà
12. √ Ââåäåíèå. Àòàêà íà ãëàäêèå ìîäóëè
n-ìåòîäû Àëãîðèòì Øåíêñà è ρ-ìåòîä Ïîëëàðäà
Àëãîðèòìû index calculus: ïåðâàÿ ôàçà
λ-ìåòîä Ïîëëàðäà
Baby-stepGiant-step
Àëãîðèòì çàïèñûâàåò äâà ìàññèâà. Ïåðâûé (giant steps):
√
0
√
S= i, gi n | i = .. n .
Âòîðîé (baby steps):
T = 0 √n .
j, y · gj | j = ..
Êàê òîëüêî ñïèñêè ïåðåñåêóòñÿ, ëîãàðèôì ìîæíî áóäåò
íàéòè êàê
logg y ≡ i √n − j (mod n).
Îäíàêî ýòîò àëãîðèòì òðåáóåò ýêñïîíåíöèàëüíîé ïàìÿòè.
Ñåðãåé Íèêîëåíêî Ïîèñê äèñêðåòíîãî ëîãàðèôìà
13. √ Ââåäåíèå. Àòàêà íà ãëàäêèå ìîäóëè
n-ìåòîäû Àëãîðèòì Øåíêñà è ρ-ìåòîä Ïîëëàðäà
Àëãîðèòìû index calculus: ïåðâàÿ ôàçà
λ-ìåòîä Ïîëëàðäà
ρ-ìåòîä Ïîëëàðäà
Pollard, 1978. Ñóòü ¾birthday paradox¿: ìû âûáèðàåì
ïñåâäîñëó÷àéíóþ ïîñëåäîâàòåëüíîñòü ýëåìåíòîâ â ãðóïïå
è æä¼ì öèêëà. Öèêë áóäåò â ñðåäíåì ÷åðåç O (√n)
ýëåìåíòîâ.
Ðàçîáü¼ì ãðóïïó íà òðè ÷àñòè (íå ïîäãðóïïû) S1, S2, S3.
Áóäåì âû÷èñëÿòü
y · ai ,
åñëè ai ∈ S1,
ai +1 = ai 2, åñëè ai ∈ S2,
g · a ,
i åñëè ai ∈ S3.
Ñåðãåé Íèêîëåíêî Ïîèñê äèñêðåòíîãî ëîãàðèôìà
14. √ Ââåäåíèå. Àòàêà íà ãëàäêèå ìîäóëè
n-ìåòîäû Àëãîðèòì Øåíêñà è ρ-ìåòîä Ïîëëàðäà
Àëãîðèòìû index calculus: ïåðâàÿ ôàçà
λ-ìåòîä Ïîëëàðäà
ρ-ìåòîä Ïîëëàðäà
Åñëè â ïîñëåäîâàòåëüíîñòè íàéä¼òñÿ öèêë, ýòî ñ áîëüøîé
âåðîÿòíîñòüþ ïðèâåä¼ò ê òîìó, ÷òî ìû íàéä¼ì äèñêðåòíûé
ëîãàðèôì, ïîòîìó ÷òî ìû íàéä¼ì ñîîòíîøåíèå âèäà
g ay b = g c y d .
Íî, êàçàëîñü áû, âñ¼ ðàâíî íàäî õðàíèòü âñþ
ïîñëåäîâàòåëüíîñòü, è ñ ïàìÿòüþ ëó÷øå íå ñòàíîâèòñÿ.
×òî äåëàòü?
Ñåðãåé Íèêîëåíêî Ïîèñê äèñêðåòíîãî ëîãàðèôìà
15. √ Ââåäåíèå. Àòàêà íà ãëàäêèå ìîäóëè
n-ìåòîäû Àëãîðèòì Øåíêñà è ρ-ìåòîä Ïîëëàðäà
Àëãîðèòìû index calculus: ïåðâàÿ ôàçà
λ-ìåòîä Ïîëëàðäà
Àëãîðèòì Ôëîéäà äëÿ ïîèñêà öèêëà
Àëãîðèòì Ôëîéäà, îí æå ¾tortoise-and-hare algorithm¿.
Îáùàÿ ïîñòàíîâêà: õîòèì íàéòè öèêë â
ïîñëåäîâàòåëüíîñòè ai +1 = f (ai ).
Äàâàéòå áóäåì õðàíèòü âñåãî äâà óêàçàòåëÿ: u è v , ïðè÷¼ì
ui = ai (÷åðåïàõà), à vi = a2i (çàÿö).
Åñëè â ïîñëåäîâàòåëüíîñòè åñòü öèêë ïåðèîäà r ,
íà÷èíàþùèéñÿ ñ ïîçèöèè s (ai = ai +r äëÿ i ≥ s ), òî äëÿ
ëþáîãî i ≥ s , äåëÿùåãîñÿ íà r , ai = a2i .
Ò.å. íàì ïðèä¼òñÿ èñêàòü íå áîëåå ÷åì íà äëèíó ïåðèîäà
(ò.å. ïðèìåðíî âäâîå) äîëüøå.
Ñåðãåé Íèêîëåíêî Ïîèñê äèñêðåòíîãî ëîãàðèôìà
16. √ Ââåäåíèå. Àòàêà íà ãëàäêèå ìîäóëè
n-ìåòîäû Àëãîðèòì Øåíêñà è ρ-ìåòîä Ïîëëàðäà
Àëãîðèòìû index calculus: ïåðâàÿ ôàçà
λ-ìåòîä Ïîëëàðäà
Àëãîðèòì Áðåíòà
Äðóãîé àëãîðèòì äëÿ òîãî æå ñàìîãî àëãîðèòì Áðåíòà.
Òåïåðü ÷åðåïàõà îñòàíàâëèâàåòñÿ íà ñòåïåíÿõ äâîéêè, à
çàÿö ïðûãàåò øàã çà øàãîì ê ñëåäóþùåé ñòåïåíè.
1 Ïîêà tortoise=hare:
åñëè i == pow , òî
tortoise := hare
pow := 2 · pow
i := 0
= f (hare)
hare
++i
Øàãîâ â ëþáîì ñëó÷àå íå áîëüøå, ÷åì â àëãîðèòìå
Ôëîéäà, íî êàæäûé øàã ýòî îäíî âû÷èñëåíèå f , à íå
òðè.
Ñåðãåé Íèêîëåíêî Ïîèñê äèñêðåòíîãî ëîãàðèôìà
18. √ Ââåäåíèå. Àòàêà íà ãëàäêèå ìîäóëè
n-ìåòîäû Àëãîðèòì Øåíêñà è ρ-ìåòîä Ïîëëàðäà
Àëãîðèòìû index calculus: ïåðâàÿ ôàçà
λ-ìåòîä Ïîëëàðäà
λ-ìåòîä Ïîëëàðäà
Îïðåäåëèì õåø-ôóíêöèþ h, äåëÿùóþ G íà r ìíîæåñòâ
S1 , S2 , . . . , Sr : Si = h−1 (i ).
Ïîñòàâèì êàæäîìó ìíîæåñòâó â ñîîòâåòñòâèå ðàññòîÿíèå
d1 , d2 , . . . , dr è äëèíó ïðûæêà g d , g d , . . . , g d .
1 2 r
Òåïåðü ïóòü êåíãóðó îïðåäåëÿåòñÿ êàê
ci +1 = ci · g dh(ci ) .
Ñåðãåé Íèêîëåíêî Ïîèñê äèñêðåòíîãî ëîãàðèôìà