# US 10,873,568 B2 · Secure analytics using homomorphic and injective format-preserving encryption and an encrypted analytics matrix

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

- Number: US 10,873,568 B2
- Document ID: US10873568B2
- Status: Granted
- Kind: B2
- Application number: 15/876,076
- Filed: 2018-01-19
- Published: 2018-07-26
- Granted: 2020-12-22
- Earliest claimed: 2017-01-20
- Assignees: Enveil, Inc.
- Applicants: Enveil, Inc.
- Inventors: Ellison Anne Williams
- Web page: https://patentgrep.com/patent/US10873568B2

## CPC

- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- G06F 16/90335: {Query processing}
- G06F 16/951: Indexing; Web crawling techniques
- G06F 16/953: Querying, e.g. by the use of web search engines
- G06F 21/6245: {Protecting personal data, e.g. for financial or medical purposes}
- G06F 21/6254: {by anonymising data, e.g. decorrelating personal data from the owner's identification}
- 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/008: {involving homomorphic encryption}
- H04L 9/0643: {Hash functions, e.g. MD5, SHA, HMAC or f9 MAC}
- 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 9/3242: {involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC}
- G06F 21/30: Authentication, i.e. establishing the identity or authorisation of security principals
- H04L 2209/12: Details relating to cryptographic hardware or logic circuitry
- 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

Systems and methods that provide secure analytics using homomorphic and injective format-preserving encryption and an encrypted analytics matrix are disclosed herein. An example method includes encoding an analytic parameter set using a homomorphic encryption scheme as a homomorphic analytic matrix; transmitting a processing set to a server system, the processing set including at least the homomorphic analytic matrix and a keyed hashing function; and receiving a homomorphic encrypted result from the server system, the server system having utilized the homomorphic encryption scheme, the keyed hashing function, and a format preserving encryption scheme to evaluate the homomorphic analytic matrix over a datasource.

## Claims

### Claim 1

A method, comprising:
encoding an analytic parameter set using a homomorphic encryption scheme as a homomorphic analytic matrix;
transmitting a processing set to a server system, the processing set comprising at least the homomorphic analytic matrix and a keyed hashing function; and
receiving a homomorphic encrypted result from the server system, the server system having utilized the homomorphic encryption scheme, the keyed hashing function, and a format preserving encryption scheme to evaluate the homomorphic analytic matrix over a datasource.

### Claim 2 (depends on 1)

The method according to claim 1, further comprising decrypting the homomorphic encrypted result using a private key that was used to homomorphically encrypt the analytic parameter set into the homomorphic analytic matrix.

### Claim 3 (depends on 1)

The method according to claim 1, further comprising generating the homomorphic analytic matrix by:
extracting a set of term components from an analytic and an analytic parameter set using a term generator function;
applying a keyed hashing function to each of the set of term components to generate bitmask values; and
identifying a portion of the set of term components having a zero bitmask value.

### Claim 4 (depends on 3)

The method according to claim 3, further comprising ignoring the portion of the set of term components having a zero bitmask value such that the homomorphic analytic matrix includes non-zero bitmask value ones of the set of term components.

### Claim 5 (depends on 4)

The method according to claim 4, further comprising selecting a new hashing function if two non-zero bitmask values corresponding term components are identical to one another.

### Claim 6 (depends on 4)

The method according to claim 4, further comprising generating the processing set, the processing set comprising the homomorphic analytic matrix, a term generator function, the analytic, and the keyed hashing function.

### Claim 7 (depends on 6)

The method according to claim 6, wherein the homomorphic analytic matrix, the term generator function, the analytic, the keyed hashing function, and the encrypted result are never revealed to a data owner, an observer, or an attacker.

### Claim 8 (depends on 1)

The method according to claim 1, wherein the datasource may reside on a single server or may be distributed over multiple servers or in a cloud.

### Claim 9 (depends on 8)

The method according to claim 8, wherein the datasource comprises unencrypted plaintext, deterministically encrypted ciphertext, semantically encrypted ciphertext, probabilistically encrypted ciphertext, and any combination thereof.

### Claim 10

A method, comprising:
receiving a homomorphic analytic matrix that comprises an analytic and analytic parameter set encoded by a client system using a homomorphic encryption scheme;
utilizing at least the homomorphic encryption scheme, a keyed hashing function, and a format preserving encryption scheme to evaluate the homomorphic analytic matrix over a datasource and generate a homomorphic encrypted result; and
transmitting the homomorphic encrypted result to the client system.

### Claim 11 (depends on 10)

The method according to claim 10, wherein the datasource may reside on a single server or may be distributed over multiple servers.

### Claim 12 (depends on 10)

The method according to claim 10, further comprising:
extracting a set of term components from the datasource using a term generator function using the homomorphic encryption scheme and the keyed hashing function; and
evaluating the homomorphic analytic matrix over the datasource using the extracted set of term components to generate the encrypted result.

### Claim 13

A system comprising:
a client system configured to:
encode an analytic parameter set using a homomorphic encryption
scheme as a homomorphic analytic matrix;
transmit a processing set to a server system, the processing set comprising
at least the homomorphic analytic matrix and a keyed hashing function;
and
receive a homomorphic encrypted result; and
a server system that communicatively couples with the client system and a data repository, the server system being configured to:
receive the processing set from the client system;
utilize at least the homomorphic encryption scheme, a keyed hashing function, and a format preserving encryption scheme to evaluate the homomorphic analytic matrix over a datasource and generate a homomorphic encrypted result; and
transmit the homomorphic encrypted result to the client system.

### Claim 14 (depends on 13)

The system according to claim 13, wherein the client system is further configured to decrypt the encrypted result using a private key that was used to homomorphically encrypt the analytic parameter set.

### Claim 15 (depends on 14)

The system according to claim 14, wherein the homomorphic analytic matrix, a term generator function, an analytic, the keyed hashing function, and the encrypted result are never revealed to a data owner, an observer, or an attacker.

### Claim 16 (depends on 15)

The system according to claim 15, wherein the datasource may reside on a single server or may be distributed over multiple servers.

### Claim 17 (depends on 16)

The system according to claim 16, wherein the datasource comprises unencrypted plaintext, deterministically encrypted ciphertext, semantically encrypted ciphertext, probabilistically encrypted ciphertext, and any combination thereof.

### Claim 18 (depends on 13)

The system according to claim 13, wherein the client system is further configured to generate the homomorphic analytic matrix by:
extracting a set of term components from an analytic and an analytic parameter set using a term generator function;
applying a keyed hashing function to each of the set of term components to generate bitmask values; and
identifying a portion of the set of term components having a zero bitmask value.

### Claim 19 (depends on 13)

The system according to claim 13, wherein the server system is further configured to:
extract a set of term components from the datasource using a term generator function using the homomorphic encryption scheme and the keyed hashing function; and
evaluate the homomorphic analytic matrix over the datasource using the extracted set of term components to generate the encrypted result.

### Claim 20 (depends on 13)

The system according to claim 13, wherein the format preserving encryption scheme is an injective, format preserving encryption scheme.
