ConceptioArchiveGoogle Patents
Google Patentsopen access

Method for a dynamic perpetual encryption cryptosystem — Helder Silvestre Paiva Figueira (US10348704B2)

Helder Silvestre Paiva Figueira · Google Patents
Google Patents · Patents · License: Open Access
Open Source ↗
patent, google patents, intellectual property, US10348704B2, Helder Silvestre Paiva Figueira, en, 2019

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

Related documents

Record · ID 607034
Retrieved via Conceptio — every document is proof-bundled with source, license, and retrieval metadata.