# US 11,029,858 B1 · Systems and method for enhancing computer security and redundancy

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

- Number: US 11,029,858 B1
- Document ID: US11029858B1
- Status: Granted
- Kind: B1
- Application number: 16/839,672
- Filed: 2020-04-03
- Granted: 2021-06-08
- Earliest claimed: 2020-04-03
- Assignees: Kara Partners LLC
- Applicants: Kara Partners LLC
- Inventors: Brian Penny; Giovanni Viscardi
- Web page: https://patentgrep.com/patent/US11029858B1

## CPC

- G06F 3/062: {Securing storage systems}
- H04L 9/0894: {Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage}
- G06F 3/0614: {Improving the reliability of storage systems}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F 21/606: {by securing the transmission between two devices or processes}
- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- G06F 21/64: Protecting data integrity, e.g. using checksums, certificates or signatures
- H04L 9/3247: {involving digital signatures}
- H04L 63/0435: {wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption (cryptographic mechanisms or cryptographic arrangements for symmetric key encryption H04L9/06)}
- H04L 63/061: {for key exchange, e.g. in peer-to-peer networks (cryptographic mechanisms or cryptographic arrangements for key agreement H04L9/0838)}
- H04L 63/0876: {based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint}
- H04L 2209/34: Encoding or coding, e.g. Huffman coding or error correction
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method of encoding data, including: obtaining a data stream comprising a first sequence of values; duplicating of the first sequence of values; offsetting the duplicate first sequence of values; braiding the first sequence of values and the offset duplicate first sequence of values, creating a braided data sequence; and outputting the braided data sequence.

## Claims

### Claim 1

A method of encoding data, comprising:
obtaining a data stream comprising a first sequence of values;
duplicating of the first sequence of values;
offsetting the duplicate first sequence of values;
braiding the first sequence of values together with the offset duplicate first sequence of values, creating a braided data sequence, the braided data sequence comprising the first sequence of values interwoven with the offset duplicate first sequence of values;
generating a decoding key for decoding the braided data sequence, the decoding key identifying which values in the braided data sequence correspond to the first sequence of values and which values in the braided data sequence correspond to the duplicated first sequence of values; and
outputting the braided data sequence.

### Claim 2 (depends on 1)

The method of claim 1, wherein duplicating the first sequence of values comprises generating a duplicate of the first sequence of values in volatile memory.

### Claim 3 (depends on 1)

The method of claim 1, wherein duplicating the first sequence of values comprises storing the first sequence of values in a time-delayed buffer.

### Claim 4 (depends on 1)

The method of claim 1, wherein offsetting the duplicate first sequence of values comprises feeding the duplicate first sequence of values through a delay circuit.

### Claim 5 (depends on 1)

The method of claim 1, where outputting the braided data sequence comprises transmitting the braided data sequence to a remote system.

### Claim 6 (depends on 1)

The method of claim 1 further comprising storing the braided data sequence in a persistent memory.

### Claim 7 (depends on 1)

The method of claim 1 further comprising encrypting the decoding key.

### Claim 8 (depends on 1)

The method of claim 1, wherein the braided data sequence provides redundancy by comprising the first sequence of values and the offset duplicate first sequence of values.

### Claim 9 (depends on 1)

The method of claim 1, wherein the braided data sequence provides data encryption by interweaving the first sequence of values with the offset duplicate first sequence of values.

### Claim 10 (depends on 1)

The method of claim 1, wherein the decoding key identifies which values in the braided data sequence correspond to the first sequence of values and which values in the braided data sequence correspond to the offset duplicate first sequence of values.

### Claim 11

A method of encoding data, comprising:
obtaining a data stream comprising a first sequence of values;
duplicating of the first sequence of values;
offsetting the duplicate first sequence of values;
generating a randomized sequence of values;
braiding the first sequence of values together with the offset duplicate first sequence of values and the randomized sequence of values, creating a braided data sequence, the braided data sequence comprising the first sequence of values interwoven with the offset duplicate first sequence of values and the randomized sequence of values; and
generating a decoding key for decoding the braided data sequence, the decoding key identifying which values in the braided data sequence correspond to the first sequence of values and which values in the braided data sequence correspond to the duplicated first sequence of values;
outputting the braided data sequence.

### Claim 12 (depends on 11)

The method of claim 11, wherein duplicating the first sequence of values comprises generating a duplicate of the first sequence of values in volatile memory.

### Claim 13 (depends on 11)

The method of claim 11, wherein duplicating the first sequence of values comprises storing the first sequence of values in a time-delayed buffer.

### Claim 14 (depends on 11)

The method of claim 11, wherein offsetting the duplicate first sequence of values comprises feeding the duplicate first sequence of values through a delay circuit.

### Claim 15 (depends on 11)

The method of claim 11, where outputting the braided data sequence comprises transmitting the braided data sequence to a remote system.

### Claim 16 (depends on 11)

The method of claim 11 further comprising:
encrypting the decoding key.

### Claim 17

A method of encoding data, comprising:
obtaining a first data stream comprising a first sequence of values;
obtaining a second data stream comprising a second sequence of values;
obtaining a third data stream comprising a third sequence of values;
duplicating of the first sequence of values;
offsetting the duplicate first sequence of values;
braiding the first sequence of values together with the second sequence of values, the third sequence of values, and the offset duplicate first sequence of values, creating a braided data sequence, the braided data sequence comprising the first sequence of values interwoven with the second sequence of values, the third sequence of values, and the offset duplicate first sequence of values;
outputting the braided data sequence; and
generating a decoding key for decoding the braided data sequence, the decoding key identifying which values in the braided data sequence correspond to the first sequence of values, which values in the braided data sequence correspond to the second sequence of values, and which values in the braided data sequence correspond to the third sequence of values.

### Claim 18 (depends on 17)

The method of claim 17, where outputting the braided data sequence comprises transmitting the braided data sequence to a remote system.

### Claim 19 (depends on 17)

The method of claim 17 further comprising
encrypting the decoding key.
