Paper 2011/099

Can Code Polymorphism Limit Information Leakage?

Antoine Amarilli, Sascha Müller, David Naccache, Daniel Page, Pablo Rauzy, and Michael Tunstall


In addition to its usual complexity assumptions, cryptography silently assumes that information can be physically protected in a single location. As one can easily imagine, real-life devices are not ideal and information may leak through different physical side-channels. It is a known fact that information leakage is a function of both the executed code $F$ and its input $x$.\smallskip In this work we explore the use of polymorphic code as a way of resisting side channel attacks. We present experimental results with procedural and functional languages. In each case we rewrite the protected code code $F_i$ before its execution. The outcome is a genealogy of programs $F_0,F_1,\ldots$ such that for all inputs $x$ and for all indexes $i \neq j \Rightarrow F_i(x)=F_j(x)\mbox{~and~}F_i\neq F_j$. This is shown to increase resistance to side channel attacks.\smallskip

Available format(s)
Cryptographic protocols
Publication info
Published elsewhere. Unknown where it was published
side channelspolymorphism
Contact author(s)
david naccache @ ens fr
2011-03-02: revised
2011-02-28: received
See all versions
Short URL
Creative Commons Attribution


      author = {Antoine Amarilli and Sascha Müller and David Naccache and Daniel Page and Pablo Rauzy and Michael Tunstall},
      title = {Can Code Polymorphism Limit Information Leakage?},
      howpublished = {Cryptology ePrint Archive, Paper 2011/099},
      year = {2011},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.