Skip to main content

Theoretical Foundation for Code Obfuscation Security: A Kolmogorov Complexity Approach

  • Conference paper
  • First Online:
E-Business and Telecommunications (ICETE 2015)

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 585))

Included in the following conference series:

  • 898 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    The security parameter may include the obfuscation key, the obfuscation transformation algorithm or any necessary information that the obfuscation function can use.

  2. 2.

    An opaque predicate is an algebraic expression which always evaluates to same value (true or false) regardless of the input.

  3. 3.

    It is possible to parameterize the amount of information, but we think it would add much complication for little gain.

  4. 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. 5.

    Or rather, a circuit or a Turing machine representation thereof.

  6. 6.

    That is, we run \( R \) to produce \( P' \) then we execute the result of this first execution, that is \( P \) itself.

  7. 7.

    The \( O(1) \) term is absorbed by the logarithmic additive term that we are not notating.

  8. 8.

    Which is proved to be an unconditionally secure symmetric cypher.

References

  1. 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

    Article  MathSciNet  MATH  Google Scholar 

  2. 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)

    MathSciNet  MATH  Google Scholar 

  3. Collberg, C., Thomborson, C., Low, D.: A Taxonomy of Obfuscating Transformations (1997). https://researchspace.auckland.ac.nz/handle/2292/3491

  4. Gács, P.: On the symmetry of algorithmic information. Soviet Math. Dokl 15, 1477–1480 (1974)

    MATH  Google Scholar 

  5. Garg, S., Raykova, M., Gentry, C., Sahai, A., Halevi, S., Waters, B.: Candidate indistinguishability obfuscation and functional encryption for all circuits. In: FOCS (2013)

    Google Scholar 

  6. Gauvrit, N., Zenil, H., Delahaye, J.P.: Assessing cognitive randomness: A kolmogorov complexity approach. CoRR abs/1106.3059 (2011)

    Google Scholar 

  7. 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)

    Chapter  Google Scholar 

  8. 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

  9. 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)

    Article  MathSciNet  MATH  Google Scholar 

  10. Lathrop, J.I.: Compression depth and the behavior of cellular automata. Complex Systems (1997)

    Google Scholar 

  11. Li, M., Vitnyi, P.M.: An Introduction to Kolmogorov Complexity and Its Applications, 3rd edn. Springer Publishing Company, Incorporated (2008)

    Book  Google Scholar 

  12. McCabe, T.J.: A complexity measure. IEEE Trans. Softw. Eng. 2(4), 308–320 (1976)

    Article  MathSciNet  MATH  Google Scholar 

  13. 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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Rabih Mohsen .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics