# US 10,320,559 B2 · Network communication encoder using key pattern encryption

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

- Number: US 10,320,559 B2
- Document ID: US10320559B2
- Status: Granted
- Kind: B2
- Application number: 15/474,070
- Filed: 2017-03-30
- Published: 2018-10-04
- Granted: 2019-06-11
- Earliest claimed: 2017-03-30
- Assignees: Bank of America Corporation
- Applicants: Bank of America Corporation
- Inventors: Christopher L. Danielson
- Web page: https://patentgrep.com/patent/US10320559B2

## CPC

- H04L 9/0819: {Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) (network architectures or network communication protocols for key distribution in a packet data network H04L63/062)}
- H04L 9/001: {using chaotic signals}
- H04L 9/0894: {Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage}
- H04L 9/14: using a plurality of keys or algorithms
- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

An encoding device that includes an encoding engine implemented by a processor connected to a memory. The memory stores a key map that encodes a data signal with a noise signal. The encoding engine is configured to obtain a data signal and generate a noise signal. The encoding engine is further configured to determine a key map byte value at a key map byte location in the key map. The key map byte value indicates a data signal byte location in the data signal. The encoding engine is further configured to determine a data signal byte value at the data signal byte location in the data signal and overwrite a noise signal byte value with the data signal byte value at a noise signal byte location in the noise signal. The encoding engine is configured to transmit the encoded signal.

## Claims

### Claim 1

An encoding device comprising:
a network interface configured to transmit an encoded signal;
a memory operable to store a key map, wherein:
each byte of the key map is mapped to a byte of a noise signal; and
the value of each byte of the key map identifies a byte location of a data signal; and
an encoding engine implemented by a processor operably coupled to the network interface and the memory, and configured to:
obtain the data signal;
generate the noise signal, wherein the noise signal is at least as long as the data signal; and
generate the encoded signal, wherein generating the encoded signal comprises iteratively for each byte of the key map:
determining a key map byte value at a key map byte location in the key map;
identifying a data signal byte location in the data signal corresponding with the key map byte value;
determining a data signal byte value at the data signal byte location in the data signal;
identifying a noise signal byte location in the noise signal that corresponds with the key map byte location;
identifying a noise signal byte value at the noise signal byte location; and
overwriting the noise signal byte value with the data signal byte value, wherein
the noise signal byte value at the noise signal byte location is unchanged when the key map byte value is equal to zero.

### Claim 2 (depends on 1)

The device of claim 1, wherein each key map byte value has a unique value when the key map byte value is not zero.

### Claim 3 (depends on 1)

The device of claim 1, wherein the value of each byte of the key map identifies the byte location of the data signal using offset value.

### Claim 4 (depends on 1)

The device of claim 1, wherein the key map is the same length as the noise signal.

### Claim 5 (depends on 1)

The device of claim 1, wherein the encryption engine is configured to generate the key map, wherein generating the key map comprises:
generating a key map template, wherein every byte of the key map is set to zero; and
randomly assigning byte locations of the data signal to the key map template to generate the key map.

### Claim 6 (depends on 1)

The device of claim 1, wherein the data signal is an encrypted signal.

### Claim 7 (depends on 1)

The device of claim 1, wherein generating the noise signal comprise using a noise multiplier to increase the complexity of the noise signal.

### Claim 8

An encoding method comprising:
obtaining a data signal;
generating a noise signal, wherein the noise signal is at least as long as the data signal;
generating an encoded signal using a key map, wherein:
each byte of the key map is mapped to a byte of the noise signal; and
the value of each byte of the key map identifies a byte location of the data signal; and
generating the encoded signal comprises iteratively for each byte of the key map:
determining a key map byte value at a key map byte location in the key map;
identifying a data signal byte location in the data signal corresponding with the key map byte value;
determining a data signal byte value at the data signal byte location in the data signal;
identifying a noise byte location in the noise signal that corresponds with the key map byte location;
identifying a noise signal byte value at the noise signal byte location; and
overwriting the noise signal byte value with the data signal byte value, wherein
the noise signal byte value at the noise signal byte location is unchanged when the key map byte value is equal to zero; and
transmitting the encoded signal.

### Claim 9 (depends on 8)

The method of claim 8, wherein each key map byte value has a unique value when the key map byte value is not zero.

### Claim 10 (depends on 8)

The method of claim 8, wherein the value of each byte of the key map identifies the byte location of the data signal using offset value.

### Claim 11 (depends on 8)

The method of claim 8, wherein the key map is the same length as the noise signal.

### Claim 12 (depends on 8)

The method of claim 8, further comprising generating the key map, wherein generating the key map comprises:
generating a key map template, wherein every byte of the key map is set to zero; and
randomly assigning byte locations of the data signal to the key map template to generate the key map.

### Claim 13 (depends on 8)

The method of claim 8, wherein the data signal is an encrypted signal.

### Claim 14

A computer program product comprising executable instructions stored in a non-transitory computer readable medium such that when executed by a processor causes the processor to:
obtain a data signal;
generate a noise signal, wherein the noise signal is at least as long as the data signal;
generate an encoded signal using a key map, wherein:
each byte of the key map is mapped to a byte of the noise signal; and
the value of each byte of the key map identifies a byte location of the data signal; and
generating the encoded signal comprises iteratively for each byte of the key map:
determining a key map byte value at a key map byte location in the key map;
identifying a data signal byte location in the data signal corresponding with the key map byte value;
determining a data signal byte value at the data signal byte location in the data signal;
identifying a noise signal byte location in the noise signal that corresponds with the key map byte location;
identifying a noise signal byte value at the noise signal byte location; and
overwriting the noise signal byte value with the data signal byte value, wherein
the noise signal byte value at the noise signal byte location is unchanged when the key map byte value is equal to zero; and
transmit the encoded signal.

### Claim 15 (depends on 14)

The computer program product of claim 14, wherein each key map byte value has a unique value when the key map byte value is not zero.

### Claim 16 (depends on 14)

The computer program product of claim 14, wherein the value of each byte of the key map identifies the byte location of the data signal using offset value.

### Claim 17 (depends on 14)

The computer program product of claim 14, wherein the key map is the same length as the noise signal.

### Claim 18 (depends on 14)

The computer program product of claim 14, further comprising instructions causing the processor to generate the key map, wherein generating the key map comprises:
generating a key map template, wherein every byte of the key map is set to zero; and
randomly assigning byte locations of the data signal to the key map template to generate the key map.

### Claim 19 (depends on 14)

The computer program product of claim 14, wherein the data signal is an encrypted signal.

### Claim 20 (depends on 14)

The computer program product of claim 14, wherein generating the noise signal comprise using a noise multiplier to increase the complexity of the noise signal.
