CPC H04L 9/321 (2013.01) [H04L 9/0822 (2013.01); H04L 9/083 (2013.01); H04L 9/0861 (2013.01); H04L 9/0891 (2013.01); H04L 9/0894 (2013.01); H04L 63/168 (2013.01)] | 19 Claims |
1. A method for communicating between a first client and a second client in an encrypted manner using unbreakable encryption comprising:
employing an underdetermined system of equations when performing encryption of data communicated between the first and second clients, and maintaining the underdetermined system of equations throughout said encryption, wherein said encryption includes:
for a first block of plaintext having a predetermined length, said first client:
a) performing a modular addition of a first open return and a first key to generate a first return, said first open return being a pseudorandom number having said predetermined length;
b) performing a combine function using a second key and the first return to generate a first alphabet;
c) performing an extract function using the second key and the first alphabet resulting in a first message key;
d) performing a modular addition of the first message key with the first block of plaintext to obtain a first block of cipher text; and
for a second block of plaintext having a length less than or equal to said predetermined length, said first client:
e) performing a modular addition of the first return and a first message key to generate a next return;
f) performing a combine function using the second key and the next return to generate a next alphabet;
g) performing an extract function using the second key and the next alphabet resulting in a next message key;
h) performing a modular addition of the next message key with the second block of plaintext to obtain a second block of cipher text; and
i) for any subsequent blocks of plaintext each having a length less than or equal to said predetermined length, repeating steps e) through h), each time using a previously calculated next return generated during an immediately prior generation of a block of cipher text to replace the first return in step e) to generate the next return in step e) used in a next generation of a subsequent block of cipher text until there are no more blocks of plaintext to be encrypted, thereby creating any subsequent blocks of cipher text from said any subsequent blocks of plaintext; and
sending by the first client a first encrypted message to the second client, which said first encrypted message includes a first client identification, the first open return, the first block of cipher text, the second block of cipher text, and said any subsequent blocks of cipher text created by said first client in step i).
|