Method for encrypting a program for subsequent execution by a microprocessor configured to decrypt and execute the encrypted program
US9461818B2 · kind B2 · utility
Assignee
Inventors
Key dates
| Filing date | Oct 29, 2013 |
| Grant date | Oct 4, 2016 |
| Priority date | — |
| Expiry date | Dec 2, 2034 |
Classification
- Technology area (CPC H)Electricity
- CPC primaryH04L2209/20
- WIPO fieldComputer technology
- WIPO sectorElectrical engineering
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.
Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.