# US 12,192,356 B2 · Method and apparatus for authentication and encryption service employing unbreakable encryption

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,192,356 B2
- Document ID: US12192356B2
- Status: Granted
- Kind: B2
- Application number: 17/165,082
- Filed: 2021-02-02
- Published: 2021-07-29
- Granted: 2025-01-07
- Earliest claimed: 2018-07-13
- Assignees: Qwyit LLC
- Applicants: Qwyit LLC
- Inventors: R Paul McGough
- Web page: https://patentgrep.com/patent/US12192356B2

## CPC

- H04L 9/321: {involving a third party or a trusted authority}
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 9/065: {Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3}
- H04L 9/0822: {using key encryption key}
- H04L 9/083: {involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]}
- H04L 9/0838: {Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these (network architectures or network communication protocols for key exchange in a packet data network H04L63/061)}
- H04L 9/0861: {Generation of secret information including derivation or calculation of cryptographic keys or passwords}
- H04L 9/0869: {involving random numbers or seeds}
- H04L 9/0891: {Revocation or update of secret information, e.g. encryption key update or rekeying}
- H04L 9/0894: {Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage}
- H04L 9/3215: {using a plurality of channels (network architectures or network communication protocols using different networks H04L63/18)}
- H04L 9/3234: {involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token (network architectures or network communication protocols for supporting authentication of entities using an additional device in a packet data network H04L63/0853)}
- H04L 61/4535: using an address exchange platform which sets up a session between two nodes, e.g. rendezvous servers, session initiation protocols [SIP] registrars or H.323 gatekeepers
- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- H04L 63/062: {for key distribution, e.g. centrally by trusted party (cryptographic mechanisms or cryptographic arrangements for key distribution involving a central third party H04L9/0819)}
- H04L 63/168: {above the transport layer}
- H04W 4/14: Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

Qwyit® Authentication and Encryption Service serves as a direct replacement of Transport Layer Security. Applications can place a small code segment within their communications protocol, resulting in authenticated and encrypted message traffic with the features of TLS while adding additional improvements as set forth herein. QAES provides a direct next generation replication and enhancement of the current, only global secure communications framework. QAES provides the same features, benefits, authentication (embedded) and data security (stream cipher) for communications traffic using the Qwyit® Directory Service key store. The combination of features and properties provide a simple, straightforward way for any application to incorporate secure communications. The unique, superior Qwyit® protocol delivers where TLS fails: embedded security without any need for additional bandwidth, processing power or cumbersome user requirements. QAES shows Qwyit® can provide secure communications within the network tolerances for insecure communications. QAES easily allows any client/server or cloud-based application to add TLS-like authentication and encryption. The present invention includes a Qwyit® Directory Server application that can be run on, or added to, any current communications server (web, file, comms, app, DB, etc.), as well as client code for easy insertion into the communications protocol/processing of a connected device/app.

## Claims

### Claim 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).

### Claim 2 (depends on 1)

The method according to claim 1, further comprising:
receiving by the second client said first encrypted message and the second client:
j) performing a modular addition of the first open return and the first key to generate the first return;
k) performing a combine function using the second key and the first return to generate the first alphabet;
l) performing an extract function using the second key and the first alphabet resulting in the first message key;
m) performing a modular addition of the first message key with the first block of ciphertext to obtain the first block of plaintext; and
for the second block of ciphertext, said second client:
n) performing a modular addition of the first return and the first message key to generate the next return;
o) performing a combine function using the second key and the next return to generate the next alphabet;
p) performing an extract function using the second key and the next alphabet resulting in the next message key;
q) performing a modular addition of the next message key with the second block of ciphertext to obtain the second block of plaintext; and
r) for any subsequent blocks of ciphertext, repeating steps n) through q), each time using a previously calculated next return generated during an immediately prior generation of a block of plaintext to replace the first return in step n) to generate the next return in step n) used in a next generation of a subsequent block of plaintext until there are no more blocks of ciphertext to be decrypted, thereby creating any subsequent blocks of plaintext from said any subsequent blocks of ciphertext.

### Claim 3 (depends on 1)

The method according to claim 1, wherein the predetermined length equals 256 bits.

### Claim 4 (depends on 1)

The method according to claim 1, wherein the predetermined length equals an integer multiplied by eight.

### Claim 5

A method for performing an unbreakable stream cipher for use in communicating between a first client and a second client 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;
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).

### Claim 6 (depends on 5)

The method according to claim 5, further comprising:
receiving by the second client said first encrypted message and the second client:
j) performing a modular addition of the first open return and the first key to generate the first return;
k) performing a combine function using the second key and the first return to generate the first alphabet;
l) performing an extract function using the second key and the first alphabet resulting in the first message key;
m) performing a modular addition of the first message key with the first block of ciphertext to obtain the first block of plaintext; and
for the second block of ciphertext, said second client:
n) performing a modular addition of the first return and the first message key to generate the next return;
o) performing a combine function using the second key and the next return to generate the next alphabet;
p) performing an extract function using the second key and the next alphabet resulting in the next message key;
q) performing a modular addition of the next message key with the second block of ciphertext to obtain the second block of plaintext; and
r) for any subsequent blocks of ciphertext, repeating steps n) through q), each time using a previously calculated next return generated during an immediately prior generation of a block of plaintext to replace the first return in step n) to generate the next return in step n) used in a
next generation of a subsequent block of plaintext until there are no more blocks of ciphertext to be decrypted, thereby creating any subsequent blocks of plaintext from said any subsequent blocks of ciphertext.

### Claim 7 (depends on 5)

The method according to claim 5, wherein the predetermined length equals 256 bits.

### Claim 8 (depends on 5)

The method according to claim 5, wherein the predetermined length equals an integer multiplied by eight.

### Claim 9 (depends on 5)

The method according to claim 5, further comprising generating the first open return by the first client, which is a random number having said predetermined length.

### Claim 10

An apparatus for communicating in an encrypted manner using unbreakable encryption comprising:
a first processor employing an underdetermined system of equations when performing encryption of data, and maintaining the underdetermined system of equations throughout said encryption, said first processor performing said encryption by:
creating a first stream of cipher text by:
for a first block of plaintext having a predetermined length, said first processor:
a) performing a modular addition of a first open return and a first key to generate a first return;
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 processor:
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
a first transmitter coupled to said first processor, said first transmitter sending a first encrypted message, 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); and
a first receiver receiving said first encrypted message.

### Claim 11 (depends on 10)

The apparatus according to claim 10, further comprising:
a second processor coupled to the first receiver, said second processor:
j) performing a modular addition of the first open return and the first key to generate the first return;
k) performing a combine function using the second key and the first return to generate the first alphabet;
l) performing an extract function using the second key and the first alphabet resulting in the first message key;
m) performing a modular addition of the first message key with the first block of ciphertext to obtain the first block of plaintext; and
for the second block of ciphertext, said second processor:
n) performing a modular addition of the first return and the first message key to generate the next return;
o) performing a combine function using the second key and the next return to generate the next alphabet;
p) performing an extract function using the second key and the next alphabet resulting in the next message key;
q) performing a modular addition of the next message key with the second block of ciphertext to obtain the second block of plaintext; and
r) for any subsequent blocks of ciphertext, repeating steps n) through q), each time using a previously calculated next return generated during an immediately prior generation of a block
of plaintext to replace the first return in step n) to generate the next return in step n) used in a next generation of a subsequent block of plaintext until there are no more blocks of ciphertext to be decrypted, thereby creating any subsequent blocks of plaintext from said any subsequent blocks of ciphertext.

### Claim 12 (depends on 10)

The apparatus according to claim 10, wherein the predetermined length equals 256 bits.

### Claim 13 (depends on 10)

The apparatus according to claim 10, further comprising generating the first open return by the first processor, which is a random number having said predetermined length.

### Claim 14 (depends on 12)

The apparatus according to claim 12, wherein the first processor comprises a field programmable gate array, and the first processor can perform the steps a) through d) in a same time as a message propagates through the field programmable gate array.

### Claim 15 (depends on 14)

The apparatus according to claim 14, wherein the second processor comprises a field programmable gate array, and the second processor can perform the steps j) through m) in a same time as a message propagates through the field programmable gate array.

### Claim 16

An apparatus for performing an unbreakable stream cipher comprising:
a first server employing an underdetermined system of equations when performing encryption of data, and maintaining the underdetermined system of equations throughout said encryption;
said first server to create an unbreakable stream of ciphertext;
a second server to receive the unbreakable stream of ciphertext;
for a first block of plaintext having a predetermined length, said first server:
a) performing a modular addition of a first open return and a first key to generate a first return;
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 server:
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 server a first encrypted message to the second server, which said first encrypted message includes a first server 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 server in step i).

### Claim 17 (depends on 16)

The apparatus according to claim 16, further comprising:
receiving by the second server said first encrypted message, and said second server:
j) performing a modular addition of the first open return and the first key to generate the first return;
k) performing a combine function using the second key and the first return to generate the first alphabet;
l) performing an extract function using the second key and the first alphabet resulting in the first message key;
m) performing a modular addition of the first message key with the first block of ciphertext to obtain the first block of plaintext; and
for the second block of ciphertext, said second server:
n) performing a modular addition of the first return and the first message key to generate the next return;
o) performing a combine function using the second key and the next return to generate the next alphabet;
p) performing an extract function using the second key and the next alphabet resulting in the next message key;
q) performing a modular addition of the next message key with the second block of ciphertext to obtain the second block of plaintext; and
r) for any subsequent blocks of ciphertext, repeating steps n) through q), each time using a previously calculated next return generated during an immediately prior generation of a block of plaintext to replace the first return in step n) to generate the next return in step n) used in a next generation of a subsequent block of plaintext until there are no more blocks of ciphertext to be decrypted, thereby creating any subsequent blocks of plaintext from said any subsequent blocks of ciphertext.

### Claim 18 (depends on 16)

The apparatus according to claim 16, wherein the predetermined length equals 256 bits.

### Claim 19 (depends on 16)

The apparatus according to claim 16, wherein the predetermined length equals an integer multiplied by eight.
