# US 10,771,237 B2 · Secure analytics using 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,771,237 B2
- Document ID: US10771237B2
- Status: Granted
- Kind: B2
- Application number: 15/876,036
- Filed: 2018-01-19
- Published: 2018-07-26
- Granted: 2020-09-08
- Earliest claimed: 2017-01-20
- Assignees: Enveil, Inc.
- Applicants: Enveil, Inc.
- Inventors: Ellison Anne Williams; Ryan Carr
- Web page: https://patentgrep.com/patent/US10771237B2

## CPC

- H04L 9/008: {involving homomorphic encryption}
- G06F 16/254: {Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses}
- G06F 16/3344: {using natural language analysis}
- G06F 17/16: Matrix or vector computation {, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization (matrix transposition G06F7/78)}
- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- G06F 40/30: Semantic analysis
- 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/0643: {Hash functions, e.g. MD5, SHA, HMAC or f9 MAC}
- H04L 9/0861: {Generation of secret information including derivation or calculation of cryptographic keys or passwords}
- H04L 9/14: using a plurality of keys or algorithms
- H04L 9/30: Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L 9/302: {involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes}
- H04L 9/3242: {involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC}
- 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)}
- G06F 21/30: Authentication, i.e. establishing the identity or authorisation of security principals
- G06F 40/211: Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
- G06F 40/253: Grammatical analysis; Style critique
- G06F 40/284: Lexical analysis, e.g. tokenisation or collocates
- G06F 40/295: Named entity recognition
- G06N 7/08: using chaos models or non-linear system models
- H04L 2209/04: Masking or blinding
- 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
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

Systems and methods of secure analytics using 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 and the keyed hashing function 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 and the keyed hashing function 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 and a keyed hashing function to evaluate the homomorphic analytic matrix over a datasource and generate an encrypted result; and
transmitting the 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 and a keyed hashing function to evaluate the homomorphic analytic matrix over a datasource and generate an encrypted result; and
transmit the 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.
