SlideShare a Scribd company logo
1 of 52
Download to read offline
Ìàòåìàòè÷åñêèå
àñïåêòû çàäà÷è
îáôóñêàöèè ïðîãðàìì
Â.À. Çàõàðîâ
ô-ò ÂÌèÊ ÌÃÓ èì. Ì.Â. Ëîìîíîñîâà
ÎÁÔÓÑÊÀÖÈß ÏÐÎÃÐÀÌÌ
 ýòî òàêàÿ ðàçíîâèäíîñòü ýêâèâàëåíòíûõ
ïðåîáðàçîâàíèé ïðîãðàìì, êîòîðàÿ ïðåäíàçíà÷åíà
äëÿ çàòðóäíåíèÿ ïîíèìàíèÿ ïðîãðàìì è
èçâëå÷åíèÿ èç íèõ ïîëåçíîé èíôîðìàöèè îá
àëãîðèòìàõ, ñòðóêòóðàõ äàííûõ, ñåêðåòíûõ
êëþ÷àõ, ñîäåðæàùèõñÿ â ïðîãðàììàõ.
ÎÁÔÓÑÊÀÖÈß ÏÐÎÃÐÀÌÌ
 ýòî òàêàÿ ðàçíîâèäíîñòü ýêâèâàëåíòíûõ
ïðåîáðàçîâàíèé ïðîãðàìì, êîòîðàÿ ïðåäíàçíà÷åíà
äëÿ çàòðóäíåíèÿ ïîíèìàíèÿ ïðîãðàìì è
èçâëå÷åíèÿ èç íèõ ïîëåçíîé èíôîðìàöèè îá
àëãîðèòìàõ, ñòðóêòóðàõ äàííûõ, ñåêðåòíûõ
êëþ÷àõ, ñîäåðæàùèõñÿ â ïðîãðàììàõ.
Îñíîâíûå çàäà÷è

Êàê ïîñòðîèòü îáôóñêàòîð ïðîãðàìì?
Êàê îöåíèòü ñòîéêîñòü îáôóñêàöèè?
ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ
Îáôóñêàöèÿ äëÿ íóæä êðèïòîãðàôèè
Die W., Hellman M. New directions in cryptography. IEEE
Transactions in Information Theory, 1976.
Îáôóñêàöèÿ ïîçâîëÿåò ïðåîáðàçîâûâàòü êðèïòîñèñòåìû ñ
ñåêðåòíûì êëþ÷îì â êðèïòîñèñòåìû ñ îòêðûòûì êëþ÷îì.
Äëÿ ýòîãî äîñòàòî÷íî ïîäâåðãíóòü îáôóñêàöèè ïðîãðàììó,
ðåàëèçóþùóþ àëãîðèòì øèôðîâàíèÿ ñ âñòàâëåííûì â íåå
ñåêðåòíûì êëþ÷îì. Ïðåîáðàçîâàííóþ òàêèì îáðàçîì
ïðîãðàììó ìîæíî èñïîëüçîâàòü â êà÷åñòâå ïðîãðàììû
øèôðîâàíèÿ êðèïòîñèñòåìû ñ îòêðûòûì êëþ÷îì.
ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ
Îáôóñêàöèÿ äëÿ íóæä êðèïòîãðàôèè
Îáôóñêàöèÿ ïðîãðàìì ïîçâîëÿåò
ïðåâðàùàòü êðèïòîñèòåìû ñ ñåêðåòíûì êëþ÷îì â
êðèïòîñèñòåìû ñ îòêðûòûì êëþ÷îì,
ñòðîèòü ñèñòåìû âû÷èñëåíèé íàä çàøèôðîâàííûìè
äàííûìè (êðèïòîñèñòåìû ãîìîìîðôíûõ âû÷èñëåíèé),
èçáàâèòüñÿ îò ìîäåëè ñëó÷àéíîãî îðàêóëà â
êðèïòîãðàôè÷åñêèõ ïðîòîêîëàõ,
ñîçäàâàòü âåðèôèöèðóåìûå ñèñòåìû òàéíîãî ãîëîñîâàíèÿ,
îáåñïå÷èòü êîíôèäåíöèàëüíîñòü â ïîèñêîâûõ ñèñòåìàõ è
áàçàõ äàííûõ.
ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ
Îáôóñêàöèÿ äëÿ íóæä êðèïòîãðàôèè
Íî äëÿ ýòîãî îáôóñêàöèÿ äîëæíà óäîâëåòâîðÿòü î÷åíü ñòðîãèì
òðåáîâàíèÿì ñòîéêîñòè, ïðèíÿòûì â êðèïòîãðàôèè.

Ñîâðåìåííîå ñîñòîÿíèå äåë â ýòîì íàïðàâëåíèè
èññëåäîâàíèé òàêîâî:
î÷åíü ìíîãî îòðèöàòåëüíûõ ðåçóëüòàòîâ,
è î÷åíü ìàëî ïîëîæèòåëüíûõ äîñòèæåíèé.
ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ
Îáôóñêàöèÿ äëÿ îáåñïå÷åíèÿ êîìïüþòåðíîé
áåçîïàñíîñòè

Collberg C., Thomborson C., Low D. A taxonomy of obfuscating
transformations, Tech. Report, N 148, Dept. of Computer Science,
University of Auckland, 1997.
Îáôóñêèðóþùèå ïðåîáðàçîâàíèÿ ìîæíî èñïîëüçîâàòü äëÿ
çàùèòû èíòåëëåêòóàëüíîé ñîáñòâåííîñòè íà ïðîãðàììíîå
îáåñïå÷åíèå,
èíôîðìàöèîííîé çàùèòû ìîáèëüíûõ àãåíòîâ è
ìèêðîýëåêòðîííûõ ñõåì íà ýòàïå ïðîåêòèðîâàíèÿ,
à òàêæå äëÿ
ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ
Îáôóñêàöèÿ äëÿ îáåñïå÷åíèÿ êîìïüþòåðíîé
áåçîïàñíîñòè

Collberg C., Thomborson C., Low D. A taxonomy of obfuscating
transformations, Tech. Report, N 148, Dept. of Computer Science,
University of Auckland, 1997.
Îáôóñêèðóþùèå ïðåîáðàçîâàíèÿ ìîæíî èñïîëüçîâàòü äëÿ
çàùèòû èíòåëëåêòóàëüíîé ñîáñòâåííîñòè íà ïðîãðàììíîå
îáåñïå÷åíèå,
èíôîðìàöèîííîé çàùèòû ìîáèëüíûõ àãåíòîâ è
ìèêðîýëåêòðîííûõ ñõåì íà ýòàïå ïðîåêòèðîâàíèÿ,
à òàêæå äëÿ
ñîêðûòèÿ èñêóññòâåííûõ óÿçâèìîñòåé â ïðîãðàììàõ ,
ìàñêèðîâêè êîìïüþòåðíûõ ¾âèðóñîâ¿ ,
óäàëåíèÿ ¾âîäÿíûõ çíàêîâ¿ èç ïðîãðàìì .
ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ
Îáôóñêàöèÿ äëÿ îáåñïå÷åíèÿ êîìïüþòåðíîé
áåçîïàñíîñòè
Öåëü îáôóñêàöèè  îêàçàòü ïðîòèâîäåéñòâèå ìåòîäàì
îáðàòíîé èíæåíåðèè è àëãîðèòìàì ñòàòè÷åñêîãî è
äèíàìè÷åñêîãî àíàëèçà ïðîãðàìì.

Ñîâðåìåííîå ñîñòîÿíèå äåë â ýòîì íàïðàâëåíèè
èññëåäîâàíèé òàêîâî:
ìíîãî ¾ýâðèñòè÷åñêèõ¿ ìåòîäîâ îáôóñêàöèè,
è íèêàêèõ îöåíîê èõ ñòîéêîñòè.
ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ
Îáôóñêàöèÿ äëÿ îáåñïå÷åíèÿ êîìïüþòåðíîé
áåçîïàñíîñòè

C. Wang, ¾A Security Architecture for survivability Mechanisms¿,
PhD thesis, Dep. of Computer Science, University of Virginia, 2000.
G. Wroblewski, ¾General Method of Program Code Obfuscation¿,
PhD thesis, Wroclaw University, 2002.
À.Â. ×åðíîâ, ¾Èññëåäîâàíèå è ðàçðàáîòêà ìåòîäîëîãèè
ìàñêèðîâêè ïðîãðàìì¿, Äèññ. íà ñîèñêàíèå ó÷. ñò. ê.ô.-ì.í,
ÂÌÊ ÌÃÓ, 2003.
Y. T. Kalai, ¾Attacks on the Fiat-Shamir Paradigm and Program
Obfuscation¿, PhD thesis, MIT, 2006
ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ
Îáôóñêàöèÿ äëÿ îáåñïå÷åíèÿ êîìïüþòåðíîé
áåçîïàñíîñòè

S. Drape, ¾Obfuscation of Abstract Data-Types¿, PhD thesis,
University of Oxford, 2004.
Ä.À. Ùåëêóíîâ, ¾Ðàçðàáîòêà ìåòîäèê çàùèòû ïðîãðàìì îò
àíàëèçà è ìîäèôèêàöèè íà îñíîâå çàïóòûâàíèÿ êîäà è
äàííûõ¿, Äèññ. íà ñîèñêàíèå ó÷. ñò. ê.ò.íàóê, ÌÃÒÓ èì. Í.Ý.
Áàóìàíà, 2009.
Mila Dalla Preda, ¾Code Obfuscation and Malware Detection by
Abstract Interpretation¿, Ph.D. Thesis. Universita degli Studi di
Verona, 2007.
ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ
Îáôóñêàöèÿ äëÿ îáåñïå÷åíèÿ êîìïüþòåðíîé
áåçîïàñíîñòè

Í.À. Êîíîíîâ, ¾Ñòðóêòóðíàÿ îïòèìèçàöèÿ è îáôóñêàöèÿ
êîìáèíàöèîííûõ öèôðîâûõ ñõåì â áàçèñå ÏËÈÑ/ÑÁÌÊ¿,
Äèññ. íà ñîèñêàíèå ó÷. ñò. ê.ò.í., ÌÈÝÒ, 2011.
J. Cappaert, ¾Code Obfuscation Techniques for Software
Protection¿, PhD thesis, Katholieke Universiteit Leuven, B. Preneel
(promotor), 112+14 pages, 2012.
C. Collberg, J. Nagra. ¾Surreptitious Software: Obfuscation,
Watermarking, and Tamperproong for Program Protection.¿
Addison-Wesley Professional, 2009.
ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ
Ðàçðûâ ïðîëåãàåò ìåæäó

ôîðìàëüíîé ïîñòàíîâêîé çàäà÷è îáôóñêàöèè è
ïðèëîæåíèÿìè :
Îáëàñòü ïðèìåíåíèÿ îáôóñêàöèè îáøèðíà, íî ëèøü â
ðåäêèõ ñëó÷àÿõ óäàâàëîñü äîáèòüñÿ ñòðîãîé
ìàòåìàòè÷åñêîé ïîñòàíîâêè çàäà÷è îáôóñêàöèè ñ
ïîäõîäÿùèì îïðåäåëåíèåì ñòîéêîñòè îáôóñêàöèè.
ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ
Ðàçðûâ ïðîëåãàåò ìåæäó

ôîðìàëüíîé ïîñòàíîâêîé çàäà÷è îáôóñêàöèè è
ïðèëîæåíèÿìè :
Îáëàñòü ïðèìåíåíèÿ îáôóñêàöèè îáøèðíà, íî ëèøü â
ðåäêèõ ñëó÷àÿõ óäàâàëîñü äîáèòüñÿ ñòðîãîé
ìàòåìàòè÷åñêîé ïîñòàíîâêè çàäà÷è îáôóñêàöèè ñ
ïîäõîäÿùèì îïðåäåëåíèåì ñòîéêîñòè îáôóñêàöèè.
ïîëîæèòåëüíûìè è îòðèöàòåëüíûìè ðåçóëüòàòàìè :
Åñòü ìíîãî ðåçóëüòàòîâ î íåâîçìîæíîñòè ïîñòðîåíèÿ
óíèâåðñàëüíûõ îáôóñêàòîðîâ, íî ìàëî ÷òî èçâåñòíî î
âîçìîæíîñòè ñòîéêîé îáôóñêàöèè äëÿ îòäåëüíûõ
ñïåöèàëüíûõ êëàññîâ ïðîãðàìì.
ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ
Ðàçðûâ ïðîëåãàåò ìåæäó

ôîðìàëüíîé ïîñòàíîâêîé çàäà÷è îáôóñêàöèè è
ïðèëîæåíèÿìè :
Îáëàñòü ïðèìåíåíèÿ îáôóñêàöèè îáøèðíà, íî ëèøü â
ðåäêèõ ñëó÷àÿõ óäàâàëîñü äîáèòüñÿ ñòðîãîé
ìàòåìàòè÷åñêîé ïîñòàíîâêè çàäà÷è îáôóñêàöèè ñ
ïîäõîäÿùèì îïðåäåëåíèåì ñòîéêîñòè îáôóñêàöèè.
ïîëîæèòåëüíûìè è îòðèöàòåëüíûìè ðåçóëüòàòàìè :
Åñòü ìíîãî ðåçóëüòàòîâ î íåâîçìîæíîñòè ïîñòðîåíèÿ
óíèâåðñàëüíûõ îáôóñêàòîðîâ, íî ìàëî ÷òî èçâåñòíî î
âîçìîæíîñòè ñòîéêîé îáôóñêàöèè äëÿ îòäåëüíûõ
ñïåöèàëüíûõ êëàññîâ ïðîãðàìì.
òåîðèåé è ïðàêòèêîé îáôóñêàöèè :
Èçâåñòíî ìíîãî ïðàêòè÷åñêèõ ìåòîäîâ îáôóñêàöèè
ïðîãðàìì, îäíàêî, íà íèõ íå îêàçàëè íèêàêîãî âëèÿíèÿ
îñíîâîïîëàãàþùèå ðåçóëüòàòû èç îáëàñòè êðèïòîãðàôèè.
ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ
Äàëüíåéøèé ïðîãðåññ
áóäåò âîçìîæåí, åñëè óäàñòñÿ ñáëèçèòü îáà ýòèõ
íàïðàâëåíèÿ èññëåäîâàíèé çà ñ÷åò ñîçäàíèÿ
ñîãëàñîâàííîé ñèñòåìû òðåáîâàíèé ñòîéêîñòè, êîòîðûå
ìîæíî áóäåò ïðèìåíÿòü äëÿ ðàçðàáîòêè ðàçíûõ ìåòîäîâ
îáôóñêàöèè ïðîãðàìì â ðàçíûõ ïðèëîæåíèÿõ.
ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ
Äàëüíåéøèé ïðîãðåññ
áóäåò âîçìîæåí, åñëè óäàñòñÿ ñáëèçèòü îáà ýòèõ
íàïðàâëåíèÿ èññëåäîâàíèé çà ñ÷åò ñîçäàíèÿ
ñîãëàñîâàííîé ñèñòåìû òðåáîâàíèé ñòîéêîñòè, êîòîðûå
ìîæíî áóäåò ïðèìåíÿòü äëÿ ðàçðàáîòêè ðàçíûõ ìåòîäîâ
îáôóñêàöèè ïðîãðàìì â ðàçíûõ ïðèëîæåíèÿõ.

Áëàãîäàðÿ ýòîìó ìîæíî áóäåò
ïîíÿòü, êàêèì òðåáîâàíèÿì ñòîéêîñòè äîëæíû
óäîâëåòâîðÿòü òå èëè èíûå ðàçíîâèäíîñòè îáôóñêàöèè
ïðîãðàìì;
îöåíèòü, êàêèìè äîñòîèíñòâàìè è íåäîñòàòêàìè îáëàäàþò
ðàçíûå ìåòîäû îáôóñêàöèè,
ïðèñïîñîáèòü ôîðìàëüíûå ìåòîäû òåîðèè âû÷èñëåíèé è
êðèïòîãðàôèè äëÿ íóæä îáôóñêàöèè ïðîãðàìì.
ÎÁÔÓÑÊÀÖÈß ×ÀÑÒÈ×ÍÎ ÇÀÙÈÙÅÍÍÛÕ
ÏÐÎÃÐÀÌÌ
R. Ostrovsky, Ecient computation on oblivious RAM, Proc. of
22nd ACM Symposium on Theory of Computing (STOC-90)
Çàùèùåííûé ïðîöåññîð P èìååò îòêðûòóþ ïàìÿòü M :
M ⇐⇒ P
ÎÁÔÓÑÊÀÖÈß ×ÀÑÒÈ×ÍÎ ÇÀÙÈÙÅÍÍÛÕ
ÏÐÎÃÐÀÌÌ
R. Ostrovsky, Ecient computation on oblivious RAM, Proc. of
22nd ACM Symposium on Theory of Computing (STOC-90)
Çàùèùåííûé ïðîöåññîð P èìååò îòêðûòóþ ïàìÿòü M :

Òåîðåìà

M ⇐⇒ P

Åñëè ñóùåñòâóþò îäíîñòîðîííèå ôóíêöèè, òî ëþáóþ
ïðîãðàììó π ìîæíî ïðåîáðàçîâàòü â ýêâèâàëåíòíóþ ïðîãðàììó
O(π) òàê, ÷òî:
1. Time(O(π)) = Time(π) × log3(Time(π));
2. Ïðè âûïîëíåíèè O(π) íà âû÷èñëèòåëüíîì óñòðîéñòâå ñ
çàêðûòûì ïðîöåññîðîì P è îòêðûòîé ïàìÿòüþ M íèêàêîé
ïðîòèâíèê, îãðàíè÷åííûé ïîëèíîìèàëüíûì âðåìåíåì, íå
ñïîñîáåí ðàñïîçíàòü ïðîãðàììó O(π) ïî
ïîñëåäîâàòåëüíîñòè åå îáðàùåíèé ê ïàìÿòè.
ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ
ÂÈÐÒÓÀËÜÍÎÃÎ ¾×ÅÐÍÎÃÎ ßÙÈÊÀ¿
[Barak B., Goldreich O., Impagliazzo R., et al., 2001]
Âåðîÿòíîñòíûé àëãîðèòì O íàçûâàåòñÿ îáôóñêàòîðîì,
ñòîéêèì â ìîäåëè ¾÷åðíîãî ÿùèêà¿, åñëè îí

óäîâëåòâîðÿåò ñëåäóþùèì òðåáîâàíèÿì:
1. (ôóíêöèîíàëüíîñòü) äëÿ ëþáîé ìàøèíû Òüþðèíãà M
M ≈ O(M).

2. (ïîëèíîìèàëüíîå çàìåäëåíèå) Ñóùåñòâóåò òàêîé ïîëèíîì
p(·), ÷òî äëÿ ëþáîé ìàøèíû Òüþðèíãà M
size(O(M)) ≤ p(size(M)), time(O(M)) ≤ p(time(M)).
A
S
ν

3. (ñòîéêîñòü) Äëÿ ëþáîé PPT (ïðîòèâíèêà ) ñóùåñòâóåò
PPT (ñèìóëÿòîð ) è ïðåíåáðåæèìî ìàëàÿ ôóíêöèÿ ,
òàêèå ÷òî íåðàâåíñòâî
|Pr{A(O(M)) = 1} − Pr{SM (1size(M) ) = 1}| ≤ ν(size(M))

âûïîëíÿåòñÿ äëÿ ëþáîé ìàøèíû Òüþðèíãà M .
ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ
ÂÈÐÒÓÀËÜÍÎÃÎ ¾×ÅÐÍÎÃÎ ßÙÈÊÀ¿
Òåîðåìà [Barak B., Goldreich O.,
Impagliazzo R., et al., 2001]
Îáôóñêàòîðîâ, ñòîéêèõ â ìîäåëè
¾÷åðíîãî ÿùèêà¿, íå ñóùåñòâóåò .
ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ
ÂÈÐÒÓÀËÜÍÎÃÎ ¾×ÅÐÍÎÃÎ ßÙÈÊÀ¿
Äîêàçàòåëüñòâî.

Ñóùåñòâóþò òàêèå âû÷èñëèìûå ôóíêöèè, ÷òî ëþáóþ èõ
ïðîãðàììíóþ ðåàëèçàöèþ íåâîçìîæíî îáôóñêèðîâàòü.
ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ
ÂÈÐÒÓÀËÜÍÎÃÎ ¾×ÅÐÍÎÃÎ ßÙÈÊÀ¿
Äîêàçàòåëüñòâî.

Ñóùåñòâóþò òàêèå âû÷èñëèìûå ôóíêöèè, ÷òî ëþáóþ èõ
ïðîãðàììíóþ ðåàëèçàöèþ íåâîçìîæíî îáôóñêèðîâàòü.
β, åñëè x = α ,
Fα,β (x) =
0 â îñòàëüíûõ ñëó÷àÿõ .
Gγ,δ (x) =

1, åñëè x(γ) = δ ,
0 â îñòàëüíûõ ñëó÷àÿõ .

Hα,β,γ,δ (x, y ) =

Fα,β (x),
Gγ,δ (x),

åñëè y = 0 ,
åñëè y = 0.
ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ
ÂÈÐÒÓÀËÜÍÎÃÎ ¾×ÅÐÍÎÃÎ ßÙÈÊÀ¿
Äîêàçàòåëüñòâî.

Ïðåäïîëîæèì, ÷òî π  ïðîãðàììà, âû÷èñëÿþùàÿ
ôóíêöèþ Hα,β,γ,δ , è O(π)  ýòî îáôóñêàöèÿ ïðîãðàììû π.
Ðàñïîëàãàÿ ïðîãðàììîé O(π), òðåáóåòñÿ âûÿñíèòü, ïðàâäà
ëè, ÷òî α = γ è β = δ.
ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ
ÂÈÐÒÓÀËÜÍÎÃÎ ¾×ÅÐÍÎÃÎ ßÙÈÊÀ¿
Äîêàçàòåëüñòâî.

Ïðåäïîëîæèì, ÷òî π  ïðîãðàììà, âû÷èñëÿþùàÿ
ôóíêöèþ Hα,β,γ,δ , è O(π)  ýòî îáôóñêàöèÿ ïðîãðàììû π.
Ðàñïîëàãàÿ ïðîãðàììîé O(π), òðåáóåòñÿ âûÿñíèòü, ïðàâäà
ëè, ÷òî α = γ è β = δ.
Åñëè òåêñò ïðîãðàììû O(π) íåäîñòóïåí, òî ýòî ìîæíî
ñäåëàòü òîëüêî ïîëíûì ïåðåáîðîì.
ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ
ÂÈÐÒÓÀËÜÍÎÃÎ ¾×ÅÐÍÎÃÎ ßÙÈÊÀ¿
Äîêàçàòåëüñòâî.

Ïðåäïîëîæèì, ÷òî π  ïðîãðàììà, âû÷èñëÿþùàÿ
ôóíêöèþ Hα,β,γ,δ , è O(π)  ýòî îáôóñêàöèÿ ïðîãðàììû π.
Ðàñïîëàãàÿ ïðîãðàììîé O(π), òðåáóåòñÿ âûÿñíèòü, ïðàâäà
ëè, ÷òî α = γ è β = δ.
Åñëè òåêñò ïðîãðàììû O(π) íåäîñòóïåí, òî ýòî ìîæíî
ñäåëàòü òîëüêî ïîëíûì ïåðåáîðîì.
Åñëè òåêñò ïðîãðàììû O(π) äîñòóïåí, òî äîñòàòî÷íî
âû÷èñëèòü
O(π)[O(π)[·, 0], 1] .
ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ
ÂÈÐÒÓÀËÜÍÎÃÎ ¾ÑÅÐÎÃÎ ßÙÈÊÀ¿
Âåðîÿòíîñòíûé àëãîðèòì O íàçûâàåòñÿ îáôóñêàòîðîì,
ñòîéêèì â ìîäåëè ¾ñåðîãî ÿùèêà¿, åñëè îí óäîâëåòâîðÿåò
ñëåäóþùèì òðåáîâàíèÿì:
1. (ôóíêöèîíàëüíîñòü)
2. (ïîëèíîìèàëüíîå çàìåäëåíèå)
3. (ñòîéêîñòü) Äëÿ ëþáîé PPT A (ïðîòèâíèêà) ñóùåñòâóåò
PPT S (ñèìóëÿòîð) è ïðåíåáðåæèìî ìàëàÿ ôóíêöèÿ ν ,
òàêèå ÷òî íåðàâåíñòâî
|Pr{A(O(M)) = 1} − Pr{STr(M) (1size(M) ) = 1}| ≤ ν(size(M))

âûïîëíÿåòñÿ äëÿ ëþáîé ìàøèíû Òüþðèíãà M .
Îðàêóë Tr(M) â îòâåò íà çàïðîñ x âûäàåò ïàðó (y , trM (x)),
ñîñòîÿùóþ èç
ðåçóëüòàòà âû÷èñëåíèÿ y = M(x)
òðàññû trM (x) âûïîëíåíèÿ ÌÒ M íà âõîäå x .
ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ
ÂÈÐÒÓÀËÜÍÎÃÎ ¾ÑÅÐÎÃÎ ßÙÈÊÀ¿
Ðàññìîòðèì ñåìåéñòâî ðåàãèðóþùèõ ÌÒ (RMT), íà âõîä
êîòîðûõ ïîäàåòñÿ áåñêîíå÷íûé ïîòîê äàííûõ (çàïðîñîâ)
x1 , x2 , . . . , xn , . . . . RMT âû÷èñëÿåò áåñêîíå÷íûé ïîòîê âûõîäíûõ
äàííûõ (îòêëèêîâ) y1, y2, . . . , yn , . . . :
yn = Fn (x1 , x2 , . . . , xn ).

Òåîðåìà[Âàðíîâñêèé Í.Ï., 2002]
Åñëè ñóùåñòâóþò îäíîñòîðîííèå
ôóíêöèè, òî îáôóñêàòîðîâ, ñòîéêèõ â
ìîäåëè âèðòóàëüíîãî ¾ñåðîãî ÿùèêà ¿,
äëÿ ðåàãèðóþùèõ ÌÒ íå ñóùåñòâóåò .
ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ
ÂÈÐÒÓÀËÜÍÎÃÎ ¾ÑÅÐÎÃÎ ßÙÈÊÀ¿
Îòêðûòàÿ ïðîáëåìà
À ñóùåñòâóþò ëè îáôóñêàòîðû,
ñòîéêèå â ìîäåëè âèðòóàëüíîãî
¾ñåðîãî ÿùèêà ¿, äëÿ îáû÷íûõ
ìàøèí Òüþðèíãà?
ÎÁÔÓÑÊÀÖÈß ÄËß ÇÀÙÈÒÛ
ÀËÃÎÐÈÒÌÎÂ
Âåðîÿòíîñòíûé àëãîðèòì O íàçûâàåòñÿ îáôóñêàòîðîì,
ñòîéêî çàùèùàþùèì àëãîðèòìû, åñëè îí óäîâëåòâîðÿåò
ñëåäóþùèì òðåáîâàíèÿì:
1. (ôóíêöèîíàëüíîñòü)
2. (ïîëèíîìèàëüíîå çàìåäëåíèå)
3. (ñòîéêîñòü) Äëÿ ëþáîé PPT A (ïðîòèâíèêà) ñóùåñòâóåò
PPT S (ñèìóëÿòîð) è ïðåíåáðåæèìî ìàëàÿ ôóíêöèÿ ν ,
òàêèå ÷òî íåðàâåíñòâî
|Pr{A(O(M),N) = 1} − Pr{SM (1size(M) ,N) = 1}| ≤ ν(size(M))

âûïîëíÿåòñÿ äëÿ ëþáîé òàêîé ïàðû ÌÒ (M, N), êîòîðàÿ
óäîâëåòâîðÿåò óñëîâèÿì
M ≈ N,
size(N) = poly (size(M)).
ÎÁÔÓÑÊÀÖÈß ÄËß ÇÀÙÈÒÛ
ÀËÃÎÐÈÒÌÎÂ
Òåîðåìà
Ñóùåñòâóåò îáôóñêàòîð, ñòîéêî
çàùèùàþùèé àëãîðèòìû ,
ïðåäñòàâëåííûå äåòåðìèíèðîâàííûìè
êîíå÷íûìè àâòîìàòàìè.
ÎÁÔÓÑÊÀÖÈß ÄËß ÇÀÙÈÒÛ
ÀËÃÎÐÈÒÌÎÂ
Òåîðåìà
Ñóùåñòâóåò îáôóñêàòîð, ñòîéêî
çàùèùàþùèé àëãîðèòìû ,
ïðåäñòàâëåííûå äåòåðìèíèðîâàííûìè
êîíå÷íûìè àâòîìàòàìè.
Îáôóñêàòîð äåòåðìèíèðîâàííûõ êîíå÷íûõ àâòîìàòîâ  ýòî
ïðîñòî àëãîðèòì ìèíèìèçàöèè êîíå÷íûõ àâòîìàòîâ.
Ýòî òèïè÷íûé ïðèìåð òðèâèàëüíîé îáôóñêàöèè àëãîðèòìîâ
ïóòåì ýôôåêòèâíîãî ïðèâåäåíèÿ ïðîãðàìì ê åäèíñòâåííîé
íîðìàëüíîé ôîðìå (ñòðîãàÿ íîðìàëèçóåìîñòü).
ÎÁÔÓÑÊÀÖÈß ÄËß ÇÀÙÈÒÛ
ÀËÃÎÐÈÒÌÎÂ
S. Goldwasser, G. N. Rothblum, On Best Possible Obfuscation,
TCC 2007.
Âåðîÿòíîñòíûé àëãîðèòì O íàçûâàåòñÿ íàèëó÷øèì
âîçìîæíûì îáôóñêàòîðîì, åñëè îí óäîâëåòâîðÿåò
ñëåäóþùèì òðåáîâàíèÿì:
1. (ôóíêöèîíàëüíîñòü)
2. (ïîëèíîìèàëüíîå çàìåäëåíèå)
3. (ñòîéêîñòü) Äëÿ ëþáîé PPT L (âûâåäûâàòåëü) ñóùåñòâóåò
òàêàÿ PPT S (ñèìóëÿòîð), ÷òî äëÿ äîñòàòî÷íî áîëüøèõ n
è äëÿ ïðîèçâîëüíîé ïàðû ÌÒ M1, M2, âû÷èñëÿþùèõ îäíó
è òó æå ôóíêöèþ è èìåþùèõ ðàçìåð n, ò. å. M1 ≈ M2,
size(M1 ) = size(M2 ) = n, äâà ðàñïðåäåëåíèÿ âåðîÿòíîñòåé
L(O(M1 )) è S(M2 )
âû÷èñëèòåëüíî íåîòëè÷èìû çà ïîëèíîìèàëüíîå âðåìÿ.
ÎÁÔÓÑÊÀÖÈß ÄËß ÇÀÙÈÒÛ
ÀËÃÎÐÈÒÌÎÂ
Òåîðåìà [S. Goldwasser, G. N. Rothblum, 2007]
Ñóùåñòâóåò íàèëó÷øèé âîçìîæíûé
îáôóñêàòîð äëÿ OBDD ïîëèíîìèàëüíîãî
ðàçìåðà.
ÎÁÔÓÑÊÀÖÈß ÄËß ÇÀÙÈÒÛ
ÀËÃÎÐÈÒÌÎÂ
Òåîðåìà [S. Goldwasser, G. N. Rothblum, 2007]
Ñóùåñòâóåò íàèëó÷øèé âîçìîæíûé
îáôóñêàòîð äëÿ OBDD ïîëèíîìèàëüíîãî
ðàçìåðà.
Òåîðåìà
Åñëè äëÿ ñåìåéñòâà 3-CNF ñóùåñòâóåò
íàèëó÷øèé âîçìîæíûé îáôóñêàòîð, òî
Σ
= PSPACE .
poly
2
ÎÁÔÓÑÊÀÖÈß ÄËß ÇÀÙÈÒÛ
ÀËÃÎÐÈÒÌÎÂ
[Barak B., Goldreich O., Impagliazzo R., et al., 2001]
Âåðîÿòíîñòíûé àëãîðèòì O îáëàäàåò ñâîéñòâîì

íåîòëè÷èìîãî îáôóñêàòîðà, åñëè îí óäîâëåòâîðÿåò

ñëåäóþùèì òðåáîâàíèÿì:
1. (ôóíêöèîíàëüíîñòü) äëÿ ëþáîé ìàøèíû Òüþðèíãà M
M ≈ O(M).

2. (ïîëèíîìèàëüíîå çàìåäëåíèå) Ñóùåñòâóåò òàêîé ïîëèíîì
p(·), ÷òî äëÿ ëþáîé ìàøèíû Òüþðèíãà M
size(O(M)) ≤ p(size(M)), time(O(M)) ≤ p(time(M)).

3. (ñòîéêîñòü) Äëÿ ëþáîé PPT A (ïðîòèâíèêà ) ñóùåñòâóåò
òàêàÿ ïðåíåáðåæèìî ìàëàÿ ôóíêöèÿ ν , ÷òî äëÿ ëþáîé
ïàðû ìàøèí Òüþðèíãà M1, M2, åñëè M1 ∼ M2, òî

|Pr{A(O(M1 )) = 1}−Pr{A(O(M2 )) = 1}| ≤ ν(size(M1 ) + size(M2 )
ÎÁÔÓÑÊÀÖÈß ÄËß ÇÀÙÈÒÛ
ÀËÃÎÐÈÒÌÎÂ
Îòêðûòûå ïðîáëåìû
Ñóùåñòâóþò ëè êëàññû ïðîãðàìì, äîïóñêàþùèõ
íåòðèâèàëüíóþ ñòîéêóþ îáôóñêàöèþ, çàùèùàþùóþ
àëãîðèòìû ?
Ñóùåñòâóþò ëè ïðîãðàììû, íå èìåþùèå ñòîéêîé
îáôóñêàöèè, çàùèùàþùåé àëãîðèòìû ?
Êàê ñâÿçàíû äðóã ñ äðóãîì îáôóñêàöèÿ, çàùèùàþùàÿ
àëãîðèòìû è íàèëó÷øàÿ âîçìîæíàÿ îáôóñêàöèÿ?
ÎÁÔÓÑÊÀÖÈß, ÑÊÐÛÂÀÞÙÀß
ÊÎÍÑÒÀÍÒÓ
Ïóñòü M  ýòî ïðîãðàììà ñ ïàðàìåòðîì (ïåðåìåííîé) x .
Îáîçíà÷èì Mc ïðèìåð ïðîãðàììû M , â êîòîðîé âìåñòî
ïàðàìåòðà x ïîäñòàâëåíà êîíñòàíòà c ∈ {0, 1}n .
Âåðîÿòíîñòíûé àëãîðèòì O íàçûâàåòñÿ îáôóñêàòîðîì,
ñêðûâàþùèì êîíñòàíòó, äëÿ ïàðàìåòðèçîâàííîãî ñåìåéñòâà
ïðîãðàìì F = {Mc : c ∈ {0, 1}n , n ≥ 1}, åñëè îí
óäîâëåòâîðÿåò ñëåäóþùèì òðåáîâàíèÿì:
1. (ôóíêöèîíàëüíîñòü)
2. (ïîëèíîìèàëüíîå çàìåäëåíèå)
3. (ñòîéêîñòü) Äëÿ ëþáîé PPT A (ïðîòèâíèêà) ñóùåñòâóåò
PPT S (ñèìóëÿòîð) è ïðåíåáðåæèìî ìàëàÿ ôóíêöèÿ ν ,
òàêèå ÷òî íåðàâåíñòâî
|Pr{A[O(Mc0 ), Mc ] = 1} − Pr{SMc0 [1size(Mc0 ) , Mc ] = 1} ≤ ν(n)

âåðíî äëÿ ëþáîé ïàðû êîíñòàíò c0 ∈ {0, 1}n è c ∈R {0, 1}n .
ÎÁÔÓÑÊÀÖÈß, ÑÊÐÛÂÀÞÙÀß
ÊÎÍÑÒÀÍÒÓ
ÃÈÏÎÒÅÇÀ
Ñòîéêàÿ îáôóñêàöèÿ, ñêðûâàþùàÿ
êîíñòàíòó,
íåâîçìîæíà , åñëè M  ýòî
óíèâåðñàëüíàÿ ìàøèíà Òüþðèíãà;
âîçìîæíà , åñëè M = E (key (x), m) 
ýòî ïðîãðàììà øèôðîâàíèÿ ñòîéêîé
êðèïòîñèñòåìû ñ îòêðûòûì êëþ÷îì
key (x) è ñåêðåòíûì êëþ÷îì x.
x

x
ÎÁÔÓÑÊÀÖÈß ÏÐÅÄÈÊÀÒÎÂ
Âåðîÿòíîñòíûé àëãîðèòì O íàçûâàåòñÿ îáôóñêàòîðîì
ïðåäèêàòà π, çàäàííîãî íà ñåìåéñòâå ìàøèí Òüþðèíãà F ,
åñëè îí óäîâëåòâîðÿåò ñëåäóþùèì òðåáîâàíèÿì:
1. (ôóíêöèîíàëüíîñòü)
2. (ïîëèíîìèàëüíîå çàìåäëåíèå)
3. (ñòîéêîñòü) Äëÿ ëþáîé PPT A (ïðîòèâíèêà) ñóùåñòâóåò
PPT S (ñèìóëÿòîð) è ïðåíåáðåæèìî ìàëàÿ ôóíêöèÿ ν ,
òàêèå ÷òî íåðàâåíñòâî
|Pr{A[O(M)] = π(M)} − Pr{SM [1size(M) ] = π(M)}| ≤ neg(size(M))

âåðíî äëÿ êàæäîé ÌÒ M èç F è åå îáôóñêàöèè O(M).
ÎÁÔÓÑÊÀÖÈß ÏÐÅÄÈÊÀÒÎÂ
Òî÷å÷íîé íàçûâàåòñÿ ôóíêöèÿ fa : {0, 1}n → {0, 1}, a ∈ {0, 1}n ,
óäîâëåòâîðÿþùàÿ óñëîâèþ
1, åñëè x = a,
fa (x) =
0, åñëè x = a.
Ðàññìîòðèì ñåìåéñòâî Fn , ñîñòîÿùåå èç òî÷å÷íûõ ôóíêöèé
{fu : u ∈ {0, 1}n } è ôóíêöèè, òîæäåñòâåííî ðàâíîé 0. Íà ýòîì
ñåìåéñòâå îïðåäåëåí ïðåäèêàò P(f ) = (f ≡ 0).

Òåîðåìà [Çàõàðîâ Â.À., Âàðíîâñêèé Í.Ï., 2003]
Åñëè ñóùåñòâóþò îäíîñòîðîííèå ïåðåñòàíîâêè, òî
ïðåäèêàò P , îïðåäåëåííûé íà ñåìåéñòâå ïðîãðàìì,
âû÷èñëÿþùèõ ôóíêöèè ñåìåéñòâà Fn , èìååò ñòîéêóþ
îáôóñêàöèþ.
ÎÁÔÓÑÊÀÖÈß ÏÐÅÄÈÊÀÒÎÂ
Äîêàçàòåëüñòâî
Íóæíî ñäåëàòü íåîòëè÷èìûìè äðóã îò äðóãà äâå ïðîãðàììû
prog π0 ;
prog πa ;
var x : string y : bit;
var x : string y : bit;
input (x) ;
const a : string;
y = 0; output (y);
input (x) ;
end of prog
if x==a then y=1 else y=0;
output (y);
end of prog
ÎÁÔÓÑÊÀÖÈß ÏÐÅÄÈÊÀÒÎÂ
Äîêàçàòåëüñòâî
Íóæíî ñäåëàòü íåîòëè÷èìûìè äðóã îò äðóãà äâå ïðîãðàììû
prog π0 ;
prog πa ;
var x : string y : bit;
var x : string y : bit;
input (x) ;
const a : string;
y = 0; output (y);
input (x) ;
end of prog
if x==a then y=1 else y=0;
output (y);
end of prog

Íàì ïîíàäîáèòñÿ îäíîñòîðîííÿÿ ïåðåñòàíîâêà ϕ íà ìíîæåñòâå
ñòðîê {0, 1}n è ãåíåðàòîð ñëó÷àéíûõ ñòðîê, êîòîðûé ìîæíî
ïîñòðîèòü íà îñíîâå îäíîñòðîííåé ïåðåñòàíîâêè.
ÎÁÔÓÑÊÀÖÈß ÏÐÅÄÈÊÀÒÎÂ

Äëÿ ïðîãðàììû π0 : 1) âûáðàòün äâå ñëó÷àéíûå ñòðîêè w , u,
2) âû÷èñëèòü v = ϕ(w ) è σ = wi ui mod 2.
i=1
ÎÁÔÓÑÊÀÖÈß ÏÐÅÄÈÊÀÒÎÂ

Äëÿ ïðîãðàììû π0 : 1) âûáðàòün äâå ñëó÷àéíûå ñòðîêè w , u,
2) âû÷èñëèòü v = ϕ(w ) è σ = wi ui mod 2.
i=1
Äëÿ ïðîãðàììû πa : 1) âûáðàòü ñëó÷àéíóþ ñòðîêó u,
n
2) âû÷èñëèòü v = ϕ(a) è σ = 1 + ai ui mod 2.
i=1
ÎÁÔÓÑÊÀÖÈß ÏÐÅÄÈÊÀÒÎÂ

Äëÿ ïðîãðàììû π0 : 1) âûáðàòün äâå ñëó÷àéíûå ñòðîêè w , u,
2) âû÷èñëèòü v = ϕ(w ) è σ = wi ui mod 2.
i=1
Äëÿ ïðîãðàììû πa : 1) âûáðàòü ñëó÷àéíóþ ñòðîêó u,
n
2) âû÷èñëèòü v = ϕ(a) è σ = 1 + ai ui mod 2.
i=1
Òîãäà êàæäàÿ èç ïðîãðàìì π0 , πa , ãäå a ∈ {0, 1}n ïðèìåò âèä:
prog O(π);
var x : string y : bit;
const u,v : string, σ : bit;
input (x) ;
if ϕ(x)==v then
n
if σ == xi ∗ ui mod 2 then y=0 else y=1
i=1
else y=0;
output (y);

end of prog
ÎÁÔÓÑÊÀÖÈß ÏÐÅÄÈÊÀÒÎÂ
Òåîðåìà

Ïóñòü O1, O2  îáôóñêàòîðû ôóíêöèîíàëüíûõ ñâîéñòâ
π1 , π2 ñîîòâåòñòâåííî, è ïðè ýòîì îáëàñòü çíà÷åíèé
îáôóñêàòîðà O2 ñîäåðæèòñÿ â îáëàñòè îïðåäåëåíèÿ
îáôóñêàòîðà O1.
Òîãäà êîìïîçèöèÿ O = O1O2 ÿâëÿåòñÿ îáôóñêàòîðîì
îáîèõ ïðåäèêàòîâ π1 è π2.
ÇÀÊËÞ×ÅÍÈÅ
Íóæíî ïðîäîëæàòü ýòîò ñïèñîê îïðåäåëåíèé,
ôîðìóëèðóÿ âñå áîëåå è áîëåå ñëàáûå òðåáîâàíèÿ
ñòîéêîñòè, ïðèãîäíûå äëÿ ðåøåíèÿ äðóãèõ
ïðèëîæåíèé îáôóñêàöèè.
ÇÀÊËÞ×ÅÍÈÅ
Íóæíî ïðîäîëæàòü ýòîò ñïèñîê îïðåäåëåíèé,
ôîðìóëèðóÿ âñå áîëåå è áîëåå ñëàáûå òðåáîâàíèÿ
ñòîéêîñòè, ïðèãîäíûå äëÿ ðåøåíèÿ äðóãèõ
ïðèëîæåíèé îáôóñêàöèè.
Íóæíî àêòèâíåå ïðèâëåêàòü äëÿ îáôóñêàöèè
äîñòèæåíèÿ êðèïòîãðàôèè è òåîðèè ñëîæíîñòè 
ñèñòåìû ãîìîìîðôíîãî øèôðîâàíèÿ,
òðóäíîðåøàåìûå çàäà÷è.
ÄÎÑÒÈÆÅÍÈß ÏÎÑËÅÄÍÈÕ ËÅÒ
 èþëå 2013 ã. áûëà îïóáëèêîâàíà ñòàòüÿ

Candidate Indistinguishability Obfuscation and Functional
Encryption for All Circuits
S. Garg, C. Gentry, S. Halevi, M. Raykova, A. Sahai, B. Waters
â êîòîðîé àâòîðû ïîêàçàëè, ÷òî âåðíà

Òåîðåìà [S. Carg, C. Gentry, et al, 2013]
Íåîòëè÷èìàÿ îáôóñêàöèÿ âîçìîæíà äëÿ
ïðîèçâîëüíûõ ïðîãðàìì
(ïðè íåêîòîðûõ ïðåäïîëîæåíèÿõ î òðóäíîñòè
ðåøåíèÿ çàäà÷ òåîðèè ãðóïï)
ÄÎÑÒÈÆÅÍÈß ÏÎÑËÅÄÍÈÕ ËÅÒ
30 ñåíòÿáðÿ 2013 ã. áûëà îïóáëèêîâàíà ñòàòüÿ

Virtual Black-Box Obfuscation for All Circuits via Generic
Graded Encoding.

Zvika Brakerski, Guy N. Rothblum
We present a new general-purpose obfuscator for all polynomial-size
circuits. The obfuscator uses graded encoding schemes, a
generalization of multilinear maps. We prove that the obfuscator
exposes no more information than the program's black-box
functionality, and achieves virtual black-box security, in the generic
graded encoded scheme model.
Áëàãîäàðþ çà
âíèìàíèå
Âàøè âîïðîñû?

More Related Content

What's hot (15)

Бокань В.А Культурологія
Бокань В.А КультурологіяБокань В.А Культурологія
Бокань В.А Культурологія
 
Information systems and technologys in the economic by Klimushin_Orlov_Serenok
Information systems and technologys in the economic by Klimushin_Orlov_SerenokInformation systems and technologys in the economic by Klimushin_Orlov_Serenok
Information systems and technologys in the economic by Klimushin_Orlov_Serenok
 
Huulichid
HuulichidHuulichid
Huulichid
 
Gost r 53488 2009
Gost r 53488 2009Gost r 53488 2009
Gost r 53488 2009
 
3
33
3
 
Br29
Br29Br29
Br29
 
Ажлын хөтөч
Ажлын хөтөч Ажлын хөтөч
Ажлын хөтөч
 
Nf 11142011
Nf 11142011Nf 11142011
Nf 11142011
 
Ажил мэргэжлийн зөвлөгөө
Ажил мэргэжлийн зөвлөгөөАжил мэргэжлийн зөвлөгөө
Ажил мэргэжлийн зөвлөгөө
 
Br34
Br34Br34
Br34
 
жера №42
жера  №42жера  №42
жера №42
 
Br35
Br35Br35
Br35
 
Br40
Br40Br40
Br40
 
ИМПРЕСИИ ОТ ДЕТСТВОТО
ИМПРЕСИИ ОТ ДЕТСТВОТОИМПРЕСИИ ОТ ДЕТСТВОТО
ИМПРЕСИИ ОТ ДЕТСТВОТО
 
Br32
Br32Br32
Br32
 

More from Iosif Itkin

Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4Iosif Itkin
 
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...Iosif Itkin
 
Exactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test OraclesExactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test OraclesIosif Itkin
 
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX ProtocolExactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX ProtocolIosif Itkin
 
Operational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market InfrastructuresOperational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market InfrastructuresIosif Itkin
 
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday SeasonIosif Itkin
 
Testing the Intelligence of your AI
Testing the Intelligence of your AITesting the Intelligence of your AI
Testing the Intelligence of your AIIosif Itkin
 
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market InfrastructuresEXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market InfrastructuresIosif Itkin
 
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...Iosif Itkin
 
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan ShamraiEXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan ShamraiIosif Itkin
 
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference OpenEXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference OpenIosif Itkin
 
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...Iosif Itkin
 
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...Iosif Itkin
 
QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)Iosif Itkin
 
Machine Learning and RoboCop Testing
Machine Learning and RoboCop TestingMachine Learning and RoboCop Testing
Machine Learning and RoboCop TestingIosif Itkin
 
Behaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileBehaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileIosif Itkin
 
2018 - Exactpro Year in Review
2018 - Exactpro Year in Review2018 - Exactpro Year in Review
2018 - Exactpro Year in ReviewIosif Itkin
 
Exactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and StrategyExactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and StrategyIosif Itkin
 
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing ChallengesFIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing ChallengesIosif Itkin
 
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)Iosif Itkin
 

More from Iosif Itkin (20)

Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4
 
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
 
Exactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test OraclesExactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test Oracles
 
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX ProtocolExactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
 
Operational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market InfrastructuresOperational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market Infrastructures
 
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
 
Testing the Intelligence of your AI
Testing the Intelligence of your AITesting the Intelligence of your AI
Testing the Intelligence of your AI
 
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market InfrastructuresEXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
 
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
 
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan ShamraiEXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
 
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference OpenEXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
 
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
 
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
 
QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)
 
Machine Learning and RoboCop Testing
Machine Learning and RoboCop TestingMachine Learning and RoboCop Testing
Machine Learning and RoboCop Testing
 
Behaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileBehaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibile
 
2018 - Exactpro Year in Review
2018 - Exactpro Year in Review2018 - Exactpro Year in Review
2018 - Exactpro Year in Review
 
Exactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and StrategyExactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and Strategy
 
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing ChallengesFIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
 
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
 

TMPA-2013 Keynote: Zakharov Obfuscation

  • 1. Ìàòåìàòè÷åñêèå àñïåêòû çàäà÷è îáôóñêàöèè ïðîãðàìì Â.À. Çàõàðîâ ô-ò ÂÌèÊ ÌÃÓ èì. Ì.Â. Ëîìîíîñîâà
  • 2. ÎÁÔÓÑÊÀÖÈß ÏÐÎÃÐÀÌÌ ýòî òàêàÿ ðàçíîâèäíîñòü ýêâèâàëåíòíûõ ïðåîáðàçîâàíèé ïðîãðàìì, êîòîðàÿ ïðåäíàçíà÷åíà äëÿ çàòðóäíåíèÿ ïîíèìàíèÿ ïðîãðàìì è èçâëå÷åíèÿ èç íèõ ïîëåçíîé èíôîðìàöèè îá àëãîðèòìàõ, ñòðóêòóðàõ äàííûõ, ñåêðåòíûõ êëþ÷àõ, ñîäåðæàùèõñÿ â ïðîãðàììàõ.
  • 3. ÎÁÔÓÑÊÀÖÈß ÏÐÎÃÐÀÌÌ ýòî òàêàÿ ðàçíîâèäíîñòü ýêâèâàëåíòíûõ ïðåîáðàçîâàíèé ïðîãðàìì, êîòîðàÿ ïðåäíàçíà÷åíà äëÿ çàòðóäíåíèÿ ïîíèìàíèÿ ïðîãðàìì è èçâëå÷åíèÿ èç íèõ ïîëåçíîé èíôîðìàöèè îá àëãîðèòìàõ, ñòðóêòóðàõ äàííûõ, ñåêðåòíûõ êëþ÷àõ, ñîäåðæàùèõñÿ â ïðîãðàììàõ. Îñíîâíûå çàäà÷è Êàê ïîñòðîèòü îáôóñêàòîð ïðîãðàìì? Êàê îöåíèòü ñòîéêîñòü îáôóñêàöèè?
  • 4. ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Îáôóñêàöèÿ äëÿ íóæä êðèïòîãðàôèè Die W., Hellman M. New directions in cryptography. IEEE Transactions in Information Theory, 1976. Îáôóñêàöèÿ ïîçâîëÿåò ïðåîáðàçîâûâàòü êðèïòîñèñòåìû ñ ñåêðåòíûì êëþ÷îì â êðèïòîñèñòåìû ñ îòêðûòûì êëþ÷îì. Äëÿ ýòîãî äîñòàòî÷íî ïîäâåðãíóòü îáôóñêàöèè ïðîãðàììó, ðåàëèçóþùóþ àëãîðèòì øèôðîâàíèÿ ñ âñòàâëåííûì â íåå ñåêðåòíûì êëþ÷îì. Ïðåîáðàçîâàííóþ òàêèì îáðàçîì ïðîãðàììó ìîæíî èñïîëüçîâàòü â êà÷åñòâå ïðîãðàììû øèôðîâàíèÿ êðèïòîñèñòåìû ñ îòêðûòûì êëþ÷îì.
  • 5. ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Îáôóñêàöèÿ äëÿ íóæä êðèïòîãðàôèè Îáôóñêàöèÿ ïðîãðàìì ïîçâîëÿåò ïðåâðàùàòü êðèïòîñèòåìû ñ ñåêðåòíûì êëþ÷îì â êðèïòîñèñòåìû ñ îòêðûòûì êëþ÷îì, ñòðîèòü ñèñòåìû âû÷èñëåíèé íàä çàøèôðîâàííûìè äàííûìè (êðèïòîñèñòåìû ãîìîìîðôíûõ âû÷èñëåíèé), èçáàâèòüñÿ îò ìîäåëè ñëó÷àéíîãî îðàêóëà â êðèïòîãðàôè÷åñêèõ ïðîòîêîëàõ, ñîçäàâàòü âåðèôèöèðóåìûå ñèñòåìû òàéíîãî ãîëîñîâàíèÿ, îáåñïå÷èòü êîíôèäåíöèàëüíîñòü â ïîèñêîâûõ ñèñòåìàõ è áàçàõ äàííûõ.
  • 6. ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Îáôóñêàöèÿ äëÿ íóæä êðèïòîãðàôèè Íî äëÿ ýòîãî îáôóñêàöèÿ äîëæíà óäîâëåòâîðÿòü î÷åíü ñòðîãèì òðåáîâàíèÿì ñòîéêîñòè, ïðèíÿòûì â êðèïòîãðàôèè. Ñîâðåìåííîå ñîñòîÿíèå äåë â ýòîì íàïðàâëåíèè èññëåäîâàíèé òàêîâî: î÷åíü ìíîãî îòðèöàòåëüíûõ ðåçóëüòàòîâ, è î÷åíü ìàëî ïîëîæèòåëüíûõ äîñòèæåíèé.
  • 7. ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Îáôóñêàöèÿ äëÿ îáåñïå÷åíèÿ êîìïüþòåðíîé áåçîïàñíîñòè Collberg C., Thomborson C., Low D. A taxonomy of obfuscating transformations, Tech. Report, N 148, Dept. of Computer Science, University of Auckland, 1997. Îáôóñêèðóþùèå ïðåîáðàçîâàíèÿ ìîæíî èñïîëüçîâàòü äëÿ çàùèòû èíòåëëåêòóàëüíîé ñîáñòâåííîñòè íà ïðîãðàììíîå îáåñïå÷åíèå, èíôîðìàöèîííîé çàùèòû ìîáèëüíûõ àãåíòîâ è ìèêðîýëåêòðîííûõ ñõåì íà ýòàïå ïðîåêòèðîâàíèÿ, à òàêæå äëÿ
  • 8. ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Îáôóñêàöèÿ äëÿ îáåñïå÷åíèÿ êîìïüþòåðíîé áåçîïàñíîñòè Collberg C., Thomborson C., Low D. A taxonomy of obfuscating transformations, Tech. Report, N 148, Dept. of Computer Science, University of Auckland, 1997. Îáôóñêèðóþùèå ïðåîáðàçîâàíèÿ ìîæíî èñïîëüçîâàòü äëÿ çàùèòû èíòåëëåêòóàëüíîé ñîáñòâåííîñòè íà ïðîãðàììíîå îáåñïå÷åíèå, èíôîðìàöèîííîé çàùèòû ìîáèëüíûõ àãåíòîâ è ìèêðîýëåêòðîííûõ ñõåì íà ýòàïå ïðîåêòèðîâàíèÿ, à òàêæå äëÿ ñîêðûòèÿ èñêóññòâåííûõ óÿçâèìîñòåé â ïðîãðàììàõ , ìàñêèðîâêè êîìïüþòåðíûõ ¾âèðóñîâ¿ , óäàëåíèÿ ¾âîäÿíûõ çíàêîâ¿ èç ïðîãðàìì .
  • 9. ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Îáôóñêàöèÿ äëÿ îáåñïå÷åíèÿ êîìïüþòåðíîé áåçîïàñíîñòè Öåëü îáôóñêàöèè îêàçàòü ïðîòèâîäåéñòâèå ìåòîäàì îáðàòíîé èíæåíåðèè è àëãîðèòìàì ñòàòè÷åñêîãî è äèíàìè÷åñêîãî àíàëèçà ïðîãðàìì. Ñîâðåìåííîå ñîñòîÿíèå äåë â ýòîì íàïðàâëåíèè èññëåäîâàíèé òàêîâî: ìíîãî ¾ýâðèñòè÷åñêèõ¿ ìåòîäîâ îáôóñêàöèè, è íèêàêèõ îöåíîê èõ ñòîéêîñòè.
  • 10. ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Îáôóñêàöèÿ äëÿ îáåñïå÷åíèÿ êîìïüþòåðíîé áåçîïàñíîñòè C. Wang, ¾A Security Architecture for survivability Mechanisms¿, PhD thesis, Dep. of Computer Science, University of Virginia, 2000. G. Wroblewski, ¾General Method of Program Code Obfuscation¿, PhD thesis, Wroclaw University, 2002. À.Â. ×åðíîâ, ¾Èññëåäîâàíèå è ðàçðàáîòêà ìåòîäîëîãèè ìàñêèðîâêè ïðîãðàìì¿, Äèññ. íà ñîèñêàíèå ó÷. ñò. ê.ô.-ì.í, ÂÌÊ ÌÃÓ, 2003. Y. T. Kalai, ¾Attacks on the Fiat-Shamir Paradigm and Program Obfuscation¿, PhD thesis, MIT, 2006
  • 11. ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Îáôóñêàöèÿ äëÿ îáåñïå÷åíèÿ êîìïüþòåðíîé áåçîïàñíîñòè S. Drape, ¾Obfuscation of Abstract Data-Types¿, PhD thesis, University of Oxford, 2004. Ä.À. Ùåëêóíîâ, ¾Ðàçðàáîòêà ìåòîäèê çàùèòû ïðîãðàìì îò àíàëèçà è ìîäèôèêàöèè íà îñíîâå çàïóòûâàíèÿ êîäà è äàííûõ¿, Äèññ. íà ñîèñêàíèå ó÷. ñò. ê.ò.íàóê, ÌÃÒÓ èì. Í.Ý. Áàóìàíà, 2009. Mila Dalla Preda, ¾Code Obfuscation and Malware Detection by Abstract Interpretation¿, Ph.D. Thesis. Universita degli Studi di Verona, 2007.
  • 12. ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Îáôóñêàöèÿ äëÿ îáåñïå÷åíèÿ êîìïüþòåðíîé áåçîïàñíîñòè Í.À. Êîíîíîâ, ¾Ñòðóêòóðíàÿ îïòèìèçàöèÿ è îáôóñêàöèÿ êîìáèíàöèîííûõ öèôðîâûõ ñõåì â áàçèñå ÏËÈÑ/ÑÁÌÊ¿, Äèññ. íà ñîèñêàíèå ó÷. ñò. ê.ò.í., ÌÈÝÒ, 2011. J. Cappaert, ¾Code Obfuscation Techniques for Software Protection¿, PhD thesis, Katholieke Universiteit Leuven, B. Preneel (promotor), 112+14 pages, 2012. C. Collberg, J. Nagra. ¾Surreptitious Software: Obfuscation, Watermarking, and Tamperproong for Program Protection.¿ Addison-Wesley Professional, 2009.
  • 13. ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Ðàçðûâ ïðîëåãàåò ìåæäó ôîðìàëüíîé ïîñòàíîâêîé çàäà÷è îáôóñêàöèè è ïðèëîæåíèÿìè : Îáëàñòü ïðèìåíåíèÿ îáôóñêàöèè îáøèðíà, íî ëèøü â ðåäêèõ ñëó÷àÿõ óäàâàëîñü äîáèòüñÿ ñòðîãîé ìàòåìàòè÷åñêîé ïîñòàíîâêè çàäà÷è îáôóñêàöèè ñ ïîäõîäÿùèì îïðåäåëåíèåì ñòîéêîñòè îáôóñêàöèè.
  • 14. ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Ðàçðûâ ïðîëåãàåò ìåæäó ôîðìàëüíîé ïîñòàíîâêîé çàäà÷è îáôóñêàöèè è ïðèëîæåíèÿìè : Îáëàñòü ïðèìåíåíèÿ îáôóñêàöèè îáøèðíà, íî ëèøü â ðåäêèõ ñëó÷àÿõ óäàâàëîñü äîáèòüñÿ ñòðîãîé ìàòåìàòè÷åñêîé ïîñòàíîâêè çàäà÷è îáôóñêàöèè ñ ïîäõîäÿùèì îïðåäåëåíèåì ñòîéêîñòè îáôóñêàöèè. ïîëîæèòåëüíûìè è îòðèöàòåëüíûìè ðåçóëüòàòàìè : Åñòü ìíîãî ðåçóëüòàòîâ î íåâîçìîæíîñòè ïîñòðîåíèÿ óíèâåðñàëüíûõ îáôóñêàòîðîâ, íî ìàëî ÷òî èçâåñòíî î âîçìîæíîñòè ñòîéêîé îáôóñêàöèè äëÿ îòäåëüíûõ ñïåöèàëüíûõ êëàññîâ ïðîãðàìì.
  • 15. ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Ðàçðûâ ïðîëåãàåò ìåæäó ôîðìàëüíîé ïîñòàíîâêîé çàäà÷è îáôóñêàöèè è ïðèëîæåíèÿìè : Îáëàñòü ïðèìåíåíèÿ îáôóñêàöèè îáøèðíà, íî ëèøü â ðåäêèõ ñëó÷àÿõ óäàâàëîñü äîáèòüñÿ ñòðîãîé ìàòåìàòè÷åñêîé ïîñòàíîâêè çàäà÷è îáôóñêàöèè ñ ïîäõîäÿùèì îïðåäåëåíèåì ñòîéêîñòè îáôóñêàöèè. ïîëîæèòåëüíûìè è îòðèöàòåëüíûìè ðåçóëüòàòàìè : Åñòü ìíîãî ðåçóëüòàòîâ î íåâîçìîæíîñòè ïîñòðîåíèÿ óíèâåðñàëüíûõ îáôóñêàòîðîâ, íî ìàëî ÷òî èçâåñòíî î âîçìîæíîñòè ñòîéêîé îáôóñêàöèè äëÿ îòäåëüíûõ ñïåöèàëüíûõ êëàññîâ ïðîãðàìì. òåîðèåé è ïðàêòèêîé îáôóñêàöèè : Èçâåñòíî ìíîãî ïðàêòè÷åñêèõ ìåòîäîâ îáôóñêàöèè ïðîãðàìì, îäíàêî, íà íèõ íå îêàçàëè íèêàêîãî âëèÿíèÿ îñíîâîïîëàãàþùèå ðåçóëüòàòû èç îáëàñòè êðèïòîãðàôèè.
  • 16. ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Äàëüíåéøèé ïðîãðåññ áóäåò âîçìîæåí, åñëè óäàñòñÿ ñáëèçèòü îáà ýòèõ íàïðàâëåíèÿ èññëåäîâàíèé çà ñ÷åò ñîçäàíèÿ ñîãëàñîâàííîé ñèñòåìû òðåáîâàíèé ñòîéêîñòè, êîòîðûå ìîæíî áóäåò ïðèìåíÿòü äëÿ ðàçðàáîòêè ðàçíûõ ìåòîäîâ îáôóñêàöèè ïðîãðàìì â ðàçíûõ ïðèëîæåíèÿõ.
  • 17. ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Äàëüíåéøèé ïðîãðåññ áóäåò âîçìîæåí, åñëè óäàñòñÿ ñáëèçèòü îáà ýòèõ íàïðàâëåíèÿ èññëåäîâàíèé çà ñ÷åò ñîçäàíèÿ ñîãëàñîâàííîé ñèñòåìû òðåáîâàíèé ñòîéêîñòè, êîòîðûå ìîæíî áóäåò ïðèìåíÿòü äëÿ ðàçðàáîòêè ðàçíûõ ìåòîäîâ îáôóñêàöèè ïðîãðàìì â ðàçíûõ ïðèëîæåíèÿõ. Áëàãîäàðÿ ýòîìó ìîæíî áóäåò ïîíÿòü, êàêèì òðåáîâàíèÿì ñòîéêîñòè äîëæíû óäîâëåòâîðÿòü òå èëè èíûå ðàçíîâèäíîñòè îáôóñêàöèè ïðîãðàìì; îöåíèòü, êàêèìè äîñòîèíñòâàìè è íåäîñòàòêàìè îáëàäàþò ðàçíûå ìåòîäû îáôóñêàöèè, ïðèñïîñîáèòü ôîðìàëüíûå ìåòîäû òåîðèè âû÷èñëåíèé è êðèïòîãðàôèè äëÿ íóæä îáôóñêàöèè ïðîãðàìì.
  • 18. ÎÁÔÓÑÊÀÖÈß ×ÀÑÒÈ×ÍÎ ÇÀÙÈÙÅÍÍÛÕ ÏÐÎÃÐÀÌÌ R. Ostrovsky, Ecient computation on oblivious RAM, Proc. of 22nd ACM Symposium on Theory of Computing (STOC-90) Çàùèùåííûé ïðîöåññîð P èìååò îòêðûòóþ ïàìÿòü M : M ⇐⇒ P
  • 19. ÎÁÔÓÑÊÀÖÈß ×ÀÑÒÈ×ÍÎ ÇÀÙÈÙÅÍÍÛÕ ÏÐÎÃÐÀÌÌ R. Ostrovsky, Ecient computation on oblivious RAM, Proc. of 22nd ACM Symposium on Theory of Computing (STOC-90) Çàùèùåííûé ïðîöåññîð P èìååò îòêðûòóþ ïàìÿòü M : Òåîðåìà M ⇐⇒ P Åñëè ñóùåñòâóþò îäíîñòîðîííèå ôóíêöèè, òî ëþáóþ ïðîãðàììó π ìîæíî ïðåîáðàçîâàòü â ýêâèâàëåíòíóþ ïðîãðàììó O(π) òàê, ÷òî: 1. Time(O(π)) = Time(π) × log3(Time(π)); 2. Ïðè âûïîëíåíèè O(π) íà âû÷èñëèòåëüíîì óñòðîéñòâå ñ çàêðûòûì ïðîöåññîðîì P è îòêðûòîé ïàìÿòüþ M íèêàêîé ïðîòèâíèê, îãðàíè÷åííûé ïîëèíîìèàëüíûì âðåìåíåì, íå ñïîñîáåí ðàñïîçíàòü ïðîãðàììó O(π) ïî ïîñëåäîâàòåëüíîñòè åå îáðàùåíèé ê ïàìÿòè.
  • 20. ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ ÂÈÐÒÓÀËÜÍÎÃÎ ¾×ÅÐÍÎÃÎ ßÙÈÊÀ¿ [Barak B., Goldreich O., Impagliazzo R., et al., 2001] Âåðîÿòíîñòíûé àëãîðèòì O íàçûâàåòñÿ îáôóñêàòîðîì, ñòîéêèì â ìîäåëè ¾÷åðíîãî ÿùèêà¿, åñëè îí óäîâëåòâîðÿåò ñëåäóþùèì òðåáîâàíèÿì: 1. (ôóíêöèîíàëüíîñòü) äëÿ ëþáîé ìàøèíû Òüþðèíãà M M ≈ O(M). 2. (ïîëèíîìèàëüíîå çàìåäëåíèå) Ñóùåñòâóåò òàêîé ïîëèíîì p(·), ÷òî äëÿ ëþáîé ìàøèíû Òüþðèíãà M size(O(M)) ≤ p(size(M)), time(O(M)) ≤ p(time(M)). A S ν 3. (ñòîéêîñòü) Äëÿ ëþáîé PPT (ïðîòèâíèêà ) ñóùåñòâóåò PPT (ñèìóëÿòîð ) è ïðåíåáðåæèìî ìàëàÿ ôóíêöèÿ , òàêèå ÷òî íåðàâåíñòâî |Pr{A(O(M)) = 1} − Pr{SM (1size(M) ) = 1}| ≤ ν(size(M)) âûïîëíÿåòñÿ äëÿ ëþáîé ìàøèíû Òüþðèíãà M .
  • 21. ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ ÂÈÐÒÓÀËÜÍÎÃÎ ¾×ÅÐÍÎÃÎ ßÙÈÊÀ¿ Òåîðåìà [Barak B., Goldreich O., Impagliazzo R., et al., 2001] Îáôóñêàòîðîâ, ñòîéêèõ â ìîäåëè ¾÷åðíîãî ÿùèêà¿, íå ñóùåñòâóåò .
  • 22. ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ ÂÈÐÒÓÀËÜÍÎÃÎ ¾×ÅÐÍÎÃÎ ßÙÈÊÀ¿ Äîêàçàòåëüñòâî. Ñóùåñòâóþò òàêèå âû÷èñëèìûå ôóíêöèè, ÷òî ëþáóþ èõ ïðîãðàììíóþ ðåàëèçàöèþ íåâîçìîæíî îáôóñêèðîâàòü.
  • 23. ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ ÂÈÐÒÓÀËÜÍÎÃÎ ¾×ÅÐÍÎÃÎ ßÙÈÊÀ¿ Äîêàçàòåëüñòâî. Ñóùåñòâóþò òàêèå âû÷èñëèìûå ôóíêöèè, ÷òî ëþáóþ èõ ïðîãðàììíóþ ðåàëèçàöèþ íåâîçìîæíî îáôóñêèðîâàòü. β, åñëè x = α , Fα,β (x) = 0 â îñòàëüíûõ ñëó÷àÿõ . Gγ,δ (x) = 1, åñëè x(γ) = δ , 0 â îñòàëüíûõ ñëó÷àÿõ . Hα,β,γ,δ (x, y ) = Fα,β (x), Gγ,δ (x), åñëè y = 0 , åñëè y = 0.
  • 24. ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ ÂÈÐÒÓÀËÜÍÎÃÎ ¾×ÅÐÍÎÃÎ ßÙÈÊÀ¿ Äîêàçàòåëüñòâî. Ïðåäïîëîæèì, ÷òî π ïðîãðàììà, âû÷èñëÿþùàÿ ôóíêöèþ Hα,β,γ,δ , è O(π) ýòî îáôóñêàöèÿ ïðîãðàììû π. Ðàñïîëàãàÿ ïðîãðàììîé O(π), òðåáóåòñÿ âûÿñíèòü, ïðàâäà ëè, ÷òî α = γ è β = δ.
  • 25. ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ ÂÈÐÒÓÀËÜÍÎÃÎ ¾×ÅÐÍÎÃÎ ßÙÈÊÀ¿ Äîêàçàòåëüñòâî. Ïðåäïîëîæèì, ÷òî π ïðîãðàììà, âû÷èñëÿþùàÿ ôóíêöèþ Hα,β,γ,δ , è O(π) ýòî îáôóñêàöèÿ ïðîãðàììû π. Ðàñïîëàãàÿ ïðîãðàììîé O(π), òðåáóåòñÿ âûÿñíèòü, ïðàâäà ëè, ÷òî α = γ è β = δ. Åñëè òåêñò ïðîãðàììû O(π) íåäîñòóïåí, òî ýòî ìîæíî ñäåëàòü òîëüêî ïîëíûì ïåðåáîðîì.
  • 26. ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ ÂÈÐÒÓÀËÜÍÎÃÎ ¾×ÅÐÍÎÃÎ ßÙÈÊÀ¿ Äîêàçàòåëüñòâî. Ïðåäïîëîæèì, ÷òî π ïðîãðàììà, âû÷èñëÿþùàÿ ôóíêöèþ Hα,β,γ,δ , è O(π) ýòî îáôóñêàöèÿ ïðîãðàììû π. Ðàñïîëàãàÿ ïðîãðàììîé O(π), òðåáóåòñÿ âûÿñíèòü, ïðàâäà ëè, ÷òî α = γ è β = δ. Åñëè òåêñò ïðîãðàììû O(π) íåäîñòóïåí, òî ýòî ìîæíî ñäåëàòü òîëüêî ïîëíûì ïåðåáîðîì. Åñëè òåêñò ïðîãðàììû O(π) äîñòóïåí, òî äîñòàòî÷íî âû÷èñëèòü O(π)[O(π)[·, 0], 1] .
  • 27. ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ ÂÈÐÒÓÀËÜÍÎÃÎ ¾ÑÅÐÎÃÎ ßÙÈÊÀ¿ Âåðîÿòíîñòíûé àëãîðèòì O íàçûâàåòñÿ îáôóñêàòîðîì, ñòîéêèì â ìîäåëè ¾ñåðîãî ÿùèêà¿, åñëè îí óäîâëåòâîðÿåò ñëåäóþùèì òðåáîâàíèÿì: 1. (ôóíêöèîíàëüíîñòü) 2. (ïîëèíîìèàëüíîå çàìåäëåíèå) 3. (ñòîéêîñòü) Äëÿ ëþáîé PPT A (ïðîòèâíèêà) ñóùåñòâóåò PPT S (ñèìóëÿòîð) è ïðåíåáðåæèìî ìàëàÿ ôóíêöèÿ ν , òàêèå ÷òî íåðàâåíñòâî |Pr{A(O(M)) = 1} − Pr{STr(M) (1size(M) ) = 1}| ≤ ν(size(M)) âûïîëíÿåòñÿ äëÿ ëþáîé ìàøèíû Òüþðèíãà M . Îðàêóë Tr(M) â îòâåò íà çàïðîñ x âûäàåò ïàðó (y , trM (x)), ñîñòîÿùóþ èç ðåçóëüòàòà âû÷èñëåíèÿ y = M(x) òðàññû trM (x) âûïîëíåíèÿ ÌÒ M íà âõîäå x .
  • 28. ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ ÂÈÐÒÓÀËÜÍÎÃÎ ¾ÑÅÐÎÃÎ ßÙÈÊÀ¿ Ðàññìîòðèì ñåìåéñòâî ðåàãèðóþùèõ ÌÒ (RMT), íà âõîä êîòîðûõ ïîäàåòñÿ áåñêîíå÷íûé ïîòîê äàííûõ (çàïðîñîâ) x1 , x2 , . . . , xn , . . . . RMT âû÷èñëÿåò áåñêîíå÷íûé ïîòîê âûõîäíûõ äàííûõ (îòêëèêîâ) y1, y2, . . . , yn , . . . : yn = Fn (x1 , x2 , . . . , xn ). Òåîðåìà[Âàðíîâñêèé Í.Ï., 2002] Åñëè ñóùåñòâóþò îäíîñòîðîííèå ôóíêöèè, òî îáôóñêàòîðîâ, ñòîéêèõ â ìîäåëè âèðòóàëüíîãî ¾ñåðîãî ÿùèêà ¿, äëÿ ðåàãèðóþùèõ ÌÒ íå ñóùåñòâóåò .
  • 29. ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ ÂÈÐÒÓÀËÜÍÎÃÎ ¾ÑÅÐÎÃÎ ßÙÈÊÀ¿ Îòêðûòàÿ ïðîáëåìà À ñóùåñòâóþò ëè îáôóñêàòîðû, ñòîéêèå â ìîäåëè âèðòóàëüíîãî ¾ñåðîãî ÿùèêà ¿, äëÿ îáû÷íûõ ìàøèí Òüþðèíãà?
  • 30. ÎÁÔÓÑÊÀÖÈß ÄËß ÇÀÙÈÒÛ ÀËÃÎÐÈÒÌÎÂ Âåðîÿòíîñòíûé àëãîðèòì O íàçûâàåòñÿ îáôóñêàòîðîì, ñòîéêî çàùèùàþùèì àëãîðèòìû, åñëè îí óäîâëåòâîðÿåò ñëåäóþùèì òðåáîâàíèÿì: 1. (ôóíêöèîíàëüíîñòü) 2. (ïîëèíîìèàëüíîå çàìåäëåíèå) 3. (ñòîéêîñòü) Äëÿ ëþáîé PPT A (ïðîòèâíèêà) ñóùåñòâóåò PPT S (ñèìóëÿòîð) è ïðåíåáðåæèìî ìàëàÿ ôóíêöèÿ ν , òàêèå ÷òî íåðàâåíñòâî |Pr{A(O(M),N) = 1} − Pr{SM (1size(M) ,N) = 1}| ≤ ν(size(M)) âûïîëíÿåòñÿ äëÿ ëþáîé òàêîé ïàðû ÌÒ (M, N), êîòîðàÿ óäîâëåòâîðÿåò óñëîâèÿì M ≈ N, size(N) = poly (size(M)).
  • 31. ÎÁÔÓÑÊÀÖÈß ÄËß ÇÀÙÈÒÛ ÀËÃÎÐÈÒÌΠÒåîðåìà Ñóùåñòâóåò îáôóñêàòîð, ñòîéêî çàùèùàþùèé àëãîðèòìû , ïðåäñòàâëåííûå äåòåðìèíèðîâàííûìè êîíå÷íûìè àâòîìàòàìè.
  • 32. ÎÁÔÓÑÊÀÖÈß ÄËß ÇÀÙÈÒÛ ÀËÃÎÐÈÒÌΠÒåîðåìà Ñóùåñòâóåò îáôóñêàòîð, ñòîéêî çàùèùàþùèé àëãîðèòìû , ïðåäñòàâëåííûå äåòåðìèíèðîâàííûìè êîíå÷íûìè àâòîìàòàìè. Îáôóñêàòîð äåòåðìèíèðîâàííûõ êîíå÷íûõ àâòîìàòîâ ýòî ïðîñòî àëãîðèòì ìèíèìèçàöèè êîíå÷íûõ àâòîìàòîâ. Ýòî òèïè÷íûé ïðèìåð òðèâèàëüíîé îáôóñêàöèè àëãîðèòìîâ ïóòåì ýôôåêòèâíîãî ïðèâåäåíèÿ ïðîãðàìì ê åäèíñòâåííîé íîðìàëüíîé ôîðìå (ñòðîãàÿ íîðìàëèçóåìîñòü).
  • 33. ÎÁÔÓÑÊÀÖÈß ÄËß ÇÀÙÈÒÛ ÀËÃÎÐÈÒÌΠS. Goldwasser, G. N. Rothblum, On Best Possible Obfuscation, TCC 2007. Âåðîÿòíîñòíûé àëãîðèòì O íàçûâàåòñÿ íàèëó÷øèì âîçìîæíûì îáôóñêàòîðîì, åñëè îí óäîâëåòâîðÿåò ñëåäóþùèì òðåáîâàíèÿì: 1. (ôóíêöèîíàëüíîñòü) 2. (ïîëèíîìèàëüíîå çàìåäëåíèå) 3. (ñòîéêîñòü) Äëÿ ëþáîé PPT L (âûâåäûâàòåëü) ñóùåñòâóåò òàêàÿ PPT S (ñèìóëÿòîð), ÷òî äëÿ äîñòàòî÷íî áîëüøèõ n è äëÿ ïðîèçâîëüíîé ïàðû ÌÒ M1, M2, âû÷èñëÿþùèõ îäíó è òó æå ôóíêöèþ è èìåþùèõ ðàçìåð n, ò. å. M1 ≈ M2, size(M1 ) = size(M2 ) = n, äâà ðàñïðåäåëåíèÿ âåðîÿòíîñòåé L(O(M1 )) è S(M2 ) âû÷èñëèòåëüíî íåîòëè÷èìû çà ïîëèíîìèàëüíîå âðåìÿ.
  • 34. ÎÁÔÓÑÊÀÖÈß ÄËß ÇÀÙÈÒÛ ÀËÃÎÐÈÒÌÎÂ Òåîðåìà [S. Goldwasser, G. N. Rothblum, 2007] Ñóùåñòâóåò íàèëó÷øèé âîçìîæíûé îáôóñêàòîð äëÿ OBDD ïîëèíîìèàëüíîãî ðàçìåðà.
  • 35. ÎÁÔÓÑÊÀÖÈß ÄËß ÇÀÙÈÒÛ ÀËÃÎÐÈÒÌÎÂ Òåîðåìà [S. Goldwasser, G. N. Rothblum, 2007] Ñóùåñòâóåò íàèëó÷øèé âîçìîæíûé îáôóñêàòîð äëÿ OBDD ïîëèíîìèàëüíîãî ðàçìåðà. Òåîðåìà Åñëè äëÿ ñåìåéñòâà 3-CNF ñóùåñòâóåò íàèëó÷øèé âîçìîæíûé îáôóñêàòîð, òî Σ = PSPACE . poly 2
  • 36. ÎÁÔÓÑÊÀÖÈß ÄËß ÇÀÙÈÒÛ ÀËÃÎÐÈÒÌΠ[Barak B., Goldreich O., Impagliazzo R., et al., 2001] Âåðîÿòíîñòíûé àëãîðèòì O îáëàäàåò ñâîéñòâîì íåîòëè÷èìîãî îáôóñêàòîðà, åñëè îí óäîâëåòâîðÿåò ñëåäóþùèì òðåáîâàíèÿì: 1. (ôóíêöèîíàëüíîñòü) äëÿ ëþáîé ìàøèíû Òüþðèíãà M M ≈ O(M). 2. (ïîëèíîìèàëüíîå çàìåäëåíèå) Ñóùåñòâóåò òàêîé ïîëèíîì p(·), ÷òî äëÿ ëþáîé ìàøèíû Òüþðèíãà M size(O(M)) ≤ p(size(M)), time(O(M)) ≤ p(time(M)). 3. (ñòîéêîñòü) Äëÿ ëþáîé PPT A (ïðîòèâíèêà ) ñóùåñòâóåò òàêàÿ ïðåíåáðåæèìî ìàëàÿ ôóíêöèÿ ν , ÷òî äëÿ ëþáîé ïàðû ìàøèí Òüþðèíãà M1, M2, åñëè M1 ∼ M2, òî |Pr{A(O(M1 )) = 1}−Pr{A(O(M2 )) = 1}| ≤ ν(size(M1 ) + size(M2 )
  • 37. ÎÁÔÓÑÊÀÖÈß ÄËß ÇÀÙÈÒÛ ÀËÃÎÐÈÒÌÎÂ Îòêðûòûå ïðîáëåìû Ñóùåñòâóþò ëè êëàññû ïðîãðàìì, äîïóñêàþùèõ íåòðèâèàëüíóþ ñòîéêóþ îáôóñêàöèþ, çàùèùàþùóþ àëãîðèòìû ? Ñóùåñòâóþò ëè ïðîãðàììû, íå èìåþùèå ñòîéêîé îáôóñêàöèè, çàùèùàþùåé àëãîðèòìû ? Êàê ñâÿçàíû äðóã ñ äðóãîì îáôóñêàöèÿ, çàùèùàþùàÿ àëãîðèòìû è íàèëó÷øàÿ âîçìîæíàÿ îáôóñêàöèÿ?
  • 38. ÎÁÔÓÑÊÀÖÈß, ÑÊÐÛÂÀÞÙÀß ÊÎÍÑÒÀÍÒÓ Ïóñòü M ýòî ïðîãðàììà ñ ïàðàìåòðîì (ïåðåìåííîé) x . Îáîçíà÷èì Mc ïðèìåð ïðîãðàììû M , â êîòîðîé âìåñòî ïàðàìåòðà x ïîäñòàâëåíà êîíñòàíòà c ∈ {0, 1}n . Âåðîÿòíîñòíûé àëãîðèòì O íàçûâàåòñÿ îáôóñêàòîðîì, ñêðûâàþùèì êîíñòàíòó, äëÿ ïàðàìåòðèçîâàííîãî ñåìåéñòâà ïðîãðàìì F = {Mc : c ∈ {0, 1}n , n ≥ 1}, åñëè îí óäîâëåòâîðÿåò ñëåäóþùèì òðåáîâàíèÿì: 1. (ôóíêöèîíàëüíîñòü) 2. (ïîëèíîìèàëüíîå çàìåäëåíèå) 3. (ñòîéêîñòü) Äëÿ ëþáîé PPT A (ïðîòèâíèêà) ñóùåñòâóåò PPT S (ñèìóëÿòîð) è ïðåíåáðåæèìî ìàëàÿ ôóíêöèÿ ν , òàêèå ÷òî íåðàâåíñòâî |Pr{A[O(Mc0 ), Mc ] = 1} − Pr{SMc0 [1size(Mc0 ) , Mc ] = 1} ≤ ν(n) âåðíî äëÿ ëþáîé ïàðû êîíñòàíò c0 ∈ {0, 1}n è c ∈R {0, 1}n .
  • 39. ÎÁÔÓÑÊÀÖÈß, ÑÊÐÛÂÀÞÙÀß ÊÎÍÑÒÀÍÒÓ ÃÈÏÎÒÅÇÀ Ñòîéêàÿ îáôóñêàöèÿ, ñêðûâàþùàÿ êîíñòàíòó, íåâîçìîæíà , åñëè M ýòî óíèâåðñàëüíàÿ ìàøèíà Òüþðèíãà; âîçìîæíà , åñëè M = E (key (x), m) ýòî ïðîãðàììà øèôðîâàíèÿ ñòîéêîé êðèïòîñèñòåìû ñ îòêðûòûì êëþ÷îì key (x) è ñåêðåòíûì êëþ÷îì x. x x
  • 40. ÎÁÔÓÑÊÀÖÈß ÏÐÅÄÈÊÀÒÎÂ Âåðîÿòíîñòíûé àëãîðèòì O íàçûâàåòñÿ îáôóñêàòîðîì ïðåäèêàòà π, çàäàííîãî íà ñåìåéñòâå ìàøèí Òüþðèíãà F , åñëè îí óäîâëåòâîðÿåò ñëåäóþùèì òðåáîâàíèÿì: 1. (ôóíêöèîíàëüíîñòü) 2. (ïîëèíîìèàëüíîå çàìåäëåíèå) 3. (ñòîéêîñòü) Äëÿ ëþáîé PPT A (ïðîòèâíèêà) ñóùåñòâóåò PPT S (ñèìóëÿòîð) è ïðåíåáðåæèìî ìàëàÿ ôóíêöèÿ ν , òàêèå ÷òî íåðàâåíñòâî |Pr{A[O(M)] = π(M)} − Pr{SM [1size(M) ] = π(M)}| ≤ neg(size(M)) âåðíî äëÿ êàæäîé ÌÒ M èç F è åå îáôóñêàöèè O(M).
  • 41. ÎÁÔÓÑÊÀÖÈß ÏÐÅÄÈÊÀÒΠÒî÷å÷íîé íàçûâàåòñÿ ôóíêöèÿ fa : {0, 1}n → {0, 1}, a ∈ {0, 1}n , óäîâëåòâîðÿþùàÿ óñëîâèþ 1, åñëè x = a, fa (x) = 0, åñëè x = a. Ðàññìîòðèì ñåìåéñòâî Fn , ñîñòîÿùåå èç òî÷å÷íûõ ôóíêöèé {fu : u ∈ {0, 1}n } è ôóíêöèè, òîæäåñòâåííî ðàâíîé 0. Íà ýòîì ñåìåéñòâå îïðåäåëåí ïðåäèêàò P(f ) = (f ≡ 0). Òåîðåìà [Çàõàðîâ Â.À., Âàðíîâñêèé Í.Ï., 2003] Åñëè ñóùåñòâóþò îäíîñòîðîííèå ïåðåñòàíîâêè, òî ïðåäèêàò P , îïðåäåëåííûé íà ñåìåéñòâå ïðîãðàìì, âû÷èñëÿþùèõ ôóíêöèè ñåìåéñòâà Fn , èìååò ñòîéêóþ îáôóñêàöèþ.
  • 42. ÎÁÔÓÑÊÀÖÈß ÏÐÅÄÈÊÀÒΠÄîêàçàòåëüñòâî Íóæíî ñäåëàòü íåîòëè÷èìûìè äðóã îò äðóãà äâå ïðîãðàììû prog π0 ; prog πa ; var x : string y : bit; var x : string y : bit; input (x) ; const a : string; y = 0; output (y); input (x) ; end of prog if x==a then y=1 else y=0; output (y); end of prog
  • 43. ÎÁÔÓÑÊÀÖÈß ÏÐÅÄÈÊÀÒΠÄîêàçàòåëüñòâî Íóæíî ñäåëàòü íåîòëè÷èìûìè äðóã îò äðóãà äâå ïðîãðàììû prog π0 ; prog πa ; var x : string y : bit; var x : string y : bit; input (x) ; const a : string; y = 0; output (y); input (x) ; end of prog if x==a then y=1 else y=0; output (y); end of prog Íàì ïîíàäîáèòñÿ îäíîñòîðîííÿÿ ïåðåñòàíîâêà ϕ íà ìíîæåñòâå ñòðîê {0, 1}n è ãåíåðàòîð ñëó÷àéíûõ ñòðîê, êîòîðûé ìîæíî ïîñòðîèòü íà îñíîâå îäíîñòðîííåé ïåðåñòàíîâêè.
  • 44. ÎÁÔÓÑÊÀÖÈß ÏÐÅÄÈÊÀÒΠÄëÿ ïðîãðàììû π0 : 1) âûáðàòün äâå ñëó÷àéíûå ñòðîêè w , u, 2) âû÷èñëèòü v = ϕ(w ) è σ = wi ui mod 2. i=1
  • 45. ÎÁÔÓÑÊÀÖÈß ÏÐÅÄÈÊÀÒΠÄëÿ ïðîãðàììû π0 : 1) âûáðàòün äâå ñëó÷àéíûå ñòðîêè w , u, 2) âû÷èñëèòü v = ϕ(w ) è σ = wi ui mod 2. i=1 Äëÿ ïðîãðàììû πa : 1) âûáðàòü ñëó÷àéíóþ ñòðîêó u, n 2) âû÷èñëèòü v = ϕ(a) è σ = 1 + ai ui mod 2. i=1
  • 46. ÎÁÔÓÑÊÀÖÈß ÏÐÅÄÈÊÀÒΠÄëÿ ïðîãðàììû π0 : 1) âûáðàòün äâå ñëó÷àéíûå ñòðîêè w , u, 2) âû÷èñëèòü v = ϕ(w ) è σ = wi ui mod 2. i=1 Äëÿ ïðîãðàììû πa : 1) âûáðàòü ñëó÷àéíóþ ñòðîêó u, n 2) âû÷èñëèòü v = ϕ(a) è σ = 1 + ai ui mod 2. i=1 Òîãäà êàæäàÿ èç ïðîãðàìì π0 , πa , ãäå a ∈ {0, 1}n ïðèìåò âèä: prog O(π); var x : string y : bit; const u,v : string, σ : bit; input (x) ; if ϕ(x)==v then n if σ == xi ∗ ui mod 2 then y=0 else y=1 i=1 else y=0; output (y); end of prog
  • 47. ÎÁÔÓÑÊÀÖÈß ÏÐÅÄÈÊÀÒΠÒåîðåìà Ïóñòü O1, O2 îáôóñêàòîðû ôóíêöèîíàëüíûõ ñâîéñòâ π1 , π2 ñîîòâåòñòâåííî, è ïðè ýòîì îáëàñòü çíà÷åíèé îáôóñêàòîðà O2 ñîäåðæèòñÿ â îáëàñòè îïðåäåëåíèÿ îáôóñêàòîðà O1. Òîãäà êîìïîçèöèÿ O = O1O2 ÿâëÿåòñÿ îáôóñêàòîðîì îáîèõ ïðåäèêàòîâ π1 è π2.
  • 48. ÇÀÊËÞ×ÅÍÈÅ Íóæíî ïðîäîëæàòü ýòîò ñïèñîê îïðåäåëåíèé, ôîðìóëèðóÿ âñå áîëåå è áîëåå ñëàáûå òðåáîâàíèÿ ñòîéêîñòè, ïðèãîäíûå äëÿ ðåøåíèÿ äðóãèõ ïðèëîæåíèé îáôóñêàöèè.
  • 49. ÇÀÊËÞ×ÅÍÈÅ Íóæíî ïðîäîëæàòü ýòîò ñïèñîê îïðåäåëåíèé, ôîðìóëèðóÿ âñå áîëåå è áîëåå ñëàáûå òðåáîâàíèÿ ñòîéêîñòè, ïðèãîäíûå äëÿ ðåøåíèÿ äðóãèõ ïðèëîæåíèé îáôóñêàöèè. Íóæíî àêòèâíåå ïðèâëåêàòü äëÿ îáôóñêàöèè äîñòèæåíèÿ êðèïòîãðàôèè è òåîðèè ñëîæíîñòè ñèñòåìû ãîìîìîðôíîãî øèôðîâàíèÿ, òðóäíîðåøàåìûå çàäà÷è.
  • 50. ÄÎÑÒÈÆÅÍÈß ÏÎÑËÅÄÍÈÕ ËÅÒ Â èþëå 2013 ã. áûëà îïóáëèêîâàíà ñòàòüÿ Candidate Indistinguishability Obfuscation and Functional Encryption for All Circuits S. Garg, C. Gentry, S. Halevi, M. Raykova, A. Sahai, B. Waters â êîòîðîé àâòîðû ïîêàçàëè, ÷òî âåðíà Òåîðåìà [S. Carg, C. Gentry, et al, 2013] Íåîòëè÷èìàÿ îáôóñêàöèÿ âîçìîæíà äëÿ ïðîèçâîëüíûõ ïðîãðàìì (ïðè íåêîòîðûõ ïðåäïîëîæåíèÿõ î òðóäíîñòè ðåøåíèÿ çàäà÷ òåîðèè ãðóïï)
  • 51. ÄÎÑÒÈÆÅÍÈß ÏÎÑËÅÄÍÈÕ ËÅÒ 30 ñåíòÿáðÿ 2013 ã. áûëà îïóáëèêîâàíà ñòàòüÿ Virtual Black-Box Obfuscation for All Circuits via Generic Graded Encoding. Zvika Brakerski, Guy N. Rothblum We present a new general-purpose obfuscator for all polynomial-size circuits. The obfuscator uses graded encoding schemes, a generalization of multilinear maps. We prove that the obfuscator exposes no more information than the program's black-box functionality, and achieves virtual black-box security, in the generic graded encoded scheme model.