Method and system for secure computational outsourcing and disguise
First Claim
1. A method for securing data from unauthorized access, theft and tampering, said data and an associated computer program being stored in a computer memory, said method comprising:
- performing a disguising operation on said data to disguise said data; and
performing a tamperproofing operation on said computer program.
6 Assignments
0 Petitions
Accused Products
Abstract
Method and system for secure computational outsourcing and disguise of data, computer programs, pictures, and databases from unauthorized access, theft, and tampering using disguising and tamperproofing operations. In some embodiments, the disguising operation includes generating a random number for each data element, and modifying each data element with the random numbers. In some embodiments, the computer program, written in a first programming language, is partitioned into first and second programs; the first program determines whether access to the data is authorized, the second program entangles the second program and the data; and the second program is translated into a second programming language. An embodiment of the present invention comprises a method for identifying the subject of a first picture by comparison to a second picture. Embodiments comprise securing a computer program with real programming code by creating dummy program code and mixing the dummy and real program code.
-
Citations
40 Claims
-
1. A method for securing data from unauthorized access, theft and tampering, said data and an associated computer program being stored in a computer memory, said method comprising:
-
performing a disguising operation on said data to disguise said data; and
performing a tamperproofing operation on said computer program. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for securing data from unauthorized access, theft and tampering, said data and an associated computer program being stored in a computer memory, said computer program being written in a first programming language, said method comprising:
-
partitioning said computer program into a first program and a second program;
executing said first program to determine whether access to said data is authorized;
executing said second program to entangle said second program and said data; and
translating said second program into a second programming language to secure said data. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A method for securing a plurality of data elements from unauthorized access, theft, and tampering, said data elements and an associated computer program being stored in a computer memory, said method comprising:
-
executing said computer program to generate a sequence of random numbers;
dividing said sequence of random numbers into a plurality of random number segments;
dividing said data elements into a corresponding plurality of data segments;
identifying a programming code segment associated with each of said random number segments;
interspersing said code segments and data segments in a file; and
replacing each data element with a code segment and a data segment in said file. - View Dependent Claims (18, 19)
-
-
20. A method for securing data from unauthorized access, theft and tampering, said data having an associated first computer program written in a first programming language, said data and said first computer program being stored on a computer, said method comprising the steps of:
-
creating a second programming language;
creating a second computer program to emulate said second programming language, said second computer program configured to be executed on said computer; and
translating said first computer program into said second programming language using said second computer program to secure said data.
-
-
21. A computer-implemented method for securing a picture from unauthorized access, theft, and tampering, said method comprising:
-
identifying a plurality of points on said picture to create a planar graph;
determining coordinates for each of said points on said planar graph;
indexing said point coordinates to create a first vector; and
performing a disguising operation on said first vector. - View Dependent Claims (22, 23, 24, 25)
-
-
26. A computer-implemented method for identifying said subject of a first picture by comparison to a second picture, said method comprising:
-
identifying a plurality of points on said first and second pictures to create first and second planar graphs, respectively;
determining coordinates for each of said points on each of said first and second planar graphs;
indexing said point coordinates for each of said first and second planar graphs to create first and second vectors, respectively;
performing a disguising operation on said first and second vectors; and
comparing said first and second disguised vectors. - View Dependent Claims (27)
-
-
28. A method for securing a database from unauthorized access, theft, and tampering, said method comprising:
-
partitioning said database into a computer program and a plurality of data entries;
assigning a key to each data entry using said computer program; and
performing a disguising operation on each key and each data entry to secure said database. - View Dependent Claims (29, 30, 31)
-
-
32. A method for securing computer program code from unauthorized access, theft, and tampering, said computer program code operable to perform a real operation on a real input to produce a real output, said method comprising:
-
creating dummy program code operable to perform a dummy operation on a dummy input to produce a dummy output;
replicating each of said real input and said dummy input at least one time;
performing said real operation using said replicated real input and said replicated dummy input to produce a first output;
performing said real operation using said first output if said first output comprises said real input to produce a second output;
performing said dummy operation using said first output if said first output comprises said dummy input to produce a third output;
storing said second output as said real output; and
storing said third output as said dummy output. - View Dependent Claims (33, 34)
-
-
35. A method for securing a computer program from unauthorized access, theft, and tampering, said computer program comprising real programming code, said method comprising:
-
creating dummy program code;
replicating each of said real code and said dummy code at least one time; and
mixing said dummy code and said real code. - View Dependent Claims (38, 39, 40)
-
-
36. The method of 35, wherein said real code comprises a plurality of program statements.
-
37. The method of 36, wherein said dummy code comprises a plurality of program statements.
Specification