ABSTRACT
Abstract
A dynamic computer communication security encryption method or system using an initial seed key and multiple random number generators of a specific design, whereby a sequence of independent random entropy values is produced by one set of random number generators and encrypted along with the message stream using the initial seed key, or the output of a second set of random number generators initialized with the initial seed key, and following the subsequent transmission of the variable encrypted entropy/message block, the entropy values are used to symmetrically or identically augment or increase the current uncertainty or entropy of the cryptosystem at both the sender and the receiver, prior to the next encryption block operation. The encryption process effectively entailing the use of multiple encryption ciphers, and the entropy augmentation process entailing the encryption or application of various logical mathematical operations on the already dynamic but deterministic internal state values of the second set of random number generators, effectively altering their deterministic outputs in a random probabilistic manner.
Random length message value sequences from one or more data sources is combined with one or more random length entropy value sequences from an independent source, following which the entropy âupdatesâ may also be used to alter, or change any cryptosystem variable, value or component in a randomly determined manner. In addition, while ensuring synchronization, the random entropy sequences also serve to âpolluteâ the cipher-stream and thereby hinder most current forms of cryptanalysis, while simultaneously injecting additional entropy into the cryptographic system and allowing for its propagation to affect any connected system nodes, and thereby introducing unpredictable entropy into the system pseudorandom number generator outputs, and thereby ensuring the perpetual generation of unpredictable random numbers.
Super-encryption mechanics are independent of the user data, simple, fast and efficient, and can incorporate compression, error correction and asymmetric encryption authentication routines. But most importantly, super-encryption ensures resistance to brute force attacks (not possible to verify if a message was even sent), an ability to exceed âperfect secrecyâ requirements, and an improvement on previous super-encipherment design, since overhead can be dramatically reduced from 100% overhead.
Communication links previously established by system nodes with central authorities may be used for secure node authentication and registration, while allowing the central authority to broker and synchronize communication channels and providing mutual authentication and other security functions between the system nodes.
Description
CROSS REFERENCE TO RELATED APPLICATIONS
U.S. Pat. No. 1,310,719âGilbert VernamââSecret Signaling Systemâ
U.S. Pat. No. 5,412,730âMichael F. JonesââEncrypted Data Transmission System Employing Means for Randomly Altering the Encryption Keyâ
U.S. Pat. No. 7,376,232,âHamdy SolimanââComputer System Security Via Dynamic Encryptionâ
STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
Not Applicable
BACKGROUND OF THE INVENTION
(1) Field of Invention
The present invention relates to data transmission and computer security systems and more particularly, to multi-cypher encryption and decryption, multi-source random number generation and to systems for transmitting multiple encrypted data streams.
In particular, the present invention relates to a random number generation and encryption method or system which uses a distributed framework of multiple random or pseudo-random number generators producing infinite length multiple keystreams, to support a dynamic super-encryption cipher-stream (a continuous sequence of variable length ciphertext segments each encrypted with a unique key) which is used to transmit data between system nodes, and also transmit random entropy updates which are used to perpetually augment the entropy or uncertainty of the cryptosystem mechanics, variables, configuration, state or the composition of the random number generators used to generate the required random number outputs.
(2) Description of the Related Art
Cryptography provides a means of security for transmitted data by transforming messages from âplaintextâ to âciphertextâ using a secret âkeyâ and an encryption and decryption algorithm.
This invention relates specifically to âtrueâ secrecy cryptosystems, in that the meaning of the messages being transmitted are concealed by a cipher or code and the adversary is assumed to have any special equipment necessary to intercept and record the transmitted signal; as defined in the documentâShannon, Claude (1949) âCommunication Theory of Secrecy Systemsâ, Bell System Tech. J., Vol. 28, pp. 656-715.
In typical âsymmetricâ encryption usage scenarios, the transmitted data is encrypted by a sender using a unique key value (such as a 256-bit binary number) and unscrambled at the receiver, by a reverse process that requires the same key value to be known, whereas with âasymmetric encryptionâ, different key values are used which are mathematical inverse functions of the first unique key value, such as ¼ and 4/1. Since these keys are almost always shorter than the messages they encrypt, a means of applying the key to longer messages is used. With block cyphers, the key is in essence repeated with every block of message data that is encrypted (may include a transformation of the key between blocks), whereas with stream ciphers the key is applied to a pseudo-random number generator (hereinafter called âPRNGâ) to produce a long keystream which is then used for encryption and decryption purposes.
Ordinarily, the strength of a cryptosystem may be considered to be directly proportional to the length of the initial key, but this assumption is subject to the condition that the ciphertext is shorter than a value that Claude Shannon called the âunicity distanceâ. Cryptographic algorithms which produce ciphertexts which exceed the unicity distance, which is the length of the initial key plus the minimum length which could be used to convey the message, are inherently insecure, and are guaranteed to produce a single correct decipherment. Since the encryption strength of any encryption algorithm decays in proportion to the length of the ciphertext which exceeds the âunicity distanceâ, statistical decryption techniques such as equivocation are far more efficient than brute force decryption.
A simple and secure cryptosystem which is not subject to equivocation attack risks, has been around since 1882. The âone-timeâ pad (hereinafter referred to as âOTPâ) or Vernam Cipher, was originally invented by Frank Miller and patented in 1917 by Gibert Vernam (U.S. Pat. No. 1,310,719 entitled âSecret Signalling Systemâ). The OTP has the distinction as being the only cryptosystem to date to have been mathematically proven to be âperfectly secretâ (as defined by Claude Shannon) if used correctly, in that an adversary is unable to compromise the cipher given infinite time, infinite computing resources, and any number of plaintext/cyphertext pairs. It is the object of this invention to introduce a new âinformation theoretically secureâ cryptosystem.
The OTP's âperfect secrecyâ is dependent on the following conditions being met: (1) The key used must be truly randomâthe key must therefore be unpredictable or insignificant in every sense of value, position or distribution, (2) The key must be at least as long as the plaintext, if not longer, and never repeated in whole or in part, and (3) The keys must be kept completely secret during generation, distribution, usage and storage.
Claude Shannon, in dealing with secrecy cryptosystems in general, asserted that the OTP complied with the requirements for âperfect secrecyâânamely that the ciphertext can be translated into any plaintext of the same length, all of which are equally likely, if a truly random key was used. More specifically, he defined âperfect secrecyâ as meeting the criterion that âthe a priori probability of a plaintext message M is the same as the a posteriori probability of a plaintext message M given the corresponding ciphertextâ. Further, he explained that perfect secrecy is possible but requires that the keys must be generated at the same or higher rate than the messages, and be at least as long as the messages. Strictly speaking, by the above definition, perfect secrecy can never be obtained using block cyphers or seed-fed stream ciphers, since the input entropy is limited to the seed or key size.
Despite these cryptographic strengths, practical problems have prevented OTPs from being widely applied in a practical manner, including: (1) The Random Number Generation ProblemâThe problem in generating unpredictable infinite length one-time pad sequences, which is a serious problem if one is using single independent pseudo-random number generators (hereinafter called âPRNGsâ), (2) The Distribution Problemâin that the required OTP values must be securely generated and exchanged between the sender and receiver, and be at least as long as the messages to be sent, and (3) The Key Management Problemâin that the OTPs must be kept secret and be immediately and irrevocably disposed of in a secure manner.
In addition to the problems mentioned above, the OTP also suffers from the following issues: (1) known ciphertext length, (2) ciphertext readily visible for analysis, (3) lack of user authentication, (4) lack of message verification and error correction, (5) ciphertext position is relative to plaintext.
In addressing the Random Number Generation problem with regards to âperfect secrecyâ systems and the âone-time padâ, any numbers that are generated and used as keys in a cryptosystem must be truly random and thus, unpredictable in any conceivable manner. There are two principal methods or types of random number generators (hereinafter called RNGs) used currently to generate random numbers, namely âtrue random number generatorsâ (hereinafter referred to as TRNGs) and âpseudorandom number generatorsâ (hereinafter referred to as PRNGs). TRNGs measure some physical phenomenon that is expected to have random characteristics and compensate for possible biases in the measurement process. Drawbacks to this approach include the need for measuring apparatus, and there are limitations to the rate at which random numbers (or âentropyââa measure of unpredictability of information content) can be harvested since there is a dependency on the underlying rate of measurement. PRNGs entail the use of computational algorithms or functions to produce long sequences of apparently random results, which are actually completely predetermined by a smaller initial value, or seed. PRNGs tend to be fast, and act alone with the exception of input seeds which can be provided independently or are functions of their output. There are two distinct types of PRNGsâlinear congruential generators which use a mathematical calculation and use outputs as a means of deriving inputs in a cyclic manner, and probability distribution generators which perform various operations on a data set or table (such as ARC4âa well-known stream cypher). Since both types of PRNGs use small seed or initialization values, there is a cryptographic quality issue in that that the entropy of the output number sequences with a PRNG is limited to the entropy of the input seed entropy. For example, if a numeral from 1 to 9 is used as a seed in a pseudorandom number generator, there may be a maximum of 10 variations of output, irrespective of the length of their output sequences. Therefore, PRNGs initialized using a seed value cannot satisfy the requirements of âinformation theoreticâ security since their output keys are only truly random until they exceed the length of the input seed key.
It is therefore a specific objective of the current invention to address the random number generation problem through the manipulation of multiple RNGs or more specifically, the manipulation of the RNG internal states, operating within the cryptographic system.
Since constant reuse or use (in the case of stream ciphers) of the same key is cryptographically insecure due to the consumption of key entropy through normal use (resulting in a reduction in equivocation), in order to increase security, encryption key values may be frequently changed (with a penalty to bandwidth usage) to continuously add entropy to the cryptosystem, reduce the probability that an adversary may compromise the cryptosystem by intercepting and deciphering the encrypted messages, and thus requires new key values to be sent frequently by the sender to the receiver. In U.S. Pat. No. 5,412,730, Michael F. Jones âEncrypted Data Transmission System Employing Means for Randomly Altering the Encryption Keyâ we find such a method whereby new keys may be generated by a single independent RNG located at the sender, encrypted with the currently active key and transmitted along with normal data. Following decryption of the cipher-stream at the receiving station or entity, the encrypted keys are extracted from the data-stream, decrypted, and substituted for the prior key at a predetermined or designated point in time.
However, even such dynamic systems have numerous weaknesses, in that (a) pseudorandom keys are generated using PRNGs which eventually become predictable, (b) keys are stored and susceptible to interception and compromise, (c) keys are limited in length, and thus present a limit in cryptographic entropy and strength, even though resultant pseudo-key material is longer than the original key, (d) keys are reused, or transformed in a linear manner through functions, making equivocation analysis attacks viable, (e) the ciphertext is readily visible facilitating cryptanalysis attack and (f) the above issues lead to situations where the deciphering of a single key leads to compromise of successive and previous keys, and eventually to a compromise of all previous and future transmitted data.
In accordance with a principle feature of the present invention, multiple RNGs are deployed at both the sending and receiving stations or entities (may be users, machines, network devices, groups etc.) in that some RNGs are used to generate a sequence of random entropy values, which are mixed with message sequences, and communicated in an encrypted format, and are then used to alter the deterministic mechanics of the cryptosystem or it's RNGs in a probabilistic manner without actually communicating any keys, but merely the means of key generation. This mechanism therefore serves to âupdateâ the entropy of the cryptosystem which ordinarily would be limited to the initial keys used, and will allow for an information theoretically secure cryptosystem, provided the rate of entropy updates exceeds the rate of entropy depletion. Whilst it is possible to pass new keys along in such a manner, or to pass updates which can be applied to existing keys to generate new keys, the rate of entropy depletion will usually be greater than the rate of entropy updates, which is why this technique is not generally used in cryptography. The solution to the problem of updating entropy at a faster rate than the depletion can be accomplished if a large entropy pool is used such as that found in a stateful random number generator. Merely passing the entropy updates between sender and receiver does not divulge any resultant keystreams or keys. In addition, provided an independent RNG is used to generate the entropy updates, and the entropy values are pre-encrypted with a shared key before being joined to normal messages or control values in randomly composed encryption blocks, and subsequently encrypted with the outputs of a second RNG, it is mathematically possible to augment the rate of entropy (or uncertainty) in the cryptosystem faster than it can be depleted through normal use. Doing this in a perpetually synchronized manner between sender and receiver, effectively results in a perpetual information theoretically secure cryptosystem, provided the proportion of entropy updates is larger than the amount of redundancy in the messages being communicated.
In accordance with the invention, in order to allow the two sending and receiving entities to continue communication using a random keystream, each is supplied in advance with a separate random number sequence which exclusively determines the numerical sequence and content of the random numbers produced by the two synchronized RNGs. Whilst the separate random number sequence may be used as a seed to restart the random number generation process at a predetermined time (as is found in prior art), it can alternatively be used to great advantage to alter a portion or the entirety of the output sequences of the RNGs, by altering a portion or the entirety of their internal states. Alternatively, it can be used for other purposes, such as allowing for variation in the encryption mechanics used, or for altering a portion or the entirety of the encrypted ciphertext prior to transmission.
In accordance with the principle feature of the invention, an additional independent entropy source like another RNG is used to generate random sequences of numbers of random length (entropy), which is then randomly and continuously injected into the data-stream or crypto-stream of stream ciphers, o
CROSS REFERENCE TO RELATED APPLICATIONS
U.S. Pat. No. 1,310,719âGilbert VernamââSecret Signaling Systemâ
U.S. Pat. No. 5,412,730âMichael F. JonesââEncrypted Data Transmission System Employing Means for Randomly Altering the Encryption Keyâ
U.S. Pat. No. 7,376,232,âHamdy SolimanââComputer System Security Via Dynamic Encryptionâ
STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
Not Applicable
BACKGROUND OF THE INVENTION
(1) Field of Invention
The present invention relates to data transmission and computer security systems and more particularly, to multi-cypher encryption and decryption, multi-source random number generation and to systems for transmitting multiple encrypted data streams.
In particular, the present invention relates to a random number generation and encryption method or system which uses a distributed framework of multiple random or pseudo-random number generators producing infinite length multiple keystreams, to support a dynamic super-encryption cipher-stream (a continuous sequence of variable length ciphertext segments each encrypted with a unique key) which is used to transmit data between system nodes, and also transmit random entropy updates which are used to perpetually augment the entropy or uncertainty of the cryptosystem mechanics, variables, configuration, state or the composition of the random number generators used to generate the required random number outputs.
(2) Description of the Related Art
Cryptography provides a means of security for transmitted data by transforming messages from âplaintextâ to âciphertextâ using a secret âkeyâ and an encryption and decryption algorithm.
This invention relates specifically to âtrueâ secrecy cryptosystems, in that the meaning of the messages being transmitted are concealed by a cipher or code and the adversary is assumed to have any special equipment necessary to intercept and record the transmitted signal; as defined in the documentâShannon, Claude (1949) âCommunication Theory of Secrecy Systemsâ, Bell System Tech. J., Vol. 28, pp. 656-715.
In typical âsymmetricâ encryption usage scenarios, the transmitted data is encrypted by a sender using a unique key value (such as a 256-bit binary number) and unscrambled at the receiver, by a reverse process that requires the same key value to be known, whereas with âasymmetric encryptionâ, different key values are used which are mathematical inverse functions of the first unique key value, such as ¼ and 4/1. Since these keys are almost always shorter than the messages they encrypt, a means of applying the key to longer messages is used. With block cyphers, the key is in essence repeated with every block of message data that is encrypted (may include a transformation of the key between blocks), whereas with stream ciphers the key is applied to a pseudo-random number generator (hereinafter called âPRNGâ) to produce a long keystream which is then used for encryption and decryption purposes.
Ordinarily, the strength of a cryptosystem may be considered to be directly proportional to the length of the initial key, but this assumption is subject to the condition that the ciphertext is shorter than a value that Claude Shannon called the âunicity distanceâ. Cryptographic algorithms which produce ciphertexts which exceed the unicity distance, which is the length of the initial key plus the minimum length which could be used to convey the message, are inherently insecure, and are guaranteed to produce a single correct decipherment. Since the encryption strength of any encryption algorithm decays in proportion to the length of the ciphertext which exceeds the âunicity distanceâ, statistical decryption techniques such as equivocation are far more efficient than brute force decryption.
A simple and secure cryptosystem which is not subject to equivocation attack risks, has been around since 1882. The âone-timeâ pad (hereinafter referred to as âOTPâ) or Vernam Cipher, was originally invented by Frank Miller and patented in 1917 by Gibert Vernam (U.S. Pat. No. 1,310,719 entitled âSecret Signalling Systemâ). The OTP has the distinction as being the only cryptosystem to date to have been mathematically proven to be âperfectly secretâ (as defined by Claude Shannon) if used correctly, in that an adversary is unable to compromise the cipher given infinite time, infinite computing resources, and any number of plaintext/cyphertext pairs. It is the object of this invention to introduce a new âinformation theoretically secureâ cryptosystem.
The OTP's âperfect secrecyâ is dependent on the following conditions being met: (1) The key used must be truly randomâthe key must therefore be unpredictable or insignificant in every sense of value, position or distribution, (2) The key must be at least as long as the plaintext, if not longer, and never repeated in whole or in part, and (3) The keys must be kept completely secret during generation, distribution, usage and storage.
Claude Shannon, in dealing with secrecy cryptosystems in general, asserted that the OTP complied with the requirements for âperfect secrecyâânamely that the ciphertext can be translated into any plaintext of the same length, all of which are equally likely, if a truly random key was used. More specifically, he defined âperfect secrecyâ as meeting the criterion that âthe a priori probability of a plaintext message M is the same as the a posteriori probability of a plaintext message M given the corresponding ciphertextâ. Further, he explained that perfect secrecy is possible but requires that the keys must be generated at the same or higher rate than the messages, and be at least as long as the messages. Strictly speaking, by the above definition, perfect secrecy can never be obtained using block cyphers or seed-fed stream ciphers, since the input entropy is limited to the seed or key size.
Despite these cryptographic strengths, practical problems have prevented OTPs from being widely applied in a practical manner, including: (1) The Random Number Generation ProblemâThe problem in generating unpredictable infinite length one-time pad sequences, which is a serious problem if one is using single independent pseudo-random number generators (hereinafter called âPRNGsâ), (2) The Distribution Problemâin that the required OTP values must be securely generated and exchanged between the sender and receiver, and be at least as long as the messages to be sent, and (3) The Key Management Problemâin that the OTPs must be kept secret and be immediately and irrevocably disposed of in a secure manner.
In addition to the problems mentioned above, the OTP also suffers from the following issues: (1) known ciphertext length, (2) ciphertext readily visible for analysis, (3) lack of user authentication, (4) lack of message verification and error correction, (5) ciphertext position is relative to plaintext.
In addressing the Random Number Generation problem with regards to âperfect secrecyâ systems and the âone-time padâ, any numbers that are generated and used as keys in a cryptosystem must be truly random and thus, unpredictable in any conceivable manner. There are two principal methods or types of random number generators (hereinafter called RNGs) used currently to generate random numbers, namely âtrue random number generatorsâ (hereinafter referred to as TRNGs) and âpseudorandom number generatorsâ (hereinafter referred to as PRNGs). TRNGs measure some physical phenomenon that is expected to have random characteristics and compensate for possible biases in the measurement process. Drawbacks to this approach include the need for measuring apparatus, and there are limitations to the rate at which random numbers (or âentropyââa measure of unpredictability of information content) can be harvested since there is a dependency on the underlying rate of measurement. PRNGs entail the use of computational algorithms or functions to produce long sequences of apparently random results, which are actually completely predetermined by a smaller initial value, or seed. PRNGs tend to be fast, and act alone with the exception of input seeds which can be provided independently or are functions of their output. There are two distinct types of PRNGsâlinear congruential generators which use a mathematical calculation and use outputs as a means of deriving inputs in a cyclic manner, and probability distribution generators which perform various operations on a data set or table (such as ARC4âa well-known stream cypher). Since both types of PRNGs use small seed or initialization values, there is a cryptographic quality issue in that that the entropy of the output number sequences with a PRNG is limited to the entropy of the input seed entropy. For example, if a numeral from 1 to 9 is used as a seed in a pseudorandom number generator, there may be a maximum of 10 variations of output, irrespective of the length of their output sequences. Therefore, PRNGs initialized using a seed value cannot satisfy the requirements of âinformation theoreticâ security since their output keys are only truly random until they exceed the length of the input seed key.
It is therefore a specific objective of the current invention to address the random number generation problem through the manipulation of multiple RNGs or more specifically, the manipulation of the RNG internal states, operating within the cryptographic system.
Since constant reuse or use (in the case of stream ciphers) of the same key is cryptographically insecure due to the consumption of key entropy through normal use (resulting in a reduction in equivocation), in order to increase security, encryption key values may be frequently changed (with a penalty to bandwidth usage) to continuously add entropy to the cryptosystem, reduce the probability that an adversary may compromise the cryptosystem by intercepting and deciphering the encrypted messages, and thus requires new key values to be sent frequently by the sender to the receiver. In U.S. Pat. No. 5,412,730, Michael F. Jones âEncrypted Data Transmission System Employing Means for Randomly Altering the Encryption Keyâ we find such a method whereby new keys may be generated by a single independent RNG located at the sender, encrypted with the currently active key and transmitted along with normal data. Following decryption of the cipher-stream at the receiving station or entity, the encrypted keys are extracted from the data-stream, decrypted, and substituted for the prior key at a predetermined or designated point in time.
However, even such dynamic systems have numerous weaknesses, in that (a) pseudorandom keys are generated using PRNGs which eventually become predictable, (b) keys are stored and susceptible to interception and compromise, (c) keys are limited in length, and thus present a limit in cryptographic entropy and strength, even though resultant pseudo-key material is longer than the original key, (d) keys are reused, or transformed in a linear manner through functions, making equivocation analysis attacks viable, (e) the ciphertext is readily visible facilitating cryptanalysis attack and (f) the above issues lead to situations where the deciphering of a single key leads to compromise of successive and previous keys, and eventually to a compromise of all previous and future transmitted data.
In accordance with a principle feature of the present invention, multiple RNGs are deployed at both the sending and receiving stations or entities (may be users, machines, network devices, groups etc.) in that some RNGs are used to generate a sequence of random entropy values, which are mixed with message sequences, and communicated in an encrypted format, and are then used to alter the deterministic mechanics of the cryptosystem or it's RNGs in a probabilistic manner without actually communicating any keys, but merely the means of key generation. This mechanism therefore serves to âupdateâ the entropy of the cryptosystem which ordinarily would be limited to the initial keys used, and will allow for an information theoretically secure cryptosystem, provided the rate of entropy updates exceeds the rate of entropy depletion. Whilst it is possible to pass new keys along in such a manner, or to pass updates which can be applied to existing keys to generate new keys, the rate of entropy depletion will usually be greater than the rate of entropy updates, which is why this technique is not generally used in cryptography. The solution to the problem of updating entropy at a faster rate than the depletion can be accomplished if a large entropy pool is used such as that found in a stateful random number generator. Merely passing the entropy updates between sender and receiver does not divulge any resultant keystreams or keys. In addition, provided an independent RNG is used to generate the entropy updates, and the entropy values are pre-encrypted with a shared key before being joined to normal messages or control values in randomly composed encryption blocks, and subsequently encrypted with the outputs of a second RNG, it is mathematically possible to augment the rate of entropy (or uncertainty) in the cryptosystem faster than it can be depleted through normal use. Doing this in a perpetually synchronized manner between sender and receiver, effectively results in a perpetual information theoretically secure cryptosystem, provided the proportion of entropy updates is larger than the amount of redundancy in the messages being communicated.
In accordance with the invention, in order to allow the two sending and receiving entities to continue communication using a random keystream, each is supplied in advance with a separate random number sequence which exclusively determines the numerical sequence and content of the random numbers produced by the two synchronized RNGs. Whilst the separate random number sequence may be used as a seed to restart the random number generation process at a predetermined time (as is found in prior art), it can alternatively be used to great advantage to alter a portion or the entirety of the output sequences of the RNGs, by altering a portion or the entirety of their internal states. Alternatively, it can be used for other purposes, such as allowing for variation in the encryption mechanics used, or for altering a portion or the entirety of the encrypted ciphertext prior to transmission.
In accordance with the principle feature of the invention, an additional independent entropy source like another RNG is used to generate random sequences of numbers of random length (entropy), which is then randomly and continuously injected into the data-stream or crypto-stream of stream ciphers, or into block ciphers, in order to randomly alter various components of the cryptosystem separately or in union, namely the output, the mechanics or the internal states of random number generators, or the mechanics or composition of the encryption algorithms, or the composition or characteristics of the plaintext prior to encryption, or the ciphertext after encryption prior to transmission. In order that the two generators switch from the previous cryptographic configuration to the next in synchronicity, means are employed at the sender to construct transmission packages which include data messages, random update information, other information and control information. Following encryption at the sender, transmission and decryption at the receiver, previous control information is used to deconstruct the package into its separate components and process data, updates, other information and control information accordingly. The construction and encryption, or deconstruction and decryption, of transmission packages (which may be fixed or randomly variable in length), may be referred to as an âencryption cycleâ. Following the completion of an encryption cycle at the sender or the receiver, encryption configuration changes are applied to the respective cryptosystem components, and the new control information variables become active, replacing the old control variables. This continuous update process continues indefinitely until the communication link is terminated.
Without reiterating the above problems, it is therefore an object of the current invention to provide a method and a system which addresses the above problems whilst remaining within the confines of the characteristics of a âperfect secrecyâ cryptosystem.
Until 1976, symmetric cryptosystems (that use a similar encryption and decryption key) like the one-time pad, were the predominant cryptosystem in practice. Unlike the one-time pad, most symmetric cryptosystems were block cyphers or stream ciphers, which used keys that were usually smaller than the message being transmitted. In the case of block ciphers the use of smaller repeating keys is not a cryptographically secure means of encryption, for two reasons, firstly it results in a decrease in the size of the cryptographic problem (by limiting the amount of cryptographic input entropy in a cryptosystemâthe reason why âone timeâ pads should have keys as long as the message), and secondly, it allows for the implementation of equivocation techniques which use statistical means to compromise the cipher without having to resort to brute force techniques of trying every possible key (the reason why keys should never be repeated). Stream ciphers on the other hand use small keys as seeds to PRNGs for the generation of lengthy output keystreams, but the use of limited length seeds again results in a decrease of cryptographic entropy of the output key stream, the very reason why âperfect secrecyâ systems require keys to be as long as the message. For stream ciphers or block ciphers to attain âperfect secrecyâ, they must continuously receive random seeds, which results in 100% overhead to their message length and decreases their processing efficiency.
It is therefore a specific objective of the current invention to address the problem with ensuring that the one-time perpetual keys that are generated within the cryptosystem, can be initiated by a single set of initialisation values or keys, yet be able to maintain their unpredictable and perpetually random nature, through random feedback and synchronization updates between RNGs operating within the cryptographic system.
Like the one-time pad, all symmetric ciphers had the inherent âDistribution Problemâ in that the original keys or seeds used for encryption and decryption must first be communicated between sender and receiver using a secure means of transfer. The security of any cryptographic system is only as secure as the initial key exchange, and the transfer process is prone to theft, interception, and alteration, defeating the purpose of the underlying cryptosystem.
The invention of asymmetric encryption (using different but related keys to encrypt and decryptâsuch as private and public keys) addressed the distribution problem to a large extent allowing for limited length key distribution over insecure communication links, whilst also introducing authentication, verification and revocation properties which were previously absent in symmetric cryptosystems, an enormous achievement. However, this was achieved at the considerable expense of replacing previously mathematically proven âsecureâ (unbreakable) cryptosystems with a design alternative that relied on the unproven or assumed difficulty of solving certain mathematically âhardâ problems.
It is therefore apparent that a need exists for a cryptosystem or cryptographic technique to address the issues that hampered the practical adoption of the one-time pad, by solving the randomness problem, the distribution problem, the key management problem, allowing for the use of asymmetric encryption advantages through the use of efficient super-encryption without compromising sound cryptographic principles by adhering to the basic requirements of a âperfect secrecyâ cryptosystem. The present invention is directed toward providing such a technique and is unique in combining an autonomous network of multiple independent RNGs and an efficient super-encryption capability which is able to support asymmetric encryption solutions, as a viable means of addressing the problems mentioned above.
It is an object of the current invention to use the basic mechanics and principles of the OTP (true random numbers as long as the messages) as a foundation to the cryptosystem, and augmenting it where necessary with techniques to address past issues and keep all cryptosystem mechanics and functions dynamic, autonomous and independent from direct user interaction due to key input or message content. Thus ensuring that keys or RNG states are not readily available to user access since individual key values are automatically and dynamically generated, used and destroyed.
It is therefore an object of the current invention to provide a method and a system for the proper and cryptographically secure generation of unpredictable random numbers by dynamically and randomly synchronizing the state of independent random and pseudo-random number generators (RNGs) in an interconnected RNG communication network. The propagation of synchronicity entropy changes at a specific system node has the desirable side-effect in that its entropy impact may eventually be propagated across the entire network to other connected system nodes.
Another object of the current invention is to use the cryptographically secure output of multiple RNGs to perpetually and randomly add entropy to the encryption sequence in a manner similar to that found in prior art and referred to as âdynamic encryptionâ systems. Dynamic encryption attempts are described in U.S. Pat. No. 7,376,232, by Hamdy Soliman entitled âComputer System Security Via Dynamic Encryptionâ, and U.S. Pat. No. 5,412,730 by Michael F. Jones entitled âEncrypted Data Transmission System Employing Means for Randomly Altering the Encryption Keysâ, but the present invention differs from previous art substantially in that it does not rely on the limited entropy of previous keys or data as a means of dynamic propagation, nor do keys get transferred over communication link, but in the transfer of an random length RNG state changes within a super-encrypted cipher-stream, which presents a more efficient and stochastic improvement, albeit at the price of expansion in message length, another reason why this technique does not appear in prior art, since message expansion is generally considered undesirable.
With regard to stream cyphers, ARC4, designed by Ron Rivest in 1987 and leaked to the public in 1994, is remarkable in its simplicity and speed in software. However, ARC4 has vulnerable weaknesses that argue against its use in new systems, such as not discarding the beginning of output streams, or when nonrandom keys are used. Additional problems identified by cryptanalysts with ARC4 include (a) a weak initial key scheduling algorithm, (b) a predictable starting distribution, (c) a uniform value distribution in that each value in the 256 byte secret state is unique and changed in location only, (d) a lack of additional input entropy following initialisation.
It is an object of this invention to introduce a viable and dynamic RNG (identified in the invention as a âHi-Generatorâ) which addresses the problems identified with ARC4. Besides differences in the secret internal index pointers and state size, which can be randomly predetermined to be less or higher than 256 bytes, and can dynamically change its size during operation, it has no scheduling algorithm, nor a uniform distribution of unique valuesâall state values are random. In addition the pseudo-random generation algorithm does not merely relocate values, but amends them, in that each operation results in 3 or more additionally amended values. The most important difference being introduced with Hi-Generators, is that independent dynamic random changes are intermittently performed on the internal secret state of the RNG during normal operations, through the use of entropy updates. To conserve entropy, amended values need not be discarded but can be transferred to other Hi-Generators. These updates may be applied in an effort to synchronize variations in the output stream between synchronized RNGs, or to distribute the impact of entropy updates to unsynchronized RNGs.
A further object of the current invention is to simultaneously super-encrypt the combined data transmissions and entropy updates within a variable length message package, thereby using the RNG synchronization updates to âpolluteâ or âcontaminateâ the resulting cipher-text sequence for the message, making the cryptosystem resistant to linear and differential cryptanalysis, and removing the assumption that a message was even sent.
A further object of the current invention is to provide an efficient technique for the super-encryption of messages that incurs less than 100% overhead in message length, and which is able to shield the cipher-text from cryptographic analysis and address the âmagic numberâ and ânull stringâ problems.
A further object of the current encryption is to allow for the integration of existing authentication and verification asymmetric encryption mechanisms (used for user authentication, identification information, keys or certificates) into the encryption process itself, greatly adding to the security of asymmetric encryption systems and extending the present invention cryptosystem to include central authority control and management functions, and supporting the distribution and authentication of cryptosystem entities (users, machines, systems, data, access control and services etc.), the establishment of secure communication links between vetted entities, and eliminate the possibility of unidentified entities communicating to any other entity within in the cryptosystem network.
A further object of the invention is to provide a single efficient, fast and scalable means of encryption which can be used for all eventualities, namely encryption of data at rest, data in transit over communication channels, and for the provision of a means of authenticating network entities.
A further object of the invention is to provide a means for ensuring that all traffic flowing within the cryptosystem network remains behind a logical security boundary, whereby access to and from specific system nodes is controlled identified and kept under user or management control.
These and other objects, features and advantages of the invention will be apparent to those skilled in the art, and more clearly understood by considering the following detailed description of specific embodiments of the invention.
BRIEF SUMMARY OF THE INVENTION
The purpose of this invention is to provide a secure cryptographic method and system capable of securing the transfer of data within and between computer systems, whilst addressing the problems of pseudo-random number generation, infinite length keystreams and efficient super-encryption.
To this end, the cryptosystem uses multiple RNGs (preferably of a type known as Hi-Generators) to produce multiple random keystreams which are used, for the encryption (preferably using the Hi-Encrypt super-encryption algorithm) of normal data transmissions and the transfer of random entropy updates to other system entities (nodes, users, data, RNGs, machines, devices, computers, etc.).
In so doing the invention addresses the following problems:
(a) the difficulty in producing unpredictable infinite length random number sequences which are at least as long as the messages which need to be transmitted, (b) protecting the cipher-text through multiple encryption, from most cryptographic attack vectors, including brute-force attacks through the use of a non-deterministic encryption method which allows for âperfect secrecyâ and results in multiple false positives, (c) providing a secure means of secret key generation, distribution, use, disposal and storage to prevent key interception, (d) providing a secure means of initial key distribution without exposing public or private key contents to unauthorized parties, (e) allowing for central authority management of network entities, (f) preventing unauthorized parties from interfering with or intercepting dynamic keys through replay or man-in-the-middle attacks, since no actual keys are transmitted over communication links and interference with the key generation mechanism ultimately leads to intrusion detection, and resynchronization of the specifically affected encrypted channel.
The use of Hi-Generate RNGs and the Hi-Encrypt super-encryption algorithm results in a cryptosystem with both âperfect secrecyâ and âideal secrecyâ characteristics.
This and other features and advantages of the invention may be more clearly understood by considering the following detailed description of specific embodiments of the invention.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
In the course of the brief and detailed description to follow, reference will be made to the following attached drawings, in which:
FIG. 1 a . is an illustration demonstrating the basic random number generator components as contemplated by the invention,
FIG. 1 b . is an illustration demonstrating the relationship between various random number generation configurations and their various output streams, as contemplated by the invention,
FIG. 2 is a component diagram illustrating the internal components of a random number generator in detail, as contemplated by the invention,
FIG. 3 is a diagram illustrating the internal mechanics of the random number generation process as contemplated by the invention,
FIG. 4 is a functional block diagram illustrating an initialisation process and capabilities which embody the invention,
FIG. 5 is a functional block diagram illustrating the random entropy update propagation method which embody the invention,
FIG. 6 is a functional block diagram illustrating the composition and signal processing steps which embody the invention, and also illustrates enhanced signal processing capabilities used in the preferred embodiment of the invention,
FIG. 7 is a diagrammatic illustration of various encryption and permutation methods as contemplated by the invention,
DETAILED DESCRIPTION OF THE INVENTION
Terms and Definitions
Some embodiments described herein are associated with âencryptionâ and âdecryptionâ. As used herein, the phrase âencryptionâ is the process of encoding or transforming messages or information in such a way that only authorized parties can transform it into a meaningful message. Encryption does not prevent interception, but denies the message content to the interceptor (as published by Goldreich, Oded âFoundations of Cryptography: Vol 2, Basic Applications. Vol. 2â, Cambridge University Press, 2004). In an encryption scheme, the message or information, referred to as âplaintextâ is encrypted using an encryption algorithm, producing âciphertextâ that can only be read if decrypted. For technical reasons, the security of encryption schemes are usually dependent on true random or pseudo-random encryption keys generated by an algorithm. It is in principle possible to decrypt the message without possessing the key, but, for a well-designed encryption scheme, even infinite resources, skill and time are insufficient to decrypt the message to a single correct message. Such a cryptosystem is said to have the characteristic of âideal secrecyâ. In addition, âperfect secrecyâ is a characteristic of a cryptosystem in that, given an encrypted message (or ciphertext) from a perfectly secure encryption system (or cipher), absolutely nothing about the unencrypted ciphertext (the plaintext) will be revealed in the ciphertext. Technically speaking, a cryptosystem has perfect secrecy if for any message âxâ and any encipherment âyâ, p(x/y)=p(x). This implies that there must be for any message/cipher pair, at least one key which connects them.
Some embodiments described herein are associated with a ânetwork entityâ, âsystem entityâ or âentityâ. As used herein, the phrases ânetwork entityâ, âsystem entityâ or âentityâ may be used interchangeably and may refer to any physical or logical component or element of the cryptosystem that uses, interacts with or constitutes said cryptosystem and which can be separately identified and authenticated using an identification number sequence. Examples of entities include but are not limited to users, machines, groups, enterprises, authorities, services, ports, keys, RNGs, entropy sequences, programs, addresses, tokens, devices, systems, configurations, components, nodes, instances, states, identifier types, ciphers, keystreams and data streams. Entities may comprise one or more other entities.
Some embodiments described herein are associated with a ânetwork nodeâ or âcommunication nodeâ. As used herein, the phrases ânetwork nodeâ or âcommunication nodeâ may be used interchangeably and may refer to any physical or logical device that can communicate via a network, to another network node, or to itself, or to another network component within the same network node. Examples of network nodes include a Personal Computer (PC), a workstation, a server, a printer, a scanner, a facsimile machine, a copier, a Personal Digital Assistant (PDA), a storage device (e.g., a disk drive), a hub, a router, a switch, and a communication device (e.g., a modem, a wireless phone, etc.). Network nodes may comprise one or more network components. As used herein, the term ânetwork componentâ may refer to a network device, or a component, piece, portion, or combination of network nodes. Examples of network components may include a Static Random Access Memory (SRAM) device or module, a processor, and a communication path, connection, port, or cable.
In addition, some embodiments are associated with a ânetworkâ or a âcommunication networkâ. As used herein, the terms ânetworkâ and âcommunication networkâ may be used interchangeably and may refer to any object, entity, component, device, and/or any combination thereof that permits, facilitates, and/or otherwise contributes to or is associated with the transmission of packets, sequences, signals, and/or other forms of information between and/or within one or more network devices. Networks may be constituted of, or include a plurality of interconnected network devices. In some embodiments, networks may be virtual, neural, artificial, hard-wired, wireless, and/or of any other configuration and/or type that is or may become known. Communication networks may include, for example, one or more networks configured to operate in accordance with the Ethernet LAN transmission standards published by the Institute of Electrical and Electronics Engineers (IEEE).
Further, some embodiments herein are associated with âdataâ or âinformationâ. As used herein, the terms âdataâ or âinformationâ may be used interchangeably and may refer to any individual or combination of sequence, numbers, data, text, voice, video, image, message, bit, byte, packet, package, pulse, tone, waveform, and/or other type or configuration of signal and/or information. Information may be or include information packets, network management information, cryptosystem control information, datagrams, or cryptograms transmitted, for example, in accordance with the Internet Protocol Version 6 (IPv6) standard as defined by âInternet Protocol Version 6 (IPv6) Specificationâ RFC 1883, published by the Internet Engineering Task Force (IETF), Network Working Group, S. Deering et al. (December 1995). Information may, according to some embodiments, be compressed, encrypted, checked for errors, certified, and/or otherwise packaged or manipulated in accordance with any method that is or becomes known.
Some embodiments described herein are associated with âinformation indicative ofâ or âindiciaâ of information associated with a subject, item, entity, and/or other object and/or idea. As used herein, the phrases âinformation indicative ofâ and âindiciaâ may be used to refer to any information that represents, describes, and/or is otherwise associated with a related entity, subject, or object. Indicia of information may include, for example, a code, a reference, a link, a signal, an identifier, and/or any combination thereof and/or any other informative representation associated with the information. In some embodiments, indicia of information (or indicative of the information) may be or include the information itself and/or any portion or component of the information.
In addition, some embodiments are associated with the protection, encryption and utilization of information against âriskâ or âsecurity riskâ. As used herein, the term âriskâ or âsecurity riskâ may generally refer to any probability, possibility, chance, and/or likelihood of incurring an event of negative consequence such as encountering peril, loss, hazard, danger, and/or injury. In some embodiments, âsecurity riskâ or âriskâ may refer to any actual, perceived, inherent, intrinsic, and/or other form or type of peril, loss, hazard, danger, and/or injury. According to some embodiments, âsecurity riskâ or âriskâ may refer to any individual, item, device, event, agent, organization, and/or other object or entity that may contribute to, cause, result from, and/or otherwise be associated with any type or form of risk. Risk may, according to some embodiments, be associated with any type and/or aspect of possibility of peril, loss, hazard, danger, and/or injury. Examples of risk may include, but are not limited to, financial risk, political risk, risk of injury, risk of theft, risk of damage, risk of terrorism, risk to reputation, regulatory risk, legal risk, war risk, and environmental risk.
Upon reading this disclosure, those skilled in the art will recognize that embodiments of the present invention may be used to encrypt, decrypt, authorise, authenticate, verify, repudiate, propagate, alter and any number of different types of information.
SUMMARY OF THE INVENTION
The following descriptions of embodiments, some of which are preferred, are provided for further illustrating, but not limiting, the present invention.
To alleviate the problems inherent in prior art, embodiments provide systems, methods, apparatus and means for random number generation, encryption, decryption, super-encryption, super-decryption, authentication, message packet construction and message verification. The applicants have recognized that there is a need for separate systems, methods, apparatus and means for addressing specific cryptographic problems, and a need for the integration of those separate systems, methods apparatus and means to be used in unison to create a fully integrated cryptosystem which strives to attain the security characteristics of âperfect secrecyâ, or âideal secrecy.
One benefit of some embodiments is that the cryptographic security of encryption through the use of multiple random and perpetual keystream sources, addresses a number of issues with current computer security implementations in one comprehensive solution. As a result, users such as financial institutions, businesses, government agencies, or the like may be afforded a greater level of security in protecting their digital assets, such as files, data, network communications, in perpetuity. Some embodiments provide benefits such as the ability to perform a number of cryptographic functions, such as unilateral initiation of communication, encryption to local media, encryption over a network, authentication, verification, digital signing, hashing, broadcasting, automated key management, stream auto correction, and others all using a single cryptographic algorithm or cipher. Other features and advantages that are derived from some embodiments will become apparent upon reading this disclosure.
Individual Cryptographic System Components
Certain embodiments of the current invention include, but are not limited to the use of a number of separate components, modules, methods, systems, apparatus and means which may in themselves be considered separate inventions. The separate methods, systems, apparatus or means which will be discussed include: (a) an random number generation method or system used within random number generators having variable and random internal states, to produce random number sequences (b) a method or system of deploying multiple independent random number generation sources in various configurations using a hierarchy, making them conducive to another mechanism detailed below which allows for the generation of unpredictable random number sequences using pseudo-random number generators (c) a fast, simple and efficient super-encryption method or system using two or more ciphers, and one or more keystreams, which is brute force resistant, (d) a message packaging method or system for the transmission of data and additional random entropy sequences using communication links, (e) a method or system of using the additional entropy information to alter the dynamics of the cryptosystem at various levels, (f) a method or system for the distribution of initial keys or sequences to initialize secure communication links between network nodes using simple delivery, by integrating asymmetric encryption components within the super-encrypted cryptogram (g) a method or system of centrally registering cryptosystem entities (users, machines, keys, algorithms, devices etc.), (h) a method or system of exchanging, distributing and protecting initialization keys or sequences between cryptosystem entities.
Random Number Generation
Certain embodiments of the current invention include, but are not limited to the use of a distinct and unique random number generation method or mechanism called âHi-Generateâ which can be used with PRNGs which use secret internal states to generate a pseudorandom or random stream of values in bits or bytes. Whilst PRNG's used may use internal secret states of any length, the Hi-Generate method requires these states to be composed of random numbers and not a uniform random distribution of unique numbers as is encountered with ARC4, a popular stream cipher.
Like any stream cipher the sequence of random numbers produced by a Hi-Generator can be used as a keystream for encryption purposes by combining it with plaintext using a bit-wise exclusive-or (XOR), or logical operation, with decryption being performed using a similar operation with XORs (since XOR with given data entails an involution), or by reversing the logical operation. To this end it is similar to the âone-timeâ pad with the exception that a generated stream of pseudorandom bits, rather than a readily available pad, is used. The output random stream sequence of numbers can also be used to great advantage for a number of alternative purposes under specific conditions which will be become apparent as we discuss the invention in more detail.
With reference to FIG. 1 , a diagram which illustrates the internal composition of a basic Hi-Generator configuration in FIG. 1A , and a complex Hi-Generator configuration in FIG. 1B , we see that in order to generate a keystream 101 , Hi-Generators use a secret internal state 102 comprising a variable or fixed length array 103 , which may be populated with a sequence of random 8-bit numbers or bytes, and has at least two or more index pointers per
state array
104 , 105 , 106 . Unlike some stream ciphers, the main state array does not need to be 256 bytes in length or require a permutation of all 256 possible 8-bit values. The output sequence is generated using a procedure 107 which uses the changing values in index pointers to select values in the array which are selected as outputs, and will result in random changes to those array values as a result of that procedure.
A Hi-Generator may take many different configurations which may include additional 8-bit or other bit- sized index pointers 108 per state array, or additional internal state arrays 109 with associated index pointers for each state array, or even additional independent Hi-Generator secret states 110 , containing their own separate state arrays and index pointers. In addition, additional random number outputs
111 , 112 , can be derived from multiple arrays within a secret state, from multiple secret states within a generator, or multiple output bytes can be derived from a single state 113 . Since state array lengths may easily exceed 256 characters, index pointers may be 16-bits in size or larger where this is the case. There are usually at least two index pointers per array, but in some embodiments, three or more may be deployed.
In describing the general internal mechanics of a Hi-Generate RNG, such as initialization, or internal operations of a permutation, we may use a basic example such as that shown in FIG. 2A where a single Hi- Generator 202 , with a single secret internal state 203 , composed of a single array 204 of indeterminate length ânâ bytes containing a random or predetermined sequence of numbers, two single or multiple byte index pointers we shall refer to as âtâ 205 and âuâ 206 , and an output called âvâ 209 . An additional index pointer âwâ 207 and an additional output âxâ 210 is also shown. The additional index pointer may be used with an additional index pointer or existing index pointers to operate on the same or a distinct section of the array to produce the independent output value.
The initialization process of a Hi-Generator or other RNG may take many forms and generally entails a fixed starting configuration of the RNG prior to commencing random number generation. Certain embodiments of the current invention include but are not limited to deployments where the initial composition of RNGs is established using a predetermined, provided, fixed or random sequence which may be numbers, data or any other type of information, such as a key Such a process may designate the number of state arrays, appropriately sized index pointers, their relationships, and their respective content with regard to values. Generators may therefore be initialized with any randomly determined or predetermined length, and appropriately sized index pointers, and can simply be initialized by filling any arrays or index pointers with the provided random or predetermined number sequences. Where provided sequences are shorter in length than array A such as with a key, simply repeating the sequence ad nauseum should suffice. Alternatively, the content of another generator may be used, with or without a transformation.
It is important to make a distinction at this stage between synchronized and unsynchronized RNGs. Whilst both unsynchronized and synchronized RNGs may share all or a portion of internal information with other RNGs, unsynchronized RNGs do not produce or intend to produce identical sequences with other RNGs. Synchronized RNGS use the content of another RNG, without a transformation, such that the sequence of random numbers may be identical, allowing for encryption by a sender and decryption by one or more receivers. Hi-Generators or any other PRNGs for that matter, require that the sender and receiver Hi-Generator or RNG configurations be perfectly synchronized in composition and array values. Unsynchronized RNGs on the other hand operate independently. Whilst this invention provides for additional secure means and methods of initializing synchronizing RNGs, which will be discussed later, we will simply state at this point that the sending generator has communicated the details of an identical Hi-Generator or RNG configuration to the receiving station and with reference to FIG. 2 . that both parties share the variable length key 210 of ânâ bytes (which may contain the internal state values to be inserted into the synchronized RNGs). Certain embodiments of the current invention include, but are not limited to situations where RNGs are synchronized in a manner where the parties may simply XOR, or perform a logical operation, or an encryption operation with the values of the variable length key (or any other data sequence) with the existing values in the respective A array or arrays. It is of importance to note at this point that the security behind Hi-Generate random number generation does not depend entirely or primarily on the initial seed key values being secret, and they may even be made public, but also on an additional entropy distribution mechanism which may address that requirement. Unsynchronized Hi-Generate RNGs may best be initialized using the random output of one or more other RNGs, which may be true or pseudo RNGs.
Certain embodiments of the current invention include, but are not limited to the random number generation of single values (which may be of any bit size) per generator iteration and may generate multiple values per iteration to one or more output sequences. With reference to FIG. 3 which demonstrates the basic internal mechanics of the Hi-Generate random number generation procedure we have a single array âAâ 301 with ânâ byte values and two index pointers âtâ 302 and âuâ 303 with 2 byte values each and an output sequence called âvâ 304 which may be a value of any bit size. For as many iterations as are required to produce a single output value (single value output mode), the Hi-Generator pseudo-random number generation algorithm uses index pointers to identify locations in the array, from which values may be obtained to change index pointers, to ultimately obtain one or more array locations from which values may be used as outputs to the keystream or output random sequence 305 . Any array location which has been active during the iteration may have its values amended prior to the next iteration. Therefore with every iteration, the Hi-Generator algorithm may increment the âtâ value by 1 (modulo the length of the A array), ensuring that all array locations are interacted with, locates the value A[t] and adds that value to the existing âuâ value (modulo the length of the A array) to get the second location A[u]. The addition of A[t] and A[u] (modulo the length of the array) may point to a third location A[v] from which the â output 1â byte value 304 may be extracted directly or subject to a transformation prior to being added to the output. To complete the procedure, whilst some RNGs only exchange specific locations, it may be preferable to change the values at specific,
CLAIMS
Claims ( 7 )
What is claimed is:
1. A method of providing a secure communication link between system nodes, using a cryptosystem for dynamic encryption/decryption to encrypt and decrypt data and one-time pads which are used as entropy updates, the method comprising:
initialising identical synchronised secondary random number generators (RNGs) at an encryption node (RNG1B) and a decryption node (RNG2B) using a shared initial key Ki to populate the secondary RNG random length arrays and t and u pointers with random values, with said secondary RNGs being used to generate identical subsequent encryption and decryption keys (K);
generating random sequences at RNG1B and RNG2B to produce encryption and decryption keys, said generating including the steps of (i) t:=(t+1) mod k, (ii) u:=(u+A[t]) mod k, (iii) v:=(A[t]+A[u]) mod k, and (iv) A[v] being the reference to the output value;
providing an information message (M) to be encrypted at the encryption node;
a one-time pad entropy update random message (R) at the encryption node using a primary RNG (RNG1A) using said generation steps of (i) t:=(t+1) mod k, (ii) u:=(u+A[t]) mod k, (iii) v:=(A[t]+A[u]) mod k, and (iv) A[v] being the reference to the output value;
performing an encryption operation by completing an encryption cycle, comprising joining a segment (M1) of said information message (M) to a segment (R1) of said one-time pad entropy update random message (R) to produce a joined message (RM1) and encrypting said joined message using multiple encryption ciphers using the current encryption keys from RNG1B, to produce a ciphertext segment (C1);
performing an entropy update operation at the encryption node after the completion of every encryption cycle by using the random values in said R segment to alter the array and variable of RNG1B;
repeating the previous encryption and entropy update operations to encrypt subsequent M segments and R segments using subsequent decryption keys from RNG1B, and using the respective R segments for entropy updates on RNG1B until the information message M has been fully encrypted resulting in a sequential series of ciphertext segments (C);
transmitting the sequential series of cyphertext segments from the encryption node to the decryption node;
performing a decryption operation by receiving the sequential series of said ciphertext segments (C) at the decryption node and then performing a decryption operation on a ciphertext segment (C1) by applying the encryption operations in reverse and using the decryption keys generated by RNG2B to output the message segment M1 and the random entropy segment R1;
performing an identical entropy update operation at the decryption node after the completion of every encryption cycle by using each subsequently extracted R segment to alter internal state random values in RNG2B;
repeating the previous decryption and identical entropy update operations by decrypting subsequent cyphertext segments using the subsequent decryption keys from RNG2B, and using the extracted R sequences as entropy updates on RNG2B until the entire sequence of ciphertext segments have been decrypted.
2. The method of claim 1 , further comprising, after every encryption cycle, altering one or more of:
a selection, number, and sequence of the encryption ciphers;
a size and composition of the internal state of any random number generators;
a characteristics of the random number generators;
a composition of the random number generators;
a value of the random number generators;
a composition and characteristics of any encryption or decryption cycle.
3. The method of claim 1 , wherein said entropy update operations, result in an output set of values being produced which may then be used to further update, augment or increase the entropy of any other random number generator used by the cryptosystem.
4. The method of claim 1 , wherein said joining of said information messages, entropy update one-time pads, and dynamic control variables may include additional symmetric or asymmetric key values and further comprise joining various sections or lengths of said values.
5. The method of claim 1 , wherein performing the encryption operation further comprises using multiple encryption steps, algorithms, or ciphers, the composition and sequence of which randomly determined at runtime by values contained within the one-time pad entropy update segment, or by values contained within the control information.
6. The method of claim 1 , further including where control information values are derived from values in the one-time pad random entropy update messages, and wherein said control values are used to determine the subsequent cyphertext segment characteristics, including cyphertext segment length, information message segment length, random entropy segment length, block length and decryption key length.
7. The method of claim 1 wherein the cyphertext segment or dynamic control information values comprise error correction or message authentication verification information, or where the cyphertext segment transfers user authentication information, user mutual authentication information, or additional symmetric or asymmetric authentication keys.
US15/224,492
2015-07-30
2016-07-29
Method for a dynamic perpetual encryption cryptosystem
Active
2037-02-26
US10348704B2
( en )
Priority Applications (1)
Application Number
Priority Date
Filing Date
Title
US15/224,492
US10348704B2
( en )
2015-07-30
2016-07-29
Method for a dynamic perpetual encryption cryptosystem
Applications Claiming Priority (2)
Application Number
Priority Date
Filing Date
Title
US201562198828P
2015-07-30
2015-07-30
US15/224,492
US10348704B2
( en )
2015-07-30
2016-07-29
Method for a dynamic perpetual encryption cryptosystem
Publications (2)
Publication Number
Publication Date
US20170034167A1
US20170034167A1 ( en )
2017-02-02
US10348704B2
true
US10348704B2 ( en )
2019-07-09
Family
ID=57883782
Family Applications (1)
Application Number
Title
Priority Date
Filing Date
US15/224,492
Active
2037-02-26
US10348704B2
( en )
2015-07-30
2016-07-29
Method for a dynamic perpetual encryption cryptosystem
Country Status (1)
Country
Link
US
( 1 )
US10348704B2
( en )
Cited By (11)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US10855458B2
( en )
*
2017-04-17
2020-12-01
Zhineng Xu
Sequence encryption method accompanying adjustable random reconfiguration of key
US11184154B2
( en )
*
2018-05-11
2021-11-23
Zhuhai College Of Jilin University
Method for sequentially encrypting and decrypting doubly linked lists based on double key stream ciphers
US11201729B2
( en )
*
2016-08-12
2021-12-14
7Tunnels Inc.
Devices and methods for enabling portable secure communication using random cipher pad cryptography by enabling communications to be passed to the device from a host, encrypted and/or decrypted, and passed back to the host
US20220150051A1
( en )
*
2019-02-28
2022-05-12
Qrypt, Inc.
Multi-source entropy randomness aggregation and distribution network
US11368325B2
( en )
2020-02-11
2022-06-21
Honeywell International Inc.
System for communication on a network
US11385691B2
( en )
2020-01-30
2022-07-12
Honeywell International Inc.
Method for node message synchronization
US11582030B2
( en )
2021-02-25
2023-02-14
Oracle International Corporation
Secure distribution of entropy
US11762742B2
( en )
2020-03-31
2023-09-19
Honeywell International Inc.
Process control system with different hardware architecture controller backup
US11874938B2
( en )
2020-11-03
2024-01-16
Honeywell International Inc.
Admittance mechanism
US11989084B2
( en )
2020-09-23
2024-05-21
Honeywell International Inc.
Self-healing process control system
US12294645B2
( en )
2021-10-04
2025-05-06
QDS Holdings Inc.
Systems and methods for securing a quantum-safe digital network environment
Families Citing this family (68)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US10437288B2
( en )
2014-10-06
2019-10-08
Fasetto, Inc.
Portable storage device with modular power and housing system
WO2016187432A1
( en )
*
2015-05-19
2016-11-24
Michael Fiske
Hiding a public key exchange in noise
US9948460B2
( en )
*
2015-08-28
2018-04-17
City University Of Hong Kong
Multivariate cryptography based on clipped hopfield neural network
CN106656907B
( en )
*
2015-10-28
2021-03-02
é¿éå·´å·´é墿§è¡æéå ¬å¸
Method, device, terminal device and system for authentication
CN107086907B
( en )
2016-02-15
2020-07-07
é¿éå·´å·´é墿§è¡æéå ¬å¸
Key synchronization and packaging transfer method and device for quantum key distribution process
CN107086908B
( en )
2016-02-15
2021-07-06
é¿éå·´å·´é墿§è¡æéå ¬å¸
A kind of quantum key distribution method and device
US10601793B2
( en )
*
2016-03-11
2020-03-24
Pss, Llc
Systems and methods for securing electronic data with embedded security engines
CN107347058B
( en )
2016-05-06
2021-07-23
é¿éå·´å·´é墿§è¡æéå ¬å¸
Data encryption method, data decryption method, device and system
CN107370546B
( en )
2016-05-11
2020-06-26
é¿éå·´å·´é墿§è¡æéå ¬å¸
Eavesdropping detection method, data transmission method, device and system
CN107404461B
( en )
2016-05-19
2021-01-26
é¿éå·´å·´é墿§è¡æéå ¬å¸
Data secure transmission method, client and server method, device and system
US20180083772A1
( en )
*
2016-09-20
2018-03-22
Daniel Patrick Mullarkey
Perpetual encryption system, method, and software program product
CN107959567B
( en )
2016-10-14
2021-07-27
é¿éå·´å·´é墿§è¡æéå ¬å¸
Data storage method, data acquisition method, device and system
CN107959656B
( en )
2016-10-14
2021-08-31
é¿éå·´å·´é墿§è¡æéå ¬å¸
Data security assurance system, method and device
US10164778B2
( en )
2016-12-15
2018-12-25
Alibaba Group Holding Limited
Method and system for distributing attestation key and certificate in trusted computing
CN110461658A
( en )
2017-02-03
2019-11-15
æ³æ¯åæè¡ä»½æéå ¬å¸
Systems and methods for data storage in keyed devices
US10333708B1
( en )
*
2017-02-03
2019-06-25
Amazon Technologies, Inc.
Hybrid random-number generator
CN108667608B
( en )
2017-03-28
2021-07-27
é¿éå·´å·´é墿§è¡æéå ¬å¸
Data key protection method, device and system
CN108667773B
( en )
2017-03-30
2021-03-12
é¿éå·´å·´é墿§è¡æéå ¬å¸
Network protection system, method, device and server
CN108736981A
( en )
2017-04-19
2018-11-02
é¿éå·´å·´é墿§è¡æéå ¬å¸
It is a kind of wirelessly to throw screen method, apparatus and system
WO2019010421A1
( en )
2017-07-07
2019-01-10
Ligatti Jay
Systems and methods for generating symmetric cryptographic keys
EP4002754A1
( en )
*
2017-08-31
2022-05-25
Visa International Service Association
Single node multi-party encryption
WO2019078601A2
( en )
*
2017-10-17
2019-04-25
주ìíì¬ ë§ì¤í°ë¹ë
Pure random number generation apparatus, authentication method applied thereto, computer program, and recording medium
US10623183B2
( en )
2017-11-01
2020-04-14
International Business Machines Corporation
Postponing entropy depletion in key management systems with hardware security modules
EP3718040A4
( en )
*
2017-12-01
2021-08-11
Fasetto, Inc.
IMPROVED DATA ENCRYPTION SYSTEMS AND METHODS
US10630760B2
( en )
*
2018-03-28
2020-04-21
Ca, Inc.
Adaptive encryption in checkpoint recovery of file transfers
JP2021522568A
( en )
2018-04-17
2021-08-30
ãã¡ã»ããã»ã¤ã³ã³ã¼ãã¬ã¼ããã
Device for presentations with real-time feedback
US11017098B2
( en )
*
2018-06-28
2021-05-25
Seagate Technology Llc
Collection of uncorrelated entropy during a power down sequence
US11521705B2
( en )
*
2018-09-18
2022-12-06
International Business Machines Corporation
Random sequence generation for gene simulations
US10942909B2
( en )
*
2018-09-25
2021-03-09
Salesforce.Com, Inc.
Efficient production and consumption for data changes in a database under high concurrency
CN109450620B
( en )
2018-10-12
2020-11-10
åæ°å è¿ææ¯æéå ¬å¸
Method for sharing security application in mobile terminal and mobile terminal
CN111130750B
( en )
*
2018-10-30
2023-09-12
é¿å汽车è¡ä»½æéå ¬å¸
Vehicle CAN safety communication method and system
CN111178373B
( en )
*
2018-11-09
2021-07-09
ä¸ç§å¯æ¦çºªç§æè¡ä»½æéå ¬å¸
Operation method, device and related product
US11444751B2
( en )
*
2018-12-05
2022-09-13
Introspective Power, Inc.
System and method for sending and/or receiving entropy and entropy expansion
US11283598B2
( en )
*
2019-01-25
2022-03-22
Infineon Technologies Ag
Selective real-time cryptography in a vehicle communication network
WO2020186125A1
( en )
2019-03-13
2020-09-17
The Research Foundation For The State University Of New York
Ultra low power core for lightweight encryption
US11997200B2
( en )
2019-04-05
2024-05-28
Qrypt, Inc.
Generating unique cryptographic keys from a pool of random elements
CN110086619B
( en )
*
2019-04-29
2020-10-30
å京é®çµå¤§å¦
Method and device for generating key stream
CN110190959B
( en )
*
2019-06-28
2021-05-07
ä¸å大å¦
Encryption and Decryption Method Based on Continuous Variable Quantum Neural Network
US11949711B2
( en )
*
2019-07-08
2024-04-02
Caci International, Inc.
Systems and methods for securing information
US11429519B2
( en )
2019-12-23
2022-08-30
Alibaba Group Holding Limited
System and method for facilitating reduction of latency and mitigation of write amplification in a multi-tenancy storage drive
AU2020202883B1
( en )
*
2020-01-10
2021-01-07
Mesinja Pty Ltd
Systems and computer-implemented methods for generating pseudo random numbers
FI128939B
( en )
*
2020-01-31
2021-03-31
Sam Widlund
Method and device for the encryption of data
US12160509B2
( en )
2020-02-28
2024-12-03
7Tunnels Inc.
Cryptographic systems and methods for maintenance of pools of random numbers
CA3169870A1
( en )
*
2020-03-02
2021-09-10
Michael David Adams
Cryptographic systems and methods for development of pools of random numbers
US11336447B2
( en )
*
2020-04-22
2022-05-17
Gideon Samid
Split security solutions for video/audio using SpaceFlip class ciphers
CN111753317A
( en )
*
2020-05-27
2020-10-09
é¿æ²ç¿æ°¸ä¿¡æ¯ææ¯æéå ¬å¸
Method for realizing equal-length digital encryption
US11539519B2
( en )
*
2020-08-24
2022-12-27
Gideon Samid
Privacy solutions for cyber space
CN112184926B
( en )
*
2020-09-14
2022-11-04
å京éç¨çµå¨æéå ¬å¸
Method and device for preventing counter cheating based on dynamic change encryption data packet
CN112202754B
( en )
*
2020-09-25
2022-11-15
ä¸å½å»ºè®¾é¶è¡è¡ä»½æéå ¬å¸
Data encryption method and device, electronic equipment and storage medium
US11792007B2
( en )
*
2021-03-17
2023-10-17
Ford Global Technologies, Llc
System and method for a vehicle network
CN113807537B
( en )
*
2021-04-06
2023-12-05
京ä¸ç§ææ§è¡è¡ä»½æéå ¬å¸
Data processing method and device for multi-source data, electronic equipment and storage medium
US12407502B2
( en )
*
2021-04-15
2025-09-02
Real Random IP, LLC
System and method for secure end-to-end electronic communication using a mutating table of entropy
US12574347B2
( en )
*
2021-05-20
2026-03-10
Ford Global Technologies, Llc
Vehicle network address assignment
CN113541955B
( en )
*
2021-06-03
2024-07-02
å½çµåçç§æè¡ä»½æéå ¬å¸
Encryption method and device for 2M communication of security control system
CN113642703A
( en )
*
2021-07-30
2021-11-12
太åç工大å¦
A security assessment method of entropy source based on deep learning
CN113473468B
( en )
*
2021-09-02
2021-11-23
ä¸å½çµåç§å¦ç ç©¶é¢æéå ¬å¸
Broadband cognitive wireless communication method and system
GB2611321A
( en )
*
2021-09-29
2023-04-05
Quantum Blockchain Tech Plc
Message scheduling for cryptographic hashing
EP4231583A1
( en )
*
2022-02-16
2023-08-23
Gurulogic Microsystems Oy
Methods and arrangements for establishing digital identity
CN114710264A
( en )
*
2022-03-29
2022-07-05
å®å®
Physical layer encryption and decryption method and system based on Spinal code
CN117131127B
( en )
*
2022-05-19
2025-08-05
æ ¸å¨åè¿è¡ç ç©¶æ
A distributed experience feedback system data offline synchronization system and method
WO2024228716A2
( en )
2022-07-11
2024-11-07
Qwerx Inc.
Systems and methods for direct random number generation from quantum random events
US12405781B2
( en )
2022-08-25
2025-09-02
National Technology & Engineering Solutions Of Sandia, Llc
Systems and methods for automatically updating system firmware
US12238202B2
( en )
*
2023-01-10
2025-02-25
Qwerx Inc.
Systems and methods for continuous generation and management of ephemeral cryptographic keys
CN116107541A
( en )
*
2023-02-13
2023-05-12
山䏿¹å¯¸å¾®çµåç§ææéå ¬å¸
A Post-processing Method of True Random Number Generator Based on Encryption Algorithm
CN120017421B
( en )
*
2025-04-16
2025-07-04
æ²é³èªçç§ææéè´£ä»»å ¬å¸
Data encryption method based on TSN bus transmission of avionics system
CN120416841B
( en )
*
2025-07-02
2025-09-23
ä¸å½ç§å¦ææ¯å¤§å¦
Lightweight Internet of vehicles communication method based on dynamic pseudorandom encryption
CN120822954B
( en )
*
2025-09-18
2025-11-28
é³å å¦é¢
A mobile payment encryption system based on a data randomization algorithm
CN121150939B
( en )
*
2025-09-22
2026-03-27
ä¸èå¾·å ç§æ(å京)æéå ¬å¸
Unmanned aerial vehicle sensitization data transmission method and system based on Beidou space-time encryption
Citations (6)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US20020172359A1
( en )
*
2001-05-17
2002-11-21
Markku-Juhani Saarinen
Method and apparatus for improved pseudo-random number generation
US20040064491A1
( en )
*
2002-09-30
2004-04-01
Rarick Leonard D.
Continuous random number generation method and apparatus
US20070230694A1
( en )
*
2005-08-24
2007-10-04
Rose Gregory G
Cryptographically secure pseudo-random number generator
US20080263117A1
( en )
*
2007-04-23
2008-10-23
Gregory Gordon Rose
Initial seed management for pseudorandom number generator
US20090225985A1
( en )
*
2006-09-11
2009-09-10
Shlomi Dolev
Method, apparatus and product for rfid authentication
US20130318139A1
( en )
*
2012-05-22
2013-11-28
Electronics And Telecommunications Research Institute
Random number generation method and apparatus using low-power microprocessor
2016
2016-07-29
US
US15/224,492
patent/US10348704B2/en
active
Active
Patent Citations (6)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US20020172359A1
( en )
*
2001-05-17
2002-11-21
Markku-Juhani Saarinen
Method and apparatus for improved pseudo-random number generation
US20040064491A1
( en )
*
2002-09-30
2004-04-01
Rarick Leonard D.
Continuous random number generation method and apparatus
US20070230694A1
( en )
*
2005-08-24
2007-10-04
Rose Gregory G
Cryptographically secure pseudo-random number generator
US20090225985A1
( en )
*
2006-09-11
2009-09-10
Shlomi Dolev
Method, apparatus and product for rfid authentication
US20080263117A1
( en )
*
2007-04-23
2008-10-23
Gregory Gordon Rose
Initial seed management for pseudorandom number generator
US20130318139A1
( en )
*
2012-05-22
2013-11-28
Electronics And Telecommunications Research Institute
Random number generation method and apparatus using low-power microprocessor
Cited By (14)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US11201729B2
( en )
*
2016-08-12
2021-12-14
7Tunnels Inc.
Devices and methods for enabling portable secure communication using random cipher pad cryptography by enabling communications to be passed to the device from a host, encrypted and/or decrypted, and passed back to the host
US10855458B2
( en )
*
2017-04-17
2020-12-01
Zhineng Xu
Sequence encryption method accompanying adjustable random reconfiguration of key
US11184154B2
( en )
*
2018-05-11
2021-11-23
Zhuhai College Of Jilin University
Method for sequentially encrypting and decrypting doubly linked lists based on double key stream ciphers
US20220150051A1
( en )
*
2019-02-28
2022-05-12
Qrypt, Inc.
Multi-source entropy randomness aggregation and distribution network
US12045583B2
( en )
*
2019-02-28
2024-07-23
Qrypt, Inc.
Multi-source entropy randomness aggregation and distribution network
US11385691B2
( en )
2020-01-30
2022-07-12
Honeywell International Inc.
Method for node message synchronization
US11368325B2
( en )
2020-02-11
2022-06-21
Honeywell International Inc.
System for communication on a network
US11792034B2
( en )
2020-02-11
2023-10-17
Honeywell International Inc.
System for communication on a network
US11762742B2
( en )
2020-03-31
2023-09-19
Honeywell International Inc.
Process control system with different hardware architecture controller backup
US11989084B2
( en )
2020-09-23
2024-05-21
Honeywell International Inc.
Self-healing process control system
US11874938B2
( en )
2020-11-03
2024-01-16
Honeywell International Inc.
Admittance mechanism
US11582030B2
( en )
2021-02-25
2023-02-14
Oracle International Corporation
Secure distribution of entropy
US12088705B2
( en )
2021-02-25
2024-09-10
Oracle International Corporation
Secure distribution of entropy
US12294645B2
( en )
2021-10-04
2025-05-06
QDS Holdings Inc.
Systems and methods for securing a quantum-safe digital network environment
Also Published As
Publication number
Publication date
US20170034167A1
( en )
2017-02-02
Similar Documents
Publication
Publication Date
Title
US20170034167A1
( en )
2017-02-02
Method for a Dynamic Perpetual Encryption Cryptosystem
US11233628B2
( en )
2022-01-25
Equivocation augmentation dynamic secrecy system
JP7353375B2
( en )
2023-09-29
End-to-end double ratchet encryption with epoch key exchange
US7177424B1
( en )
2007-02-13
Cryptographic apparatus and method
US9246674B2
( en )
2016-01-26
Generation of cryptographic keys
Mohandas et al.
2020
A4: A lightweight stream cipher
US7277543B1
( en )
2007-10-02
Cryptographic combiner using two sequential non-associative operations
EP1456997B1
( en )
2008-03-05
System and method for symmetrical cryptography
RU2277759C2
( en )
2006-06-10
Method for generation of encoding-decoding key
Purevjav et al.
2016
Email encryption using hybrid cryptosystem based on Android
Velasco et al.
2023
Secure Optical Communications Based on Fast Cryptography
Velasco Esteban et al.
2023
Secure optical communications based on fast cryptography
Zhang et al.
2008
An RC4-based lightweight security protocol for resource-constrained communications
Sun et al.
2006
A LCG-based secure protocol for wireless sensor networks
Sagheer et al.
2018
Developing RC4 Algorithm Using S-Box of Advanced Encryption Standard Cipher
Ambili
2025
Secure Updatable Storage of Data
Farhan
2011
Proposed hybrid approach of stream cipher base on selector of encryption operation and key symmetric translate
Wang et al.
2017
Securely reinforcing synchronization for embedded online contests
Huang et al.
2010
Constructing a Secure Point-to-Point Wireless Environments by Integrating Diffie-Hellman PKDS and Stream Ciphering
Peng
2012
How to communicate anonymously in a network: study and optimisation of efficiency and security of anonymous communication networks
RU2291579C1
( en )
2007-01-10
Method for confirming authenticity of discontinuous message
Barlow
2005
Symmetric encryption with multiple keys: techniques and applications
Carter et al.
2007
Symmetric Cryptosystems and Symmetric Key Management
Zhang et al