# US 12,113,891 B2 · Encrypting and decrypting information

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

- Number: US 12,113,891 B2
- Document ID: US12113891B2
- Status: Granted
- Kind: B2
- Application number: 18/161,414
- Filed: 2023-01-30
- Published: 2023-06-01
- Granted: 2024-10-08
- Earliest claimed: 2019-03-18
- Assignees: Inait SA
- Applicants: Inait SA
- Inventors: Kathryn Hess Bellwald; Henry Markram
- Web page: https://patentgrep.com/patent/US12113891B2

## CPC

- G09C 1/00: Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system (cryptographic typewriters G09C3/00)
- H04L 9/0618: {Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation}
- G06N 3/044: Recurrent networks, e.g. Hopfield networks
- G06N 3/08: Learning methods
- G06N 3/082: modifying the architecture, e.g. adding, deleting or silencing nodes or connections
- H04L 9/00: {Cryptographic mechanisms or cryptographic} arrangements for secret or secure communications; Network security protocols
- 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 2209/12: Details relating to cryptographic hardware or logic circuitry
- G09C: CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

Methods, systems, and devices for encrypting and decrypting data. In one implementation, an encryption method includes inputting plaintext into a recurrent artificial neural network, identifying topological structures in patterns of activity in the recurrent artificial neural network, wherein the patterns of activity are responsive to the input of the plaintext, representing the identified topological structures in a binary sequence of length L and implementing a permutation of the set of all binary codewords of length L. The implemented permutation is a function from the set of binary codewords of length L to itself that is injective and surjective.

## Claims

### Claim 1

An encryption method implemented in hardware, in software, or in a combination thereof, the method comprising:
encrypting plaintext using a key to generate ciphertext of the plaintext, wherein the key comprises topological structures in patterns of activity in a recurrent artificial neural network, wherein the patterns of activity are responsive to an input;
representing the topological structures in a binary sequence of length L; and
implementing a permutation of a set of all binary codewords of length L to obtain ciphertext of the key, wherein the implemented permutation is a function from the set of binary codewords of length L to itself that is injective and surjective.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
inputting the input into the recurrent artificial neural network; and
tailoring a response of the recurrent artificial neural network to the input by changing one or more properties of a node or a link within the recurrent artificial neural network.

### Claim 3 (depends on 1)

The method of claim 1, wherein:
the method further comprises receiving data characterizing tailoring a characteristic of inputting the input into the recurrent artificial neural network; and
tailoring the inputting of the input into the recurrent artificial neural network in accordance with the data.

### Claim 4 (depends on 3)

The method claim 3, wherein the data characterizes either:
synapses and nodes into which bits of the input are to be injected, or
an order in which bits of the input are to be injected.

### Claim 5 (depends on 1)

The method of claim 1, wherein implementing the permutation comprises inputting the binary sequence and one or more codewords along a same cycle into a recurrent artificial neural network.

### Claim 6 (depends on 1)

The method of claim 1, wherein the topological structures in the patterns of activity comprise simplex patterns of activity in the network.

### Claim 7 (depends on 6)

The method of claim 6, wherein the simplex patterns enclose cavities or are directed simplices.

### Claim 8 (depends on 1)

The method of claim 1, wherein the topological structures in the patterns of activity comprise: topological structures that are based on a timing of the activity that has a complexity that is distinguishable from other activity that is responsive to the input.

### Claim 9 (depends on 1)

The method of claim 1, wherein the key and the plaintext are encrypted by different encryption processes.

### Claim 10

A decryption method implemented in hardware, in software, or in a combination thereof, the method comprising:
receiving ciphertext of a key, wherein the ciphertext of the key comprises a binary sequence of length L that represents topological structures in patterns of activity in a recurrent artificial neural network, wherein the patterns of activity are responsive to an input into the recurrent artificial neural network;
repeatedly implementing a permutation of a set of all binary codewords of length L, wherein the implemented permutation is a function from the set of binary codewords of length L to itself that is injective and surjective, and implementing the permutation generates a plurality of codewords along a cycle;
comparing each of the plurality of codewords to the ciphertext to identify a matching of the plurality of codewords;
designating a codeword preceding the matching of the plurality of codewords along the cycle as the key corresponding to the ciphertext of the key; and
decrypting ciphertext of plaintext using the key to reconstitute the plaintext.

### Claim 11 (depends on 10)

The method of claim 10, wherein digits of the binary sequence represent simplex patterns of activity in the recurrent artificial neural network.

### Claim 12 (depends on 11)

The method of claim 11, wherein the simplex patterns enclose cavities.

### Claim 13 (depends on 10)

The method of claim 10, wherein implementing the permutation comprises:
inputting the ciphertext of the key and the codewords along the cycle into a recurrent artificial neural network;
identifying topological structures in patterns of activity in the recurrent artificial neural network, wherein the patterns of activity are responsive to the inputting; and
representing the identified topological structures.

### Claim 14 (depends on 13)

The method of claim 13, further comprising:
tailoring a response of the recurrent artificial neural network to the inputting prior to the inputting by changing one or more properties of a node or a link within the recurrent artificial neural network.

### Claim 15 (depends on 13)

The method of claim 13, wherein identifying the topological structures in the patterns of activity comprises:
determining a timing of activity having a complexity that is distinguishable from other activity that is responsive to the input, and
identifying the topological structures based on the timing of the activity that has the distinguishable complexity.

### Claim 16 (depends on 13)

The method of claim 13, wherein:
the method further comprises receiving data characterizing tailoring a characteristic of the inputting the ciphertext of the key and the codewords; and
tailoring the inputting of the ciphertext of the key and the codewords into the recurrent artificial neural network in accordance with the data.

### Claim 17 (depends on 16)

The method claim 16, wherein the data characterizes synapses and nodes into which bits of the input are to be injected.

### Claim 18 (depends on 16)

The method of claim 16, wherein the data characterizes an order in which bits of the input are to be injected.

### Claim 19

An encryption device comprising one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform encryption operations, the encryption operations comprising:
encrypting plaintext using a key to generate ciphertext of the plaintext, wherein the key comprises topological structures in patterns of activity in a recurrent artificial neural network, wherein the patterns of activity are responsive to an input;
representing the topological structures in a binary sequence of length L; and
implementing a permutation of a set of all binary codewords of length L to obtain ciphertext of the key, wherein the implemented permutation is a function from the set of binary codewords of length L to itself that is injective and surjective.

### Claim 20

A decryption device comprising one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers configured to perform decryption operations, the decryption operations comprising:
receiving ciphertext of a key, wherein the ciphertext of the key comprises a binary sequence of length L that represents topological structures in patterns of activity in a recurrent artificial neural network, wherein the patterns of activity are responsive to an input into the recurrent artificial neural network;
repeatedly implementing a permutation of a set of all binary codewords of length L, wherein the implemented permutation is a function from the set of binary codewords of length L to itself that is injective and surjective, and implementing the permutation generates a plurality of codewords along a cycle;
comparing each of the plurality of codewords to the ciphertext to identify a matching of the plurality of codewords;
designating a codeword preceding the matching of the plurality of codewords along the cycle as the key corresponding to the ciphertext of the key; and
decrypting ciphertext of plaintext using the key to reconstitute the plaintext.
