Abstract
The main problem in designing effective code obfuscation is to guarantee security. State of the art obfuscation techniques rely on an unproven concept of security, and therefore are not regarded as provably secure. In this paper, we undertake a theoretical investigation of code obfuscation security and its adversary model based on Kolmogorov complexity and algorithmic mutual information. We introduce a new definition of code obfuscation that requires the algorithmic mutual information between a code and its obfuscated version to be minimal, allowing for controlled amount of information to be leaked to an adversary. We argue that our definition avoids the impossibility results of Barak et al. and is more advantageous than the obfuscation indistinguishability definition in the sense it is more intuitive, and is algorithmic rather than probabilistic.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
The security parameter may include the obfuscation key, the obfuscation transformation algorithm or any necessary information that the obfuscation function can use.
- 2.
An opaque predicate is an algebraic expression which always evaluates to same value (true or false) regardless of the input.
- 3.
It is possible to parameterize the amount of information, but we think it would add much complication for little gain.
- 4.
If this can not be checked, e.g. due to a large function domain, the adversary must provide a formal proof that the functionality is the same.
- 5.
Or rather, a circuit or a Turing machine representation thereof.
- 6.
That is, we run \( R \) to produce \( P' \) then we execute the result of this first execution, that is \( P \) itself.
- 7.
The \( O(1) \) term is absorbed by the logarithmic additive term that we are not notating.
- 8.
Which is proved to be an unconditionally secure symmetric cypher.
References
Barak, B., Goldreich, O., Impagliazzo, R., Rudich, S., Sahai, A., Vadhan, S., Yang, K.: On the (im)possibility of obfuscating programs. J. ACM 59(2), 1–48 (2012). http://doi.acm.org/10.1145/2160158.2160159
Barak, B., Goldreich, O., Impagliazzo, R., Rudich, S., Sahai, A., Vadhan, S.P., Yang, K.: On the (im)possibility of obfuscating programs. IACR Cryptology ePrint Arch. 2001, 69 (2001)
Collberg, C., Thomborson, C., Low, D.: A Taxonomy of Obfuscating Transformations (1997). https://researchspace.auckland.ac.nz/handle/2292/3491
Gács, P.: On the symmetry of algorithmic information. Soviet Math. Dokl 15, 1477–1480 (1974)
Garg, S., Raykova, M., Gentry, C., Sahai, A., Halevi, S., Waters, B.: Candidate indistinguishability obfuscation and functional encryption for all circuits. In: FOCS (2013)
Gauvrit, N., Zenil, H., Delahaye, J.P.: Assessing cognitive randomness: A kolmogorov complexity approach. CoRR abs/1106.3059 (2011)
Goldwasser, S., Rothblum, G.N.: On best-possible obfuscation. In: Vadhan, S.P. (ed.) TCC 2007. LNCS, vol. 4392, pp. 194–213. Springer, Heidelberg (2007)
Jbara, A., Feitelson, D.G.: On the effect of code regularity on comprehension. In: Proceedings of the 22nd International Conference on Program Comprehension, ICpPC 2014, pp. 189–200. ACM, New York (2014). http://doi.acm.org/10.1145/2597008.2597140
Kieffer, J.C., Yang, E.H.: Sequential codes, lossless compression of individual sequences, and kolmogorov complexity. IEEE Trans. Inf. Theor. 42(1), 29–39 (1996)
Lathrop, J.I.: Compression depth and the behavior of cellular automata. Complex Systems (1997)
Li, M., Vitnyi, P.M.: An Introduction to Kolmogorov Complexity and Its Applications, 3rd edn. Springer Publishing Company, Incorporated (2008)
McCabe, T.J.: A complexity measure. IEEE Trans. Softw. Eng. 2(4), 308–320 (1976)
Shen, A.: Axiomatic description of the entropy notion for finite objects. VIII All-USSR Conference (Logika i metodologija nauki), Vilnjus, pp. 104–105 (1982). http://www.lirmm.fr/ashen/mathtext/1982/vilnus.pdf. The paper in Russian
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Mohsen, R., Pinto, A.M. (2016). Theoretical Foundation for Code Obfuscation Security: A Kolmogorov Complexity Approach. In: Obaidat, M., Lorenz, P. (eds) E-Business and Telecommunications. ICETE 2015. Communications in Computer and Information Science, vol 585. Springer, Cham. https://doi.org/10.1007/978-3-319-30222-5_12
Download citation
DOI: https://doi.org/10.1007/978-3-319-30222-5_12
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-30221-8
Online ISBN: 978-3-319-30222-5
eBook Packages: Computer ScienceComputer Science (R0)