# US 11,451,375 B2 · System, method and apparatus for privacy preserving inference

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

- Number: US 11,451,375 B2
- Document ID: US11451375B2
- Status: Granted
- Kind: B2
- Application number: 17/038,998
- Filed: 2020-09-30
- Published: 2022-03-31
- Granted: 2022-09-20
- Earliest claimed: 2020-09-30
- Assignees: Huawei Technologies Co., Ltd.
- Applicants: Huawei Technologies Co., Ltd.
- Inventors: Priya Soundararajan; Zhijun Mo; Zhiwei Shang
- Web page: https://patentgrep.com/patent/US11451375B2

## CPC

- H04L 9/0656: {Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher}
- H04L 9/0869: {involving random numbers or seeds}
- G06F 21/602: {Providing cryptographic facilities or services}
- G06F 21/6254: {by anonymising data, e.g. decorrelating personal data from the owner's identification}
- G06N 3/08: Learning methods
- G06N 20/00: Machine learning
- H04L 2209/42: Anonymization, e.g. involving pseudonyms
- H04L 2209/46: Secure multiparty computation, e.g. millionaire problem
- 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)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

The disclosed systems, and methods are directed to a method for Privacy Preserving Inference (PPI) comprising receiving a first set of matrix information from a client device, generating kc−1 matrices by operating a first CSPRNG associated with the server with kc−1 seeds, computing inferences from the set of kc matrices, generating a matrix Ss, generating ks−1 random matrices, computing a matrix Yks in accordance with the inference matrix Y, the matrix Ss and the ks−1 random matrices, transmitting a second set of matrix information to the client device, the second set of matrix information includes ks−1 seeds corresponding to the ks−1 random matrices and the matrix Yks, receiving a matrix U from the client device, and computing an inference value y from the matrix U.

## Claims

### Claim 1

A method for Privacy Preserving Inference (PPI), implemented on a server, comprising:
receiving a first set of matrix information from a client device, the first set of matrix information including kc−1 seeds and a matrix Xkc, where kc is an integer value;
generating kc−1 matrices by operating a first cryptographically secure pseudorandom generators (CSPRNG) associated with the server with the kc−1 seeds and representing the kc−1 matrices and the matrix Xkc as a set of kc matrices, where the matrix Xkc is the kcth matrix in the set of kc matrices;
computing inferences from each of the matrix in the set of kc matrices and representing the inferences as an inference matrix Y having a first dimension;
generating a matrix Ss, the matrix Ss including ks random coefficients, where ks is an integer value;
generating ks−1 random matrices, each random matrix having same dimensions as that of the inference matrix Y;
computing a matrix Yks in accordance with the inference matrix Y, the matrix Ss and the ks−1 random matrices and representing ks−1 random matrices and the matrix Yks as a set of ks matrices;
transmitting a second set of matrix information to the client device, the second set of matrix information including ks−1 seeds corresponding to the ks−1 random matrices and the matrix Yks , a size of ks−1 seeds being smaller than a size of the ks−1 random matrices and utilizing a smaller transmission bandwidth as compared to bandwidth required to transmit the ks−1 random matrices;
receiving a matrix U from the client device; and
computing an inference value y from the matrix U.

### Claim 2 (depends on 1)

The method of claim 1, wherein the matrix Xkc is computed by the client device as:
X
k
c
=
X
-
∑
i
=
1
k
c
-
1
⁢
⁢
X
i
·
s
ci
s
ck
c
where:
X is an input matrix corresponding to a sensitive information selected by the client device,
Xi is the ith matrix in the set of kc matrices generated by the client device, the kc−1 matrices in the set of kc matrices are randomly generated,
sci is the ith coefficient in a matrix Sc, the matrix Sc including kc random coefficients is generated by the client device, and
sckc is the kcth coefficient in the matrix Sc.

### Claim 3 (depends on 2)

The method of claim 2, wherein the kc−1 random matrices are generated by operating a second CSPRNG associated with the client device with the kc−1 seeds.

### Claim 4 (depends on 2)

The method of claim 2, wherein the value of sckc is equal to 1.

### Claim 5 (depends on 1)

The method of claim 1, wherein the matrix Yksis computed as:
Y
k
s
=
Y
-
∑
i
=
1
k
s
-
1
⁢
⁢
Y
i
·
s
si
s
sk
s
where:
Yi is the ith matrix in the set of ks matrices,
ssi is the ith coefficient in the matrix Ss, and
ssks is the ksth coefficient in the matrix Ss.

### Claim 6 (depends on 5)

The method of claim 5, wherein the value of scks is equal to 1.

### Claim 7 (depends on 1)

The method of claim 1, wherein elements of the matrix U are computed as:
ui=YiT·Sc
where:
ui is the ith element of the matrix U,
YiT is a transpose of ith matrix in the set of ks matrices, and
Sc is a matrix including kc random coefficients and is generated by the client device.

### Claim 8 (depends on 1)

The method of claim 1, wherein the inference value y is computed as:
y
=
∑
i
=
1
i
=
k
s
⁢
⁢
u
i
·
s
s
i
where:
ui is the ith element of the matrix U, and
ssi is the ith coefficient in the matrix Ss.

### Claim 9 (depends on 1)

The method of claim 1, wherein the ks−1 random matrices are generated by operating the first CSPRNG associated with the server with the ks−1 seeds.

### Claim 10 (depends on 1)

The method of claim 1, wherein the server is further configured to derive a feature from the inference value y.

### Claim 11 (depends on 10)

The method of claim 10, wherein the server transmits the derived feature to the client device.

### Claim 12

A system for Privacy Preserving Inference (PPI) comprising:
a server comprising:
one or more processors;
a non-transitory memory element for storing instructions which, when executed by the one or more processors, configure the server to perform steps for:
receiving a first set of matrix information from a client device, the first set of matrix information including kc−1 seeds and a matrix Xkc, where kc is an integer value;
generating kc−1 matrices by operating a first cryptographically secure pseudorandom generators (CSPRNG) associated with the server with the kc−1 seeds and representing the kc−1 matrices and the matrix Xkc as a set of kc matrices, where the matrix Xkc is the kcth matrix in the set of kc matrices;
computing inferences from each of the matrix in the set of kc matrices and representing the inferences as an inference matrix Y having a first dimension;
generating a matrix Ss, the matrix Ss including ks random coefficients, where ks is an integer value;
generating ks−1 random matrices, each random matrix having same dimensions as that of the inference matrix Y;
computing a matrix Yks in accordance with the inference matrix Y, the matrix Ss and the ks−1 random matrices and representing ks−1 random matrices and the matrix Yks as a set of ks matrices;
transmitting a second set of matrix information to the client device, the second set of matrix information includes ks−1 seeds corresponding to the ks−1 random matrices and the matrix Yks, a size of ks−1 seeds being smaller than a size of the ks−1 random matrices and utilizing a smaller transmission bandwidth as compared to bandwidth required to transmit the ks−1 random matrices;
receiving a matrix U from the client device; and
computing an inference value y from the matrix U.

### Claim 13 (depends on 12)

The system of claim 12, wherein the matrix Xkc is computed by the client device as as:
X
k
c
=
X
-
∑
i
=
1
k
c
-
1
⁢
⁢
X
i
·
s
ci
s
ck
c
where:
X is an input matrix corresponding to a sensitive information selected by the client device,
Xi is the ith matrix in the set of kc matrices generated by the client device, the kc−1 matrices in the set of kc matrices are randomly generated,
sci is the ith coefficient in a matrix Sc, the matrix Sc including kc random coefficients is generated by the client device, and
sckc is the kcth coefficient in the matrix Sc.

### Claim 14 (depends on 13)

The system of claim 13, wherein the kc−1 random matrices are generated by operating a second CSPRNG associated with the client device with the kc−1 seeds.

### Claim 15 (depends on 13)

The system of claim 13, wherein the value of sckc is equal to 1.

### Claim 16 (depends on 12)

The system of claim 12, wherein the matrix Yks is computed as:
Y
k
s
=
Y
-
∑
i
=
1
k
s
-
1
⁢
⁢
Y
i
·
s
si
s
sk
s
where:
Yi is the ith matrix in the set of ks matrices,
ssi is the ith coefficient in the matrix Ss, and
ssks is the ksth coefficient in the matrix Ss.

### Claim 17 (depends on 16)

The system of claim 16, wherein the value of scks is equal to 1.

### Claim 18 (depends on 12)

The system of claim 12, wherein elements of the matrix U are computed as:
ui=YiT·Sc
where:
ui is the ith element of the matrix U, and
YiT is a transpose of ith matrix in the set of ks matrices, and
Sc is a matrix including kc random coefficients and is generated by the client device.

### Claim 19 (depends on 12)

The system of claim 12, wherein the inference value y is computed as:
y
=
∑
i
=
1
i
=
k
s
⁢
⁢
u
i
·
s
s
i
where:
ui is the ith element of the matrix U, and
ssi is the ith coefficient in the matrix Ss.

### Claim 20 (depends on 12)

The system of claim 12, wherein the ks−1 random matrices are generated by operating the first CSPRNG associated with the server with the ks−1 seeds.
