Protection of software algorithms executed on secure modules

H.D.L. Hollmann, J.P.M.G. Linnartz, J.H. van Lint, C.P.M.J. Baggen, L.M.G.M. Tolhuizen

Research output: Contribution to journalArticleAcademicpeer-review

1 Citation (Scopus)
174 Downloads (Pure)


Loop structures in software code may reveal essential information about implemented algorithms and their parameters, even if the observer has no knowledge about which instructions are executed. Regular patterns can for instance be observed in power consumption, instruction fetches in external memory, or radiated EM energy. This paper addresses the use of dummy operations to obscure the details of the algorithm executed by the processor. We show that for a particular class of dummy insertion strategies, a Viterbi decoder can fairly reliably distinguish dummy fetches from real instruction fetches. In the second part of this paper, we study strategies to choose dummy fetches from a more general model. For certain situations, the optimum protection strategy appears to be deterministic (as opposed to random). Moreover, we show that in such a case, it is fundamentally not possible to enhance the security of the implementation by keeping the strategy for generating dummy fetches secret to the attacker. Author Keywords: Software protection; Secure processor; Viterbi decoder; Dummy instructions
Original languageEnglish
Pages (from-to)55-63
Number of pages9
JournalFuture Generation Computer Systems
Issue number1
Publication statusPublished - 1997


  • Dummy instructions
  • Secure processor
  • Software protection
  • Viterbi decoder


Dive into the research topics of 'Protection of software algorithms executed on secure modules'. Together they form a unique fingerprint.

Cite this