System and methods for encrypting data utilizing one-time pad key
First Claim
1. A method of encrypting data, comprising:
- generating a first random number having a first predetermined number of bytes;
extracting a portion of the first random number, wherein the extracted portion has a second predetermined number of bytes;
generating an encryption key from the extracted portion of the first random number, wherein the encryption key includes a plurality of subsets of the extracted portion of the first random number; and
creating an encrypted value by applying an XOR operation to the encryption key and the data.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and methods for encrypting and decrypting data within an encryption management system. A random number table is generated by concatenating true random numbers. A subset of the random number table is then randomly selected to be used for the generation of a one-time pad key. The one-time pad key is generated by first retrieving random bytes of data from the subset of the random number table using a random offset value and a randomizer value. The retrieved bytes are concatenated together to form the one-time pad key. An exclusive-OR (XOR) operator is applied to the received input data with the one-time pad key to produce an encrypted value representation of the received input data. The random offset value and the randomizer value are stored with the encrypted value, so that the one-time pad key may be subsequently reproduced and used to decrypt the encrypted value.
-
Citations
33 Claims
-
1. A method of encrypting data, comprising:
-
generating a first random number having a first predetermined number of bytes;
extracting a portion of the first random number, wherein the extracted portion has a second predetermined number of bytes;
generating an encryption key from the extracted portion of the first random number, wherein the encryption key includes a plurality of subsets of the extracted portion of the first random number; and
creating an encrypted value by applying an XOR operation to the encryption key and the data. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for decrypting encrypted data, comprising:
-
extracting a plurality of numeric values from the encrypted data;
generating an encryption key from a random number table having a predetermined number of bytes, wherein the encryption key includes a plurality of subsets of the random number table and each of the plurality of subsets are selected using each of the plurality of numeric values; and
creating a decrypted value by applying an XOR operation to the encryption key and the encrypted data. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A system for encryption of data, comprising:
-
a random number generator for generating a first random number having a predetermined number of bytes; and
a data encryption processing unit adapted to extract a portion of the first random number, create an encryption key from the extracted portion of the first random number, and apply an XOR operation to the encryption key and the data;
wherein the extracted portion has a second predetermined number of bytes and the encryption key includes a plurality of subsets of the extracted portion of the first random number. - View Dependent Claims (14, 15)
-
-
16. The system of 15, further comprising:
a random number table (RNT) pointer adapted to point to a particular byte of the extracted portion of the first random number, wherein the RNT pointer initially corresponds to the value equal to the sum of a third random number generated by the random number generator and a memory address of the first byte of the extracted portion of the first random number. - View Dependent Claims (17, 18, 19, 20, 21)
-
22. A computer-readable medium for encrypting data having computer executable instructions for performing steps comprising:
-
generating a first random number having a first predetermined number of bytes;
extracting a portion of the first random number, wherein the extracted portion has a second predetermined number of bytes;
generating an encryption key from the extracted portion of the first random number, wherein the encryption key includes a plurality of subsets of the extracted portion of the first random number; and
creating an encrypted value by applying an XOR operation to the encryption key and the data. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
-
29. A computer-readable medium for decrypting data having computer executable instructions for performing steps comprising:
-
extracting a plurality of numeric values from the encrypted data;
generating an encryption key from a random number table having a predetermined number of bytes, wherein the encryption key includes a plurality of subsets of the random number table and each of the plurality of subsets are selected using each of the plurality of numeric values; and
creating a decrypted value by applying an XOR operation to the encryption key and the encrypted data. - View Dependent Claims (30, 31, 32, 33)
-
Specification