Tamper resistant software encoding
US6842862B2 · kind B2 · utility
Assignee
Inventors
Key dates
| Filing date | Jan 10, 2003 |
| Grant date | Jan 11, 2005 |
| Priority date | — |
| Expiry date | Jul 19, 2023 |
Classification
- Technology area (CPC H)Electricity
- CPC primaryH04L2209/16
- WIPO fieldComputer technology
- WIPO sectorElectrical engineering
Abstract
The present invention relates generally to computer software, and more specifically, to a method and system of making computer software resistant to tampering and reverse-engineering. “Tampering” occurs when an attacker makes unauthorized changes to a computer software program such as overcoming password access, copy protection or timeout algorithms. Broadly speaking, the method of the invention is to increase the tamper-resistance and obscurity of computer software code by transforming the data flow of the computer software so that the observable operation is dissociated from the intent of the original software code. This way, the attacker can not understand and decode the data flow by observing the execution of the code. A number of techniques for performing the invention are given, including encoding software arguments using polynomials, prime number residues, converting variables to new sets of boolean variables, and defining variables on a new n-dimensional vector space.
Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.