# US 11,451,386 B2 · Method and system for many-to-many symmetric cryptography and a network employing the same

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

- Number: US 11,451,386 B2
- Document ID: US11451386B2
- Status: Granted
- Kind: B2
- Application number: 17/157,864
- Filed: 2021-01-25
- Published: 2021-09-02
- Granted: 2022-09-20
- Earliest claimed: 2017-02-27
- Assignees: Cord3 Innovation Inc.
- Applicants: Cord3 Innovation Inc.
- Inventors: Glen Arthur Henderson; Brent Eric Nordin; Daniel Marcel Joseph Seguin; Prateek Srivastava; Ian Hugh Curry
- Web page: https://patentgrep.com/patent/US11451386B2

## CPC

- H04L 9/0869: {involving random numbers or seeds}
- G06F 21/602: {Providing cryptographic facilities or services}
- 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/0861: {Generation of secret information including derivation or calculation of cryptographic keys or passwords}
- H04L 9/088: {Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms (network architectures or network communication protocols for using time-dependent keys in a packet data network H04L63/068)}
- H04L 9/0891: {Revocation or update of secret information, e.g. encryption key update or rekeying}
- H04L 9/14: using a plurality of keys or algorithms
- H04L 9/3213: {using tickets or tokens, e.g. Kerberos (network architectures or network communication protocols for entities authentication using tickets in a packet data network H04L63/0807)}
- 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/10: {for controlling access to devices or network resources}
- H04L 9/0618: {Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation}
- H04L 2209/04: Masking or blinding
- 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)
- G09C: CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY

## Abstract

Many-to-many cryptographic systems and methods are disclosed, and a network employing the same, including numerous industry applications. The embodiments of the present invention can generate and regenerate the same symmetric key from a random token. The many-to-many cryptographic systems and methods include two or more cryptographic modules being in communication with each other and may be located at different physical locations. The cryptographic modules are configured to encrypt and/or decrypt data received from other cryptographic modules and to provide encrypted and/or decrypted data to other cryptographic modules. Each cryptographic module includes a key generator configured to use two or more inputs to reproducibly generate the symmetric key and a cryptographic engine configured to use the symmetric key for encrypting and decrypting data. Corresponding methods, and network employing the same, are also provided.

## Claims

### Claim 1

A many-to-many cryptographic system, comprising:
a plurality of cryptographic modules in communication over a network, each cryptographic module comprising computer readable instructions stored in a memory device for execution by at least one microprocessor;
at one of the plurality of cryptographic modules, the computer readable instructions causing the at least one microprocessor to:
receive a document for encryption;
receive a token;
perform a walk through an entropy space, which is a large set of random bits, to fetch a string of bits, the walk through and the fetched string of bits depending on the token;
generate a secret key for encrypting the document based on the fetched string of bits, thereby generating an encrypted document; and
destroy the secret key upon encrypting the document;
transmit the encrypted document and the token to another one of the plurality of cryptographic modules over the communication network, for decryption;
at said another one of the plurality of cryptographic modules, the computer readable instructions causing the at least one microprocessor to:
receive the token;
perform the walk through the entropy space to fetch the string of bits; and
generate the secret key for decrypting the encrypted document based on the fetched string of bits;
thereby avoiding storing or communicating the secret key.

### Claim 2 (depends on 1)

The many-to-many cryptographic system of claim 1, further comprising a storage in communication with the communication network and being configured to store the encrypted document.

### Claim 3 (depends on 1)

The many-to-many cryptographic system of claim 1, wherein at least one of the token, the walk through and the entropy space is secret.

### Claim 4 (depends on 1)

The many-to-many cryptographic system of claim 1, wherein at least one of the token and the entropy space is publicly available.

### Claim 5 (depends on 1)

The many-to-many cryptographic system of claim 1, wherein the walk through is publicly available.

### Claim 6 (depends on 1)

The many-to-many cryptographic system of claim 1, wherein the computer readable instructions further cause the at least one microprocessor to further receive a bit mask, and apply the bit mask for generating the secret key.

### Claim 7 (depends on 6)

The many-to-many cryptographic system of claim 6, wherein the bit mask is secret.

### Claim 8 (depends on 1)

The many-to-many cryptographic system of claim 1, wherein the walk through comprises a pseudo random generator configured to generate a pointer for walking through the entropy space in a step having a bit length, the bit length depending on the token.

### Claim 9 (depends on 8)

The many-to-many cryptographic system of claim 8, wherein the bit length of the step comprises an offset value depending on the fetched string of bits.

### Claim 10 (depends on 9)

The many-to-many cryptographic system of claim 9, wherein the walk through is configured to add the offset value to the bit length when the fetched string of bits represents an even number, and subtract the offset value from the bit length when fetched string of bits represents an odd number.

### Claim 11

A method for many-to-many symmetric cryptography, comprising:
in a communication network comprising a plurality of cryptographic modules, each module storing computer readable instructions for execution by at least one microprocessor, the method comprising:
at a cryptographic module, receiving a document, comprising:
receiving a token;
performing a walk through an entropy space, which is a large set of random bits, to fetch a string of bits, the walk through and the fetched string of bits depending on the token;
generating a secret key for encrypting the document based on the fetched string of bits, thereby generating an encrypted document; and
destroying the secret key upon encrypting the document;
transmitting the encrypted document and the token to another cryptographic module over a communication network, for decryption, comprising:
at said another cryptographic module:
receiving the token;
performing the walk through the entropy space to fetch the string of bits; and
generating the secret key for decrypting the encrypted document based on the fetched string of bits;
thereby avoiding storing or communicating the secret key.

### Claim 12 (depends on 11)

The method of claim 11, further comprising making at least one of the token, the walk through and the entropy space secret.

### Claim 13 (depends on 11)

The method of claim 11, further comprising making at least one of the token and the entropy space publicly available.

### Claim 14 (depends on 11)

The method of claim 11, further comprising making the walk through publicly available.

### Claim 15

The method of 11, further comprising receiving a bit mask, and applying the bit mask for generating the secret key.

### Claim 16 (depends on 15)

The method of claim 15, further comprising keeping the bit mask secret.

### Claim 17 (depends on 11)

The method of claim 11, wherein the performing further comprises generating a pointer for walking through the entropy space in a step having a bit length, the bit length depending on the token.

### Claim 18 (depends on 17)

The method of claim 17, further comprising introducing an offset value for the bit length of the step, the offset value depending on the fetched string of bits.

### Claim 19 (depends on 18)

The method of claim 18, further comprising:
adding the offset value to the bit length when the fetched string of bits represents an even number; and
subtracting the offset value from the bit length when fetched string of bits represents an odd number.

### Claim 20

A communication network, comprising:
a plurality of cryptographic modules in communication over the communication network, each cryptographic module comprising computer readable instructions stored in a memory device for execution by a processor;
at one of the plurality of cryptographic modules, the computer readable instructions causing the processor to:
receive a document for encryption:
receive a token;
perform a walk through an entropy space, which is a large set of random bits, to fetch a string of bits, the walk through and the fetched string of bits depending on the token;
generate a secret key for encrypting the document based on the fetched string of bits,
thereby generating an encrypted document; and
destroy the secret key upon encrypting the document;
transmit the encrypted document and the token to another one of the plurality of cryptographic modules over the communication network, for decryption;
at said another one of the plurality of cryptographic modules, the computer readable instructions causing the processor to:
receive the token;
perform the walk through the entropy space to fetch the string of bits; and
generate the secret key for decrypting the encrypted document based on the fetched string of bits;
thereby avoiding storing or communicating the secret key.
