EP1410182B1

Method of obfuscating computer instruction streams

Abstract

This record has no abstract on file.

EP1410182B1, drawing sheet 1
Sheet 1 of 11

Term

Term ended

Expired 24 July 2022, 4.2 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

21 claims: 7 independent, 14 dependent

  1. 1
    A method of obfuscating computer instruction streams comprising:breaking (419, 429, 512, 522) each of at least two operative instruction streams (A, B, 414, 424, 610, 620, 630, 710, 720, 810, 820, 1150, 1140, 951, 952, 941, 942, 921, 922) into a plurality of parts (410, 420, 612, 614, 622, 624, 632, 634, 711, 713, 722, 724, 812, 814, 826, 828, 1152, 1141);and interleaving (431, 532) the parts into a new instruction stream (430, 640, 730, 830, 1170, 956);wherein the parts are interleaved without causing interference between parts from different instruction streams;local variables of different operative instruction streams in the new instruction stream being different, and an instruction which was reachable in one of the two operative instruction streams being reachable in the new instruction stream.
  2. 7
    A method as claimed in any preceding claim, wherein a second part of a second one of the at least two operative instruction streams is interleaved between two first parts of a first one of the at least two operative instruction streams so that when the two first parts are executed, the second part will also be executed.
  3. 15
    A digital processing system as claimed in any of claims 9 to 14, configured so that a second part of a second one of the at least two operative instruction streams is interleaved between two first parts of a first one of the at least two operative instruction streams in such a manner that when the two first parts are executed, the second part will also be executed.
  4. 17
    A method as claimed in any of claims to 1 to 8 further comprising the step of storing the obfuscated stream on machine readable media.
  5. 18
    A method as claimed in any of claims to 1 to 8 further comprising the step of transmitting the obfuscated stream through a network.
  6. 19
    A computer-program product (1110) in the form of machine readable media having stored thereon instructions which when executed on a digital processing system will cause the digital processing system to obfuscate computer instruction streams by carrying out the steps of the method claimed in any of claims 1 to 8.
  7. 20
    A method comprising the steps of storing on a digital processing system an obfuscated computer instruction stream (430, 640, 730, 830, 1170, 956) that has been obfuscated by a method as claimed in any of claims 1 to 8, which when run on a data-processing system reveals parts (410, 420, 612, 614, 622, 624, 632, 634, 711, 713, 722, 724, 812, 814, 826, 828, 1152, 1141) which are interleaved, said parts having been taken from at least two operative instruction streams (A, B, 414, 424, 610, 620, 630, 710, 720, 810, 820, 1150, 1140, 951, 952, 941, 942, 921, 922), and executing the stored obfuscated computer instruction stream.