Paper 2007/035

Cryptanalysis of white box DES implementations

Louis Goubin, Jean-Michel Masereel, and Michael Quisquater

Abstract

Obfuscation is a method consisting in hiding information of some parts of a computer program. According to the Kerckhoffs principle, a cryptographical algorithm should be kept public while the whole security should rely on the secrecy of the key. In some contexts, source codes are publicly available, while the key should be kept secret; this is the challenge of code obfuscation. This paper deals with the cryptanalysis of such methods of obfuscation applied to the DES. Such methods, called the ``naked-DES'' and ``nonstandard-DES'', were proposed by Chow et al. in 2002. Some methods for the cryptanalysis of the ``naked-DES'' were proposed by Chow et al., Jacob et al., and Link and Neuman. In their paper, Link and Neuman proposed another method for the obfuscation of the DES. In this paper, we propose a general method that applies to all schemes. Moreover, we provide a theoretical analysis. We implemented our method with a C code and applied it successfully to thousands of obfuscated implementations of DES (both ``naked'' and ``non-standard'' DES). In each case, we recovered enough information to be able to invert the function.

Metadata
Available format(s)
PDF PS
Publication info
Published elsewhere. SAC07
Keywords
ObfuscationDRMwhite-box cryptographyDESData Encryption StandardCryptanalysis
Contact author(s)
Louis Goubin @ prism uvsq fr
History
2007-07-06: last of 4 revisions
2007-02-14: received
See all versions
Short URL
https://ia.cr/2007/035
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2007/035,
      author = {Louis Goubin and Jean-Michel Masereel and Michael Quisquater},
      title = {Cryptanalysis of white box {DES} implementations},
      howpublished = {Cryptology {ePrint} Archive, Paper 2007/035},
      year = {2007},
      url = {https://eprint.iacr.org/2007/035}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.