US2017180334A1PendingUtilityA1

Data security utilizing disassembled data structures

Assignee: PRINCETON SCITECH LLCPriority: Dec 17, 2014Filed: Mar 7, 2017Published: Jun 22, 2017
Est. expiryDec 17, 2034(~8.4 yrs left)· nominal 20-yr term from priority
G06F 9/3001G06F 21/6218H04N 21/4408G06F 21/62H04L 63/0428G06F 21/602G06F 17/16H04L 63/0272
48
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Various examples are directed to machines and methods for disassembling and reassembling data structures. An ordered set of functions may be applied to a data array comprising a plurality of data units, each associated with a unique coordinate set. Data units returned by the ordered set of functions may be written in order to one or more disassembled data containers.

Claims

exact text as granted — not AI-modified
1 . A computer-implemented data security system, comprising:
 a computing device comprising at least one processor and a memory in communication with the at least one processor, wherein the computing device is programmed to perform operations comprising:
 accessing a multi-dimensional array comprising a plurality of data units of a data structure, wherein each data unit of the plurality of data units is described by a unique position in the multi-dimensional array; 
 applying to the multi-dimensional array, a first function selected from an ordered set of functions, wherein applying the first function comprises:
 determining a first multi-dimensional coordinate set based at least in part on the first function and a first range value; 
 moving a first data unit positioned in the multi-dimensional array at a first location described by the first multi-dimensional coordinate set to a disassembled data container; 
 determining a second multi-dimensional coordinate set based at least in part on the first function and a second range value; and 
 moving a second data unit positioned in the multi-dimensional array at a second location described by the first multi-dimensional coordinate set to the disassembled data container; and 
 
 applying a second function to the multi-dimensional array, wherein the second function is positioned immediately after the first function in the ordered set of functions. 
   
     
     
         2 . The system of  claim 1 , wherein the computing device is also programmed to perform operations comprising:
 selecting the first range value from a first range of an ordered set of ranges; and   selecting the second range value from the first range, wherein the second range value is immediately after the first range value in the first range.   
     
     
         3 . The system of  claim 1 , wherein applying the first function to the multi-dimensional array further comprises:
 writing a first replacement data unit to the first location in the multi-dimensional array; and   writing a second replacement data unit to the second location in the multi-dimensional array.   
     
     
         4 . The system of  claim 1 , wherein the computing device is also programmed to reassemble the data structure by performing operations comprising:
 applying a last function from the ordered set of functions to the multi-dimensional array and the disassembled data container, wherein the last function is at a last position of the ordered set of functions, and wherein applying the last function comprises:
 applying a last range value for the last function to generate a last multi-dimensional set of coordinates; and 
 moving a last data unit from the disassembled data container to a last location at the multi-dimensional array described by the last multi-dimensional set of coordinates; and 
   applying a next-to-last function from the ordered set of functions to the multi-dimensional array and the disassembled data container.   
     
     
         5 . The system of  claim 1 , wherein the determining of the first multi-dimensional coordinate set is based at least in part on a first function parameter selected from the group consisting of a first function offset and a first function coefficient. 
     
     
         6 . The system of  claim 1 , wherein the computing device is also programmed to perform operations comprising:
 receiving, by the at least one processor, the data structure; and   generating the multi-dimensional array based at least in part on the data structure.   
     
     
         7 . The system of  claim 1 , wherein the multi-dimensional array is a three-dimensional array, wherein the data structure represents a video comprising a plurality of two-dimensional frames, and further comprising stacking, by the at least one processor, the plurality of two-dimensional frames to generate the multi-dimensional array. 
     
     
         8 . The system of  claim 1 , wherein the computing device is also programmed to perform operations comprising encrypting the multi-dimensional array after applying the first function and the second function. 
     
     
         9 . A computer-implemented method, comprising:
 accessing, by at least one processor, a multi-dimensional array comprising a plurality of data units of a data structure, wherein each data unit of the plurality of data units is described by a unique position in the multi-dimensional array;   applying, by the at least one processor and to the multi-dimensional array, a first function selected from an ordered set of functions, wherein applying the first function comprises:
 determining a first multi-dimensional coordinate set based at least in part on the first function and a first range value; 
 moving a first data unit positioned in the multi-dimensional array at a first location described by the first multi-dimensional coordinate set to a disassembled data container; 
 determining a second multi-dimensional coordinate set based at least in part on the first function and a second range value; and 
 moving a second data unit positioned in the multi-dimensional array at a second location described by the first multi-dimensional coordinate set to the disassembled data container; and 
   applying a second function to the multi-dimensional array, by the at least one processor, wherein the second function is positioned immediately after the first function in the ordered set of functions.   
     
     
         10 . The method of  claim 9 , further comprising:
 selecting the first range value from a first range of an ordered set of ranges; and   selecting the second range value from the first range, wherein the second range value is immediately after the first range value in the first range.   
     
     
         11 . The method of  claim 9 , wherein applying the first function to the multi-dimensional array further comprises:
 writing a first replacement data unit to the first location in the multi-dimensional array; and   writing a second replacement data unit to the second location in the multi-dimensional array.   
     
     
         12 . The method of  claim 9 , further comprising reassembling the data structure by performing operations comprising:
 applying a last function from the ordered set of functions to the multi-dimensional array and the disassembled data container, wherein the last function is at a last position of the ordered set of functions, and wherein applying the last function comprises:
 applying a last range value for the last function to generate a last multi-dimensional set of coordinates; and 
 moving a last data unit from the disassembled data container to a last location at the multi-dimensional array described by the last multi-dimensional set of coordinates; and 
   applying a next-to-last function from the ordered set of functions to the multi-dimensional array and the disassembled data container.   
     
     
         13 . The method of  claim 9 , wherein the determining of the first multi-dimensional coordinate set is based at least in part on a first function parameter selected from the group consisting of a first function offset and a first function coefficient. 
     
     
         14 . The method of  claim 9 , further comprising:
 receiving, by the at least one processor, the data structure; and   generating the multi-dimensional array based at least in part on the data structure.   
     
     
         15 . The method of  claim 9 , wherein the multi-dimensional array is a three-dimensional array, wherein the data structure represents a video comprising a plurality of two-dimensional frames, and further comprising stacking, by the at least one processor, the plurality of two-dimensional frames to generate the multi-dimensional array. 
     
     
         16 . The method of  claim 9 , further comprising encrypting the multi-dimensional array after applying the first function and the second function. 
     
     
         17 . At least one computer-readable medium comprising instructions thereon that, when executed by a computer, causes the computer to perform operations comprising:
 accessing a multi-dimensional array comprising a plurality of data units of a data structure, wherein each data unit of the plurality of data units is described by a unique position in the multi-dimensional array;   applying to the multi-dimensional array, a first function selected from an ordered set of functions, wherein applying the first function comprises:
 determining a first multi-dimensional coordinate set based at least in part on the first function and a first range value; 
 moving a first data unit positioned in the multi-dimensional array at a first location described by the first multi-dimensional coordinate set to a disassembled data container; 
 determining a second multi-dimensional coordinate set based at least in part on the first function and a second range value; and 
 moving a second data unit positioned in the multi-dimensional array at a second location described by the first multi-dimensional coordinate set to the disassembled data container; and 
   applying a second function to the multi-dimensional array, wherein the second function is positioned immediately after the first function in the ordered set of functions.   
     
     
         18 . The at least one computer-readable medium of  claim 17 , further comprising instructions that when executed by the computer cause the computer to perform operations comprising:
 selecting the first range value from a first range of an ordered set of ranges; and   selecting the second range value from the first range, wherein the second range value is immediately after the first range value in the first range.   
     
     
         19 . The at least one computer-readable medium of  claim 17 , wherein applying the first function to the multi-dimensional array further comprises:
 writing a first replacement data unit to the first location in the multi-dimensional array; and   writing a second replacement data unit to the second location in the multi-dimensional array.

Join the waitlist — get patent alerts

Track US2017180334A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.