System and method for generating encryption seed values
AssigneeCybersource Corporation
InventorsVishnu Shankar, Jason Eaton
Life of this patent
Estimating the term…
Abstract
A method for generating a seed value for use in symmetric encryption includes creating and storing a first data set and generating a hashed value based on the first data set. A replacement position in the first data set is selected, and at least a portion of the hashed value is written into the first data set at the replacement position. A seed portion of the first data set is selected as the seed value. By varying a number of iterations, a balance can be struck between performance (fewer iterations) and security (more iterations).
Claims37
A method of generating a seed value for use in symmetric encryption, the method comprising the computer-implemented steps of:
- (a) creating and storing a first data set;
- (b) generating a hashed value based on the first data set;
- (c) selecting, based on a time-based value associated with the step of generating the hashed value, a replacement position in the first data set;
- (d) writing at least a portion of the hashed value into the first data set at the replacement position;
- (e) selecting, as the seed value, a seed portion of the first data set;
- (f) generating a symmetric encryption key based on the seed value;
- and
- (g) encrypting, using the symmetric encryption key, data communicated to a computer system.
A method of generating a seed value for use in symmetric encryption, the method comprising the computer-implemented steps of:
- (a) creating and storing a first data set;
- (b) generating a first index value;
- (c) generating a hashed value based on the first data set;
- (d) generating a second index value;
- (e) selecting a hash portion from the hashed value, wherein the hash portion has a size equal to the second index value;
- (f) writing the hash portion into the first data set at a replacement position specified by the first index value;
- (g) generating a seed index value;
- (h) selecting, as the seed value, a portion of the first data set at a seed position specified by the seed index value;
- (i) generating a symmetric encryption key based on the seed value;
- and
- (j) encrypting, using the symmetric encryption key, data communicated to a computer system.
A computer-readable medium carrying one or more sequences of instructions for generating a seed value for use in symmetric encryption, which instructions, when executed by one or more processors, cause the one or more processors to carry out the steps of:
- (a) creating and storing a first data set;
- (b) generating a hashed value based on the first data set;
- (c) selecting, based on a time-based value associated with the step of generating the hashed value, a replacement position in the first data set;
- (d) writing at least a portion of the hashed value into the first data set at the replacement position;
- (e) selecting, as the seed value, a seed portion of the first data set;
- (f) generating a symmetric encryption key based on the seed value;
- and
- (g) encrypting, using the symmetric encryption key, data communicated to a computer system.
An apparatus for generating a seed value for use in symmetric encryption, the apparatus comprising:
- means for creating and storing a first data set;
- means for generating a hashed value based on the first data set;
- means for selecting, based on a time-based value associated with the step of generating the hashed value, a replacement position in the first data set;
- means for writing at least a portion of the hashed value into the first data set at the replacement position;
- means for selecting, as the seed value, a seed portion of the first data set;
- means for generating a symmetric encryption key based on the seed value;
- and
- means for encrypting, using the symmetric encryption key, data communicated to a computer system.
An apparatus for generating a seed value for use in symmetric encryption, the apparatus comprising:
- a network interface that is coupled to a data network for receiving one or more packet flows therefrom;
- a processor;
- one or more stored sequences of instructions which, when executed by the processor, cause the processor to carry out the steps of:
- creating and storing a first data set;
- generating a hashed value based on the first data set;
- selecting, based on a time-based value associated with the step of generating the hashed value, a replacement position in the first data set;
- writing at least a portion of the hashed value into the first data set at the replacement position;
- selecting, as the seed value, a seed portion of the first data set;
- generating a symmetric encryption key based on the seed value;
- and
- encrypting, using the symmetric encryption key, data communicated to a computer system.
A computer-readable medium carrying one or more sequences of instructions for generating a seed value for use in encryption, which instructions, when executed by one or more processors, cause the one or more processors to carry out the steps of:
- (a) creating and storing a first data set;
- (b) generating a first index value;
- (c) generating a hashed value based on the first data set;
- (d) generating a second index value;
- (e) selecting a hash portion from the hashed value, wherein the hash portion has a size equal to the second index value;
- (f) writing the hash portion into the first data set at a replacement position specified by the first index value;
- (g) generating a seed index value;
- (h) selecting, as the seed value, a portion of the first data set at a seed position specified by the seed index value;
- (i) generating a symmetric encryption key based on the seed value;
- and
- (j) encrypting, using the symmetric encryption key, data communicated to a computer system.
A system for generating a seed value for use in encryption, the system comprising:
- (a) means for creating and storing a first data set;
- (b) means for generating a first index value;
- (c) means for generating a hashed value based on the first data set;
- (d) means for generating a second index value;
- (e) means for selecting a hash portion from the hashed value, wherein the hash portion has a size equal to the second index value;
- (f) means for writing the hash portion into the first data set at a replacement position specified by the first index value;
- (g) means for generating a seed index value;
- (h) means for selecting, as the seed value, a portion of the first data set at a seed position specified by the seed index value;
- (i) means for generating a symmetric encryption key based on the seed value;
- and
- (j) means for encrypting, using the symmetric encryption key, data communicated to a computer system.
An apparatus for generating a seed value for use in symmetric encryption, the apparatus comprising:
- a network interface that is coupled to a data network for receiving one or more packet flows therefrom;
- a processor;
- one or more stored sequences of instructions which, when executed by the processor, cause the processor to carry out the steps of:
- (a) creating and storing a first data set;
- (b) generating a first index value;
- (c) generating a hashed value based on the first data set;
- (d) generating a second index value;
- (e) selecting a hash portion from the hashed value, wherein the hash portion has a size equal to the second index value;
- (f) writing the hash portion into the first data set at a replacement position specified by the first index value;
- (g) generating a seed index value;
- (h) selecting, as the seed value, a portion of the first data set at a seed position specified by the seed index value;
- (i) generating a symmetric encryption key based on the seed value;
- and
- (j) encrypting, using the symmetric encryption key, data communicated to a computer system.
Dependencies are inferred from the claim text.