The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.

The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.

Date of Patent:
Dec. 31, 2013

Filed:

Feb. 09, 2009
Applicant:

Marc Vauclair, Overijse, BE;

Inventor:

Marc Vauclair, Overijse, BE;

Assignee:

NXP, B.V., Eindhoven, NL;

Attorney:
Primary Examiner:
Int. Cl.
CPC ...
G06F 9/32 (2006.01);
U.S. Cl.
CPC ...
Abstract

A program is obfuscated by reordering its instructions. Original instruction addresses are mapped to target addresses. A cache efficient obfuscated program is realized by restricting target addresses of a sequence of instructions to a limited set of the disjoint ranges (-) of target addresses, which are at lease half filled with instructions. Mapped address steps () are provided between the target addresses to which successive ones of the original instruction addresses are mapped. The address steps () include first address steps within at least a first one of the mutually disjoint ranges (-). Between said first address steps, second address steps within at least a second one of the mutually disjoint ranges (-). Thus, a deviation from successive addresses for logically successive instructions is realized. In an embodiment the mapping of original instruction addresses to target addresses may be visualized by means of a path () along points in an n-dimensional array, where n is greater than one. Successive original instruction addresses are mapped to successive locations in the path, and locations along respective rows of the array are mapped to respective ones of the mutually disjoint ranges (-). Because an n-dimensional path is used a form of locality is preserved that provides for cache efficiency, whereas the multi-dimensional nature of the path makes it possible to combine this locality with pseudo-random steps.


Find Patent Forward Citations

Loading…