# US 11,444,751 B2 · System and method for sending and/or receiving entropy and entropy expansion

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

- Number: US 11,444,751 B2
- Document ID: US11444751B2
- Status: Granted
- Kind: B2
- Application number: 16/704,672
- Filed: 2019-12-05
- Published: 2020-06-11
- Granted: 2022-09-13
- Earliest claimed: 2018-12-05
- Assignees: Introspective Power, Inc.
- Applicants: Introspective Power, Inc.
- Inventors: Anthony Scott Thompson; Steven Paul Cummings
- Web page: https://patentgrep.com/patent/US11444751B2

## CPC

- H04L 9/0656: {Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher}
- G06F 7/588: {Random number generators, i.e. based on natural stochastic processes}
- H04L 9/3226: {using a predetermined code, e.g. password, passphrase or PIN (network architectures or network communication protocols for supporting authentication of entities using passwords in a packet data network H04L63/083)}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A message is embedded within an entropy stream. The message is encrypted using a onetime pad (OTP) and thus looks like part of the entropy string since the OTP encrypted messages is, as long as the “pad” material and message content are known, itself random to the observer. The encrypted message contains information used to identify and/or point to relevant information in another part of the entropy stream. For example, the OTP-encrypted message may indicate the number of units of the message, and point to a position in another part of the stream where another message is located. The stream may be randomly and deterministically expanded. Other techniques encrypt a stream using standard encryption, the stream comprising messages that are deterministically OTP encrypted; expand said encryption using a byte vector/array of randomness including at least one random vector; periodically swap out at least one member from the vector; hide vector random bytes in messages and/or using the messages to direct which bytes to remove from the stream of randomness/entropy; and store a stash of randomness separately from the messages and/or pull off the random/entropy stream as directed by the messages. By using true random and determinism, we create a method of generate a known pool of randomness that, if intercepted, cannot be discovered through mathematical analysis.

## Claims

### Claim 1

A method comprising at least one hardware processor performing operations comprising:
encrypting data streams using One Time Pad (OTP) encryption, wherein the streams comprise (a) a stream of random or pseudorandom data, and (b) messages that are deterministically encrypted using a random or pseudorandom result of a random data expansion process that is utilized for One Time Pad (OTP) encryption;
expanding said random or pseudorandom data using a byte vector/array of randomness including at least one random vector derived and removed from the stream of random or pseudorandom data, thereby creating a random or pseudorandom expansion vector where all duplicate values are removed and each byte in the stream of random or pseudorandom data is XORed against the random or pseudorandom expansion vector one at a time; and
swapping out the at least one-random vector for a different random vector(s) for use in expanding the stream of random or pseudorandom data when one or more duplicate byte of data are detected in the random or pseudorandom data stream.

### Claim 2 (depends on 1)

The method of claim 1 wherein the data expansion process is called recursively to further expand the stream of random or pseudo random data.

### Claim 3 (depends on 1)

The method of claim 1 further including developing a separate cache of randomness from the expanded stream of random or pseudorandom data data as directed by the messages.

### Claim 4 (depends on 1)

The method of claim 1 further including starting plural different random vectors at different points per expansion as directed by the messages.

### Claim 5 (depends on 1)

The method of claim 1 further including scrambling the random vectors as directed by the messages per pass.

### Claim 6 (depends on 1)

The method of claim 1 further comprising using only one random vector at a time.

### Claim 7 (depends on 1)

The method of claim 1 comprising using two random vectors to improve obfuscation.

### Claim 8 (depends on 1)

The method of claim 1 further comprising using N random vectors to expand said stream of random or pseudorandom data.

### Claim 9

A system comprising:
a random or pseudorandom data stream generator that generates a random or pseudorandom data stream;
an encryptor configured to encrypt data streams using One Time Pad (OTP) encryption, wherein the streams comprise (a) the stream of random or pseudorandom data stream, and (b) messages that are deterministically encrypted using a random or pseudorandom result of a random data expansion process that is utilized for the One Time Pad (OTP) encryption; and
at least one hardware processor configured to perform operations comprising:
expanding said random or pseudorandom data stream using a byte vector/array of randomness including at least one random vector derived and removed from the random or pseudorandom data stream thereby creating a random or pseudorandom expansion vector where all duplicate values are removed and each byte in the random or pseudorandom data stream is XORed against the random or pseudorandom expansion vector one at a time; and
swapping out the at least one random vector for a different random vector(s) for use in expanding the random or pseudorandom data stream when one or more duplicate bytes of data are detected in the random or pseudorandom data stream.

### Claim 10 (depends on 9)

The system of claim 9 wherein the at least one hardware processor is further configured to call the random data expansion process recursively to further expand the random or pseudorandom data stream.

### Claim 11 (depends on 9)

The system of claim 9 wherein the hardware processor is further configured to develop a separate cache of randomness from the expanded random or pseudorandom data stream as directed by the messages.

### Claim 12 (depends on 9)

The system of claim 9 wherein the hardware processor is further configured to start plural different random vectors at different points per expansion as directed by the messages.

### Claim 13 (depends on 9)

The system of claim 9 wherein the hardware processor is further configured to scramble the random vectors as directed by the messages per pass.

### Claim 14 (depends on 9)

The system of claim 9 wherein the hardware processor is further configured to use only one random vector.

### Claim 15 (depends on 9)

The system of claim 9 wherein the hardware processor is further configured to use two random vectors to improve obfuscation.

### Claim 16 (depends on 9)

The system of claim 9 wherein the hardware processor is further configured to use N random vectors to expand said random or pseudorandom data stream.
