IP Library Granted Patent US 8,683,218
Granted Patent B2
US 8,683,218 · App. 12/178,579 · Granted Mar 25, 2014

System and method for N-dimensional encryption

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,683,218
App. No.
12/178,579
Granted
Mar 25, 2014
Kind
B2
Abstract

A system and method is directed to providing an n-dimensional entity for encoding and storing data securely. A user provides a cursor position within the n-dimensional entity, and a user seed to a pseudo-random number generator. The user seed may be combined with a fingerprint of a computing system in which the invention operates. The n-dimensional entity is populated with bits from the pseudo-random number generator. Bits within the n-dimensional entity are associated with actions to be performed at each cursor position. Subsequent cursor directions within the n-dimensional entity are determined using a random number generator. Plaintext is bitwise translated to a direction and an offset from the cursor position to a bit matching the plaintext bit within the n-dimensional entity. The offset is employed to modify a row of truly random bits in an encoded array.

Claims (62)

1. An apparatus for encrypting a data string, comprising:

a transceiver that receives the data string and sends an encoded array; and

coupled to the transceiver, an n-dimensional encrypter that is arranged to perform actions, comprising:

receiving the data string;

selecting a direction within an n-dimensional entity based in part on a generated bit sequence;

determining an offset count by counting the number of bits between a cursor position within the n-dimensional entity and a match bit within the n-dimensional entity, wherein the match bit is located within the n-dimensional entity based in part on the direction and a bit in the received data string;

modifying the generated bit sequence with the determined offset count to generate an encoded data string, wherein the encoded data string represents a row within the encoded array; and

storing the encoded array as an encoded representation of the received data string.

2. The apparatus of claim 1 , wherein determining the offset count between the cursor position and the match bit further comprises performing a search within the n-dimensional entity to locate a match to the bit in the data string.

3. The apparatus of claim 1 , wherein the encrypter is arranged to perform actions, further comprising:

reading a number of bits from the n-dimensional entity;

performing an action associated with the n-dimensional entity based in part on the read number of bits; and

further basing the match bit location on the performed action.

4. The apparatus of claim 1 , wherein the encrypter is arranged to perform actions, further comprising:

interpreting a sequence of bits from the n-dimensional entity as an op-code; and

determining, based on the op-code, one of a plurality of actions associated with the n-dimensional entity.

5. The apparatus of claim 1 , wherein the encrypter is arranged to perform actions, further comprising:

combining the encoded data string associated with the bit in the data string with another encoded data string associated with a different bit in the data string, wherein the combination represents rows within the encoded array.

6. The apparatus of claim 1 , wherein generating the n-dimensional entity further comprises determining a fingerprint associated with a context in which the apparatus operates.

7. A method of encrypting a data string, comprising:

generating an n-dimensional entity in part based on a fingerprint associated with a context of a computing system;

receiving the data string;

selecting a direction within the n-dimensional entity based in part on a generated bit sequence;

determining an offset count by counting the number of bits between a cursor position within the n-dimensional entity and a match bit within the n-dimensional entity, wherein the match bit is based in part on the direction and a bit in the data string;

modifying the generated bit sequence with the determined offset count to generate an encoded data string; and

storing the encoded data string as an encoded representation of at least a portion of the received data string.

8. The method of claim 7 , wherein the offset count is determined from the cursor position by performing a search within the n-dimensional entity to locate a match to the bit in the data string.

9. The method of claim 7 , wherein the offset count is a count determined between the cursor position and the match bit within the n-dimensional entity by counting the number of bits between the current cursor position and a matching bit located within the n-dimensional entity.

10. The method of claim 7 , further comprising:

reading a number of bits from the n-dimensional entity; and

performing an action associated with the n-dimensional entity based in part on the read number of bits.

11. The method of claim 7 , further comprising:

interpreting a sequence of bits from the n-dimensional entity as an op-code; and

determining, based on the op-code, one of a plurality of actions associated with the n-dimensional entity.

12. The method of claim 7 , further comprising:

combining the encoded data string associated with the bit in the data string with another encoded data string associated with a different bit in the data string.

13. The method of claim 7 , wherein the context for which the fingerprint further comprises at least one of a logical or a physical context in which the computing system operates.

14. A system for encrypting a data string, comprising:

one or more memory devices that store an n-dimensional entity, and an n-dimensional encrypter; and

a processor having a mapper component arranged to perform actions, comprising:

receiving the data string;

selecting a direction within the n-dimensional entity based in part on a randomly generated bit sequence;

determining an offset count by counting the number of bits between a cursor position within the n-dimensional entity and a match bit within the n-dimensional entity, wherein the match bit is based in part on the direction and the each bit in the data string;

modifying the generated bit sequence with the determined offset count to generate an encoded data string; and

storing the encoded data string as at least a partial encrypted representation of the received data string.

15. The system of claim 14 , wherein the offset count is determined from the cursor position by performing a search within the n-dimensional entity to locate a match to the bit in the data string.

16. The system of claim 14 , wherein the mapper is arranged to perform actions, further comprising:

reading a number of bits from the n-dimensional entity; and

performing an action associated with the n-dimensional entity based in part on the read number of bits.

17. The system of claim 14 , wherein the mapper is arranged to perform actions, further comprising:

interpreting a sequence of bits from the n-dimensional entity as an op-code; and

determining based on the op-code, one of a plurality of actions associated with the n-dimensional entity.

18. The system of claim 14 , wherein the mapper is arranged to perform actions, further comprising:

combining the encoded data string associated with the bit in the data string with another encoded data string associated with a different bit in the data string.

19. The system of claim 14 , wherein the n-dimensional entity is generated based on a fingerprint associated with a context in which the system operates.

20. A non-transitory computer readable storage medium having computer-executable instructions stored thereon, which when executed by at least one processor, causes the at least one processor to perform one or more actions to encrypt a data string, comprising:

receiving the data string;

generating an n-dimensional entity based in part on a logical or physical context in which the at least one processor operates;

selecting a direction within the n-dimensional entity based in part on a generated bit sequence;

determining an offset count by counting the number of bits between a cursor position within the n-dimensional entity and a match bit within the n-dimensional entity, wherein the match bit within the n-dimensional entity is located based in part on the selected direction and a bit in the data string;

modifying the generated bit sequence with the determined offset count to generate an encoded data string; and

providing the encoded data string in part as a encrypted representation of the received data string.

Assignments (3)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044101/0299 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2011
From: WIDEVINE TECHNOLOGIES, INC.
To: GOOGLE INC.
Reel/Frame 026479/0572 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2008
From: PALMER, TOMAS EARL
To: WIDEVINE TECHNOLOGIES, INC.
Reel/Frame 021805/0073 →