Data encryption is known that uses streaming ciphers, block ciphers or one time Pads. Streaming and block ciphers are widely used even though they are not mathematically provable to be 100% secure. These can use symmetric or asymmetric (or public key) cryptography. The keys are typically of a fixed size and may be static. A calculation is done one each side to encrypt or decrypt the data. In a typical symmetric key approach, a shared secret on each side of the transmission channel is used. For example, the same shared secret key is used to encrypt a message before transmission and decrypt the received encrypted message. In a public key scenario, a sender uses the public key of a public-key and private-key pair to encrypt a message. The receiver uses the corresponding private key to decrypt the message. In the symmetric key approach, security is provided by the secrecy of the shared key and the difficulty of decrypting the message without it. Security is provided in the asymmetric key approach because it is generally computationally infeasible to derive the private key from the public key.
One-time Pads (“OTP's”) were invented early on in the 20th century and are the only provably secure cryptosystem. In a manual one time Pad scenario, the sender has a pad of paper on which is written randomly chosen key letters. The key is the same size as the message. In one implementation, the sender adds one key letter to each plaintext letter to produce cipher text, and never repeat the key letters. For example, assume the message is “YES” and the Pad letters are “CMG”. You add Y (25) to C (3) to get B (26+3=2 modulo 26), or E (5) to M (13) to get R (18). The sender then destroys the paper. The receiver reverses the process using his pad of paper (the encryption is thus symmetric), and then burns the key letters when he is done.
Because the key is the same size as the plaintext, every possible plaintext is equally likely and it is impossible for an attacker to tell when the correct decryption has been derived. See e.g., Schneier, Secrets and Lies: Digital Security In a Networked World (Wiley Publishing, 2000).
Some streaming ciphers attempt to approximate a pseudo One Time Pad (OTP) operation. In such scenarios, the transmitter and receiver independently but synchronously generate the same key. Because the keys are calculated and not truly random, they can sometimes be cracked (the key is insecure because it is calculated) but may provide adequate security depending on the context and cryptographic algorithms used. Streaming cipher calculations can sometimes take considerably more time than a single add or exclusive OR operation as is used in certain one time Pad implementations, but this calculation time can have different impacts depending on context.
Even in systems that are still secure now, history has shown exploits will be found over time. Accordingly further improvements are desirable.
Applicant has previously made improvements to such technology. See e.g., commonly-assigned U.S. Pat. No. 8,995,652, US20150043730, and WO2015021477A1, which describe apparatus and methods for generating one-time-Pads and using one-time-Pads to protect and encrypt information. These prior patent applications and patents are expressly incorporated herein by reference as if expressly set forth.