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:
Oct. 04, 2016

Filed:

Oct. 29, 2013
Applicant:

Via Technologies, Inc., New Taipei, TW;

Inventors:

G. Glenn Henry, Austin, TX (US);

Terry Parks, Austin, TX (US);

Brent Bean, Austin, TX (US);

Thomas A. Crispin, Austin, TX (US);

Assignee:

VIA TECHNOLOGIES, INC., New Taipei, TW;

Attorneys:
Primary Examiner:
Assistant Examiner:
Int. Cl.
CPC ...
G06F 11/30 (2006.01); H04L 9/08 (2006.01); G06F 12/08 (2016.01); G06F 21/52 (2013.01); G06F 21/71 (2013.01); G06F 21/72 (2013.01); G06F 9/30 (2006.01); G06F 21/60 (2013.01); H04L 9/06 (2006.01); G06F 21/54 (2013.01);
U.S. Cl.
CPC ...
H04L 9/0827 (2013.01); G06F 9/30003 (2013.01); G06F 9/30079 (2013.01); G06F 9/30178 (2013.01); G06F 9/30189 (2013.01); G06F 12/0875 (2013.01); G06F 21/52 (2013.01); G06F 21/54 (2013.01); G06F 21/602 (2013.01); G06F 21/71 (2013.01); G06F 21/72 (2013.01); H04L 9/0618 (2013.01); H04L 9/0861 (2013.01); H04L 9/0891 (2013.01); H04L 9/0894 (2013.01); G06F 2212/402 (2013.01); G06F 2212/452 (2013.01); G06F 2221/2107 (2013.01); H04L 2209/12 (2013.01); H04L 2209/20 (2013.01);
Abstract

A method for encrypting a program for subsequent execution by a microprocessor configured to decrypt and execute the encrypted program includes receiving an object file specifying an unencrypted program that includes conventional branch instructions whose target address may be determined pre-run time. The method also includes analyzing the program to obtain chunk information that divides the program into a sequence of chunks each comprising a sequence of instructions and that includes encryption key data associated with each of the chunks. The encryption key data associated with each of the chunks is distinct. The method also includes replacing each of the conventional branch instructions that specifies a target address that is within a different chunk than the chunk in which the conventional branch instruction resides with a branch and switch key instruction. The method also includes encrypting the program based on the chunk information.


Find Patent Forward Citations

Loading…