Mobile software authentication and validation
First Claim
1. A method for encoding a computer program, the method comprising the steps of:
- transforming the computer program using a canonical transform based at least in part on a partitioning algorithm;
creating an encrypted hash value based at least on the transformed computer program and an encryption key; and
embedding the encrypted hash value in the transformed computer program.
0 Assignments
0 Petitions
Accused Products
Abstract
Methods for encoding and validating a computer program are disclosed. A program is encoded by transforming the program using a canonical transform based at least in part on a partitioning algorithm, creating an encrypted hash value based at least on the transformed program and an encryption key, and embedding the encrypted hash value in the transformed program. A program embedded with the encrypted hash value is validated by receiving the program embedded with the encrypted hash value, transforming the program embedded with the encrypted hash value using a canonical transform based at least in part on a partitioning algorithm; comparing the received program and the transformed program to extract a first encrypted hash value, creating a second encrypted hash value-based at least on the transformed program and an encryption key, and validating the program responsive to the first and second encrypted hash values.
-
Citations
3 Claims
-
1. A method for encoding a computer program, the method comprising the steps of:
-
transforming the computer program using a canonical transform based at least in part on a partitioning algorithm;
creating an encrypted hash value based at least on the transformed computer program and an encryption key; and
embedding the encrypted hash value in the transformed computer program.
-
-
2. A method for validating a computer program embedded with an encrypted hash value, method comprising the steps of:
-
receiving the computer program embedded with the encrypted hash value;
transforming the computer program embedded with the encrypted hash value using a canonical transform based at least in part on a partitioning algorithm;
extracting a first encrypted hash value based on the received computer program and the transformed computer program;
creating a second encrypted hash value based at least on the transformed computer program arid an encryption key; and
validating the computer program responsive to the first and second encrypted hash values.
-
-
3. A method for encoding a computer program, the method comprising the steps of:
-
determining regions of the computer program that can accommodate an encoded hash value;
determining a unit of granularity for inserting information within the determined regions;
developing a partitioning scheme, the partitioning scheme for partitioning the computer program to hold the encoded hash value based on the determined granularity within the determined regions;
transforming the computer program using a canonical transformation based on the developed portioning scheme. creating an encoded hash value based on the transformed computer program; and
embedding the encoded hash file within the transformed computer program.
-
Specification