I
K
(p
i
; p
′
i
) = K(p
i
) − K(p
i
∣p
′
i
)
≤ K(p
i
) − K(p
i
∣P
′
)
≤ K(p
i
) − (log #P
′
− δ
p
i
) by Definition 4
Similarly to the proof of Theorem 14, #P
′
= O(2
n
)
and log #P
′
= n + O(1). Then,
I
K
(p
i
; p
′
i
) ≤ n − n + δ
p
i
− O(1)
≤ δ
p
i
− O(1)
6 CONCLUSION AND FUTURE
WORK
In this paper, we provide a theoretical investigation
of code obfuscation. We defined code obfuscation us-
ing Kolmogorov complexity and algorithmic mutual
information. Our definition allows for a small amount
of secret information to be revealed to an adversary,
and it gives an intuitive guarantee about the security
conditions that have to be met for secure obfuscation.
We argued our definition is more lenient than the vir-
tual black-box model of Barak et al. and that for that
reason the impossibility result does not apply. In con-
trast, we showed that under reasonable circumstances
we can have secure obfuscation according to our defi-
nition.
To the best of our knowledge, this paper is the first
to propose algorithmic information theory as a the-
oretical basis for code obfuscation. We believe that
our new definition for code obfuscation provides the
first step toward establishing quantitative metrics for
certifying code obfuscation techniques. Currently, we
are working toward derivingnew metrics based on our
model, aimingto validate andapply these metrics, em-
pirically, to real obfuscated programs using state of
the art obfuscation techniques.
There are still some questions we want to address
in future work. For example, it is still not clear
whether the complexity of security parameter (key)
has always a positive effect on the the security of ob-
fuscated programs based on algorithmic mutual infor-
mation definition. Furthermore, algorithmic mutual
information has a parallel counterpart based on classi-
cal information theory such as Shannon mutual infor-
mation, it would be interesting to explore the relation
between our definition and Shannon mutual informa-
tion in the context of code obfuscation security. We
are also planning to study and characterize the secu-
rity of particular techniques and to analyze more care-
fully the scenario of active adversaries.
ACKNOWLEDGEMENTS
This research is partially funded by EPSRC-DTA
(Mohsen). We would like to thank Steffen van Bakel
and Emil Lupu for their comments.
REFERENCES
Barak, B., Goldreich, O., Impagliazzo, R., Rudich, S., Sa-
hai, A., Vadhan, S., and Yang, K. (2012). On the
(im)possibility of obfuscating programs. J. ACM,
59(2):6:1–6:48.
Barak, B., Goldreich, O., Impagliazzo, R., Rudich, S., Sa-
hai, A., Vadhan, S. P., and Yang, K. (2001). On the
(im)possibility of obfuscating programs. IACR Cryp-
tology ePrint Archive, 2001:69.
Collberg, C., Thomborson, C., and Low, D. (1997). A Tax-
onomy of Obfuscating Transformations.
G´acs, P. (1974). On the symmetry of algorithmic informa-
tion. Soviet Math. Dokl, 15:1477–1480.
Garg, S., Raykova, M., Gentry, C., Sahai, A., Halevi, S.,
and Waters, B. (2013). Candidate indistinguishability
obfuscation and functional encryption for all circuits.
In In FOCS.
Gauvrit, N., Zenil, H., and Delahaye, J. (2011). Assessing
cognitive randomness: A kolmogorov complexity ap-
proach. CoRR, abs/1106.3059.
Goldwasser, S. and Rothblum, G. N. (2007). On best-
possible obfuscation. In Proceedings of the 4th con-
ference on Theory of cryptography, TCC’07, pages
194–213, Berlin, Heidelberg. Springer-Verlag.
Jbara, A. and Feitelson, D. G. (2014). On the effect of code
regularity on comprehension. In Proceedings of the
22Nd International Conference on Program Compre-
hension, ICPC 2014, pages 189–200, New York, NY,
USA. ACM.
Kieffer, J. C. and Yang, E. H. (1996). Sequential codes, loss-
less compression of individual sequences, and Kol-
mogorov complexity. IEEE Trans. on Information
Theory, 42(1):29–39.
Lathrop, J. I. (1997). Compression depth and the behavior
of cellular automata. Complex Systems.
Li, M. and Vit´anyi, P. M. (2008). An Introduction to Kol-
mogorov Complexity and Its Applications. Springer
Publishing Company, Incorporated, 3 edition.
McCabe, T. J. (1976). A complexity measure. IEEE Trans.
Software Eng., 2(4):308–320.
Shen, A. (1982). Axiomatic description of the entropy
notion for finite objects. VIII All-USSR Conference
(Logika i metodologija nauki),Vilnjus, pages 104 –
105. The paper in Russian.
Shen, A., Uspensky, V., and Vereshchagin, N. (2014).
Kolmogorov complexity and algorithmic randomness.
MCCME Publishing house.
Taveneaux, A. (2011). Towards an axiomatic system for kol-
mogorov complexity. Electronic Colloquium on Com-
putational Complexity (ECCC), 18:14.
AlgorithmicInformationTheoryforObfuscationSecurity
87