Cryptographic systems and methods for modification of pools of truly random numbers
Assignee7Tunnels Inc.
InventorsMichael L. Hammon, Wesley A. Hildebrandt, Kevin R. McCarthy, David Wiener
Life of this patent
Estimating the term…
Abstract
Systems and methods include modifying a Tme Random Number (TRN) pool using one or more user-identified randomization processes to produce a modified TRN pool with a user-specific modification that is unknown to or otherwise separated from a TRN provider. Systems and methods also include sending and receiving encrypted messages that are encrypted and decrypted using the modified TRN pool.
Claims20
A computer-implemented method for performing cryptographic procedures, comprising:
- providing, for storage on a computing system, a True Random Number (TRN) pool, the TRN pool comprising key data elements of truly random numbers in a pool of individually addressable files supplied by a TRN provider;
- providing one or more user-identified randomization processes to the computing system, the one or more user-identified randomization processes configured for control by a key consumer associated with the computing system and configured to modify the TRN pool with a user-specific modification to produce a variation to the TRN pool such that the key data elements are used in a customized state unknown to the TRN provider, wherein the customized state comprises a difference in number, a difference in order, a difference in values, or combinations thereof of the key data elements as supplied by the TRN provider;
- enabling the computing system to:
- use the TRN pool in the customized state as a sequence of transmit key data elements;
- combine a clear text data stream with the sequence of transmit key data elements using an encryption operation to produce an encrypted data stream;
- and
- transmit the encrypted data stream;
- providing for storage on a second computing system a second copy of the TRN pool;
- providing the one or more user-identified randomization processes to the second computing system, the one or more user-identified randomization processes configured for control by a key consumer associated with the second computing system to modify the TRN pool such that the user-specific modification on the second computing system produce a sequence of receive key data elements unknown to the TRN provider and such that the sequence of receive key data elements matches the sequence of transmit key data elements;
- and
- enabling at least one of the computing system or the second computer system to:
- receive the encrypted data stream;
- and
- combine the sequence of receive key data elements with the encrypted data stream using a decryption operation to produce a received clear text stream.
A system configured for performing cryptographic procedures, comprising:
- a computing system, comprising:
- memory configured to store a Random Number (RN) pool, the RN pool comprising key data elements of truly random numbers in a pool of individually addressable files supplied by a RN provider;
- and
- processing circuitry operably coupled to the memory and configured for performing computing instructions to:
- receive computing instructions for one or more user-identified randomization processes configured for control by a key consumer associated with the computing system;
- and
- perform a user-specific modification of the RN pool using the one or more user-identified randomization processes to modify the RN pool to produce a variation to the RN pool such that the key data elements are used in a customized state unknown to the RN provider, wherein the customized state comprises at least one of a difference in number, a difference in order, or a difference in values of the key data elements as supplied by the RN provider, wherein at least one of the one or more user-identified randomization processes comprises modifying one or more of the elements in the RN pool with a pre-defined warping function comprising one of:
- a stream cipher modification wherein each key data element of the RN pool is modified by a pre-determined value for that key data element:
- or
- a block cipher modification wherein each block of key data elements of the RN pool is modified by a pre-determined block encryption process.
A system configured for performing cryptographic procedures, comprising:
- a computing system, comprising:
- memory configured to store a Random Number (RN) pool, the RN pool comprising key data elements of truly random numbers in a pool of individually addressable files supplied by a RN provider;
- and
- processing circuitry operably coupled to the memory and configured for performing computing instructions to:
- receive computing instructions for one or more user-identified randomization processes configured for control by a key consumer associated with the computing system;
- perform a user-specific modification of the RN pool using the one or more user-identified randomization processes to modify the RN pool to produce a variation to the RN pool such that the key data elements are used in a customized state unknown to the RN provider, wherein the customized state comprises at least one of a difference in number, a difference in order, or a difference in values of the key data elements as supplied by the RN provider;
- use the RN pool in the customized state as a sequence of transmit key data elements;
- combine a clear text data stream with the sequence of transmit key data elements using an encryption operation to produce an encrypted data stream;
- and
- transmit the encrypted data stream;
- and
- a second computing system, comprising:
- second memory configured to store a second copy of the RN pool;
- and
- second processing circuitry operably coupled to the second memory and configured for performing computing instructions to:
- receive from the RN provider the one or more user-identified randomization processes configured for control by a key consumer associated with the second computing system;
- perform the user-specific modification of the RN pool using the one or more user-identified randomization processes to modify the RN pool to produce a sequence of receive key data elements unknown to the RN provider and such that the sequence of receive key data elements matches the sequence of transmit key data elements;
- receive the encrypted data stream;
- and
- combine the sequence of receive key data elements with the encrypted data stream using a decryption operation to produce a received clear text stream.
A computer-implemented method for performing cryptographic procedures, comprising:
- providing, for storage on a computing system, a Random Number (RN) pool, the RN pool comprising key data elements of truly random numbers in a pool of individually addressable files supplied by a RN provider;
- and
- providing one or more user-identified randomization processes to the computing system, the one or more user-identified randomization processes configured for control by a key consumer associated with the computing system and configured to modify the RN pool with a user-specific modification to produce a variation to the RN pool such that the key data elements are used in a customized state unknown to the RN provider, wherein the customized state comprises a difference in number, a difference in order, a difference in values, or combinations thereof of the key data elements as supplied by the RN provider, wherein at least one of the one or more user-identified randomization processes comprises modifying one or more of the elements in the RN pool with a pre-defined warping function comprising one of:
- a stream cipher modification wherein each key data element of the RN pool is modified by a pre-determined value for that key data element;
- or
- a block cipher modification wherein each block of key data elements of the RN pool is modified by a pre-determined block encryption process.
Dependencies are inferred from the claim text.