# US 2022/0035951 A1 · Method and system for enabling privacy in an application using fully homomorphic encryption

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

- Number: US 2022/0035951 A1
- Document ID: US20220035951A1
- Status: Published application
- Kind: A1
- Application number: 17/361,375
- Filed: 2021-06-29
- Published: 2022-02-03
- Earliest claimed: 2020-07-01
- Assignees: Tata Consultancy Services Limited
- Applicants: Tata Consultancy Services Limited
- Inventors: Nitesh Emmadi; Rajan Mindigal Alasingara Bhattachar; Harika Narumanchi; Imtiyazuddin Shaik; Ajeet Kumar Singh
- Web page: https://patentgrep.com/patent/US20220035951A1

## CPC

- G06F 21/6263: {during internet communication, e.g. revealing personal data from cookies}
- G06F 21/602: {Providing cryptographic facilities or services}
- H04L 9/008: {involving homomorphic encryption}
- G06N 3/08: Learning methods
- G06N 5/01: Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
- G06N 20/00: Machine learning
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- 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

The disclosure herein generally relates to the field of privacy preserving in an application, and, more particularly, to enabling privacy in an application using fully homomorphic encryption. The disclosure more specifically refers to enabling a most optimal FHE for privacy preserving for the application based on a set of constraints using a disclosed set of optimization tasks. The set of optimization tasks comprise a multi objective-multi constraint optimization task and a single objective-multi constraint optimization task, that identifies an optimal FHE library, along with an associated FHE functionality and an optimal configuration of the associated FHE functionality based on the set of constraints. The identified FHE library along with the associated FHE functionality and the optimal configuration of the associated FHE functionality facilitate optimal implementation of privacy in the applications.

## Claims

### Claim 1

A processor-implemented method for enabling privacy in an application using fully homomorphic encryption (FHE), the method comprising:
receiving, via a one or more hardware processors, the application, a set of input data to the application, a set of constraints and a user requirement, wherein the set of input data are indicative of one or more functions performed by the application, the set of constraints are indicative of functional performance and cost of the application, and the user requirement is indicative of an optimization task to be performed as per a user's requirement;
generating, via the one or more hardware processors, a set of inter-connected meta models based on an abstract data type (ADT) technique, wherein the set of inter-connected meta models comprises a plurality of meta model trees, wherein each of the plurality of meta model trees comprises a plurality of nodes that indicate a fully homomorphic encryption (FHE) library, a FHE functionality associated with the FHE library and an optimal configuration of the associated FHE functionality;
generating, via the one or more hardware processors, a set of instance models for the application based on the set of constraints using the set of inter-connected meta models, wherein each of the set of instance models comprises an FHE library, the FHE functionality associated with the FHE library and the optimal configuration of the associated FHE functionality identified from the meta models based on the set of constraints;
optimizing, via the one or more hardware processors, each of the set of instance models based on the optimization task to obtain a decision for each of the set of constraints, wherein the optimization task is identified from a set of optimization tasks based on the user requirement, the set of optimization tasks comprises one of a multi objective-multi constraint optimization task and a single objective-multi constraint optimization task;
identifying, via the one or more hardware processors, a pre-defined number of optimal instance models from the set of instance models using a ranking technique, wherein the ranking technique is performed based the set of constraints; and
displaying, via the one or more hardware processors, an optimal instance model, wherein the optimal instance model is indicative of the privacy preservation using FHE to be enabled in the application.

### Claim 2 (depends on 1)

The method according to claim 1, wherein the set of constraints comprises one of a user-defined constraints or a pre-defined constraints, where the set of constraints comprises a computation type, a computation time, a memory consumption, a communication cost, a computation cost and a security level.

### Claim 3 (depends on 1)

The method of claim 1, wherein the ADT technique comprises of a computation tree technique, JavaScript Object Notation (JSON™) parsing, wherein the computation tree technique comprises representation of the application as a set of functions with a plurality of inter-connected nodes forming a tree structure.

### Claim 4 (depends on 1)

The method of claim 1, wherein the FHE functionality comprises a FHE scheme, a set of supporting features and a set of FHE parameters and the optimal configuration of the associated FHE functionality comprises of an optimal configuration for the set of supporting features for the FHE and an optimal configuration for the set of FHE parameters.

### Claim 5 (depends on 4)

The method of claim 4, wherein the set of supporting features comprises a packing technique and a noise management technique.

### Claim 6 (depends on 4)

The method of claim 4, wherein the set of FHE parameters are selected from a set of FHE scheme parameters associated with the FHE library and the FHE schema, wherein the set of FHE scheme parameters comprises a cyclotomic polynomial, a degree of cyclotomic polynomial, a modulus for coefficients in plaintext, a plaintext modulus, a norm of secret key, a width of Gaussian distribution for sampling error and an error distribution.

### Claim 7 (depends on 6)

The method of claim 6, wherein the set of FHE parameters and the optimal configuration for the set of FHE parameters are selected from the set of FHE scheme parameters based on a circuit depth, a level of accuracy and the set of supporting features wherein the circuit depth and the level of accuracy are determined based on a multiplication operation between a set of nodes in the meta model tree of the meta-models.

### Claim 8 (depends on 1)

The method of claim 1, wherein the multi objective-multi constraint optimization task optimizes the set of constraints that comprises a minimize computation time τ, a memory consumption m, a communication cost comm and a computation cost of a function F in a privacy preserving manner and is represented as follows:
ℱ
c
†
*
=
argmin
⁢
⁢
{
ℱ
j
c
†
|
ℱ
j
c
†
=
argmin
⁢
⁢
{
{
ℱ
j
⁢
k
c
†
|
λ
j
>
λ
}
k
⁢
ɛ
⁢
S
l
j
,
l
j
⁢
ɛℒ
}
⁢
⁢
where
⁢
⁢
c
†
∈
C
such that
ℱ
j
⁢
k
c
†
=
∑
i
=
1
|
ℱ
|
⁢
ℱ
i
⁢
j
⁢
k
c
†
⁢
x
i
⁢
j
⁢
k
≤
c
†
⁢
⁢
f
,
∑
k
=
1
|
ℱ
|
⁢
x
i
⁢
j
⁢
k
=

ℱ

where,
set of constraints is represented by C={τ,m,comm,ξ}, τf is the computation time, is the memory consumption, commf is the communication cost, ξf is the computation cost and λ is the security level,
is optimal instance model,
F={f1, f2, f3, . . . fn}: Set of sub-computations,
Fjk: Instance model generated using jth FHE library and FHE scheme
F*jk: Instance model generated using jth FHE library and FHE scheme
: Optimal instance model based on constraint c†∈C
: Optimal constraint for instance model F model using FHE library lj, where c†∈C
pq: Number of schemes supported by library I
λj: Security level for FHE library j
α: Number of FHE libraries
={l1 . . . lα}: set of FHE libraries available
||: Number of sub-functions
fi∈F: ith sub computations of F
: Constraint to compute fi using library lj and FHE scheme Sljk, where c†∈C
Wc†: User given priority for constraint computation time where time τ where c†∈C
x
i
⁢
j
⁢
k
=
{
1
If
⁢
⁢
f
i
⁢
⁢
can
⁢
⁢
be
⁢
⁢
computed
⁢
⁢
using
⁢
⁢
library
⁢
⁢
l
j
⁢
⁢
and
⁢
⁢
FHE
⁢
⁢
scheme
⁢
⁢
S
l
jk
0
otherwise

### Claim 9 (depends on 1)

The method of claim 1, wherein the single objective-multi constraint optimization task comprises:
ℱ
*
=
argmin
⁢
⁢
{
F
j
|
F
j
=
argmin
⁢
⁢
{
F
j
⁢
k
|
λ
j
>
λ
}
k
⁢
ɛ
⁢
S
l
j
⁢
l
j
⁢
ɛℒ
}
,
⁢
F
j
⁢
k
=
∑
i
=
1
|
ℱ
|
⁢
ℱ
i
⁢
j
⁢
k
c
†
⁢
x
i
⁢
j
⁢
k
such that
Fjk=τ*fijkτ+m*fijkm+comm*fijkcomm+ξ*fijkξ,
where τ+m+comm+ξ=1 and
xijk≤c†f, xijk=||
where
set of constraints is represented by C={τ,m,comm,ξ}, τf is the computation time, ← is the memory consumption, commf is the communication cost, ξf is the computation cost and λ is the security level,
is optimal instance model,
F={f1, f2, f3, . . . fn}: Set of sub-computations,
Fjk: Instance model generated using jth FHE library and FHE scheme
F*jk: Instance model generated using jth FHE library and FHE scheme
: Optimal instance model based on constraint c†∈C
: Optimal constraint for instance model F model using FHE library lj, where c†∈C
pq: Number of schemes supported by library I
λj: Security level for FHE library j
α: Number of FHE libraries
={l1 . . . lα}: of FHE libraries available
||: Number of sub-functions
fi∈F: ith sub computations of F
: Constraint to compute fi using library lj and FHE scheme Sljk, where c†∈C
Wc†: User given priority for constraint computation time where time τ where c†∈C
x
i
⁢
j
⁢
k
=
{
1
If
⁢
⁢
f
i
⁢
⁢
can
⁢
⁢
be
⁢
⁢
computed
⁢
⁢
using
⁢
⁢
library
⁢
⁢
l
j
⁢
⁢
and
⁢
⁢
FHE
⁢
⁢
scheme
⁢
⁢
S
l
jk
0
otherwise

### Claim 10

A system for enabling privacy in an application using fully homomorphic encryption (FHE), comprising:
one or more memories;
one or more hardware processors;
an input/output interface; and
the one or more memories coupled to the one or more hardware processors, wherein the one or more hardware processors are configured to execute programmed instructions stored in the one or more memories to:
receive the application, a set of input data to the application, a set of constraints and a user requirement, wherein the set of input data are indicative of one or more functions performed by the application, the set of constraints are indicative of functional performance and cost of the application, and the user requirement is indicative of an optimization task to be performed as per a user's requirement;
generate, a set of inter-connected meta models based on an abstract data type (ADT) technique, wherein the set of inter-connected meta models comprises a plurality of meta model trees, wherein each of the plurality of meta model trees comprises a plurality of nodes that indicate a fully homomorphic encryption (FHE) library, a FHE functionality associated with the FHE library and an optimal configuration of the associated FHE functionality;
generate a set of instance models for the application based on the set of constraints using the set of inter-connected meta models, wherein each of the set of instance models comprises an FHE library, the FHE functionality associated with the FHE library and the optimal configuration of the associated FHE functionality identified from the meta models based on the set of constraints;
optimize each of the set of instance models based on the optimization task to obtain a decision for each of the set of constraints, wherein the optimization task is identified from a set of optimization tasks based on the user requirement, the set of optimization tasks comprises one of a multi objective-multi constraint optimization task and a single objective-multi constraint optimization task;
identify a pre-defined number of optimal instance models from the set of instance models using a ranking technique, wherein the ranking technique is performed based the set of constraints; and
display an optimal instance model, wherein the optimal instance model is indicative of the privacy preservation using FHE to be enabled in the application.

### Claim 11 (depends on 10)

The system of claim 10, wherein the abstract data type (ADT) technique are implemented by the one or more hardware processors that are further configured by the instructions to represent the input application as a set of functions with a plurality of inter-connected nodes forming a tree structure based on a the computation tree technique.

### Claim 12 (depends on 10)

The system of claim 10, wherein the multi objective-multi constraint optimization task are implemented by the one or more hardware processors that are further configured by the instructions to perform optimization task using the multi objective-multi constraint optimization task as shown below:
ℱ
c
†
*
=
argmin
⁢
⁢
{
ℱ
j
c
†
|
ℱ
j
c
†
=
argmin
⁢
⁢
{
{
ℱ
j
⁢
k
c
†
|
λ
j
>
λ
}
k
⁢
ɛ
⁢
S
l
j
,
l
j
⁢
ɛℒ
}
⁢
⁢
where
⁢
⁢
c
†
∈
C
such that
where,
ℱ
j
⁢
k
c
†
=
∑
i
=
1
|
ℱ
|
⁢
ℱ
i
⁢
j
⁢
k
c
†
⁢
x
i
⁢
j
⁢
k
≤
c
†
⁢
⁢
f
,
∑
k
=
1
|
ℱ
|
⁢
x
i
⁢
j
⁢
k
=

ℱ

set of constraints is represented by C={τ, m,comm,ξ},
τf is the computation time, is the memory consumption, commf is the communication cost, ξf is the computation cost and λ is the security level,
is a optimal instance model,
F={f1, f2, f3, . . . fn}: Set of sub-computations,
Fjk: Instance model generated using jth FHE library and FHE scheme
F*jk: Instance model generated using jth FHE library and FHE scheme
: Optimal instance model based on constraint c†∈C
: Optimal constraint for instance model F model using FHE library lj, where c†∈C
pq: Number of schemes supported by library I
λj: Security level for FHE library j
α: Number of FHE libraries
={l1 . . . lα}: set of FHE libraries available
||: Number of sub-functions
fi∈F: ith sub computations of F
: Constraint to compute fi using library lj and FHE scheme Sljk, where c†∈C
Wc†: User given priority for constraint computation time where time τ where c†∈C
x
i
⁢
j
⁢
k
=
{
1
If
⁢
⁢
f
i
⁢
⁢
can
⁢
⁢
be
⁢
⁢
computed
⁢
⁢
using
⁢
⁢
library
⁢
⁢
l
j
⁢
⁢
and
⁢
⁢
FHE
⁢
⁢
scheme
⁢
⁢
S
l
jk
0
otherwise

### Claim 13 (depends on 10)

The system of claim 10, wherein the single objective-multi constraint optimization task are implemented by the one or more hardware processors that are further configured by the instructions to perform optimization task using the single objective-multi constraint optimization task as shown below:
ℱ
*
=
argmin
⁢
⁢
{
F
j
|
F
j
=
argmin
⁢
⁢
{
F
j
⁢
k
|
λ
j
>
λ
}
k
⁢
ɛ
⁢
S
l
j
⁢
l
j
⁢
ɛℒ
}
,
⁢
F
j
⁢
k
=
∑
i
=
1
|
ℱ
|
⁢
ℱ
i
⁢
j
⁢
k
c
†
⁢
x
i
⁢
j
⁢
k
such that
Fjk=τ*fijkτ+m+fijkm+comm*fijkcomm+ξ*fijkξ,
where τ+m+comm+ξ=1 and
xijk≤c†f, xijk=||
where
set of constraints is represented by C={τ, m,comm,ξ},
τf is the computation time, is the memory consumption, commf is the communication cost, ξf is the computation cost and λ is the security level,
is optimal instance model,
F={f1, f2, f3, . . . fn}: Set of sub-computations,
Fjk: Instance model generated using jth FHE library and FHE scheme
F*jk: Instance model generated using jth FHE library and FHE scheme
t: Optimal instance model based on constraint c†∈C
: Optimal constraint for instance model F model using FHE library lj, where c†∈C
pq: Number of schemes supported by library I
λj: Security level for FHE library j
α: Number of FHE libraries
={l1 . . . lα}: set of FHE libraries available
||: Number of sub-functions
fi∈F: ith sub computations of F
: Constraint to compute fi using library lj and FHE scheme Sljk, where c†∈C
Wc†: User given priority for constraint computation time where time τ where c†∈C
x
i
⁢
j
⁢
k
=
{
1
If
⁢
⁢
f
i
⁢
⁢
can
⁢
⁢
be
⁢
⁢
computed
⁢
⁢
using
⁢
⁢
library
⁢
⁢
l
j
⁢
⁢
and
⁢
⁢
FHE
⁢
⁢
scheme
⁢
⁢
S
l
jk
0
otherwise

### Claim 14 (depends on 10)

The system of claim 10, wherein the selection of set of FHE parameters and optimal configuration of the set of FHE parameters are implemented by the one or more hardware processors that are further configured by the instructions to select the set of FHE parameters and the optimal configuration of the set of FHE parameters from the exhaustive set of FHE scheme parameters based on a circuit depth, a level of accuracy and the set of supporting features wherein the circuit depth and the level of accuracy is determined based on a multiplication operation between a set of nodes in the meta model trees of the meta-models.

### Claim 15

A computer program product comprising a non-transitory computer readable medium having a computer readable program embodied therein, wherein the computer readable program, when executed on a computing device, causes the computing device to
receive the application, a set of input data to the application, a set of constraints and a user requirement, wherein the set of input data are indicative of one or more functions performed by the application, the set of constraints are indicative of functional performance and cost of the application, and the user requirement is indicative of an optimization task to be performed as per a user's requirement;
generate, a set of inter-connected meta models based on an abstract data type (ADT) technique, wherein the set of inter-connected meta models comprises a plurality of meta model trees, wherein each of the plurality of meta model trees comprises a plurality of nodes that indicate a fully homomorphic encryption (FHE) library, a FHE functionality associated with the FHE library and an optimal configuration of the associated FHE functionality;
generate a set of instance models for the application based on the set of constraints using the set of inter-connected meta models, wherein each of the set of instance models comprises an FHE library, the FHE functionality associated with the FHE library and the optimal configuration of the associated FHE functionality identified from the meta models based on the set of constraints;
optimize each of the set of instance models based on the optimization task to obtain a decision for each of the set of constraints, wherein the optimization task is identified from a set of optimization tasks based on the user requirement, the set of optimization tasks comprises one of a multi objective-multi constraint optimization task and a single objective- multi constraint optimization task;
identify a pre-defined number of optimal instance models from the set of instance models using a ranking technique, wherein the ranking technique is performed based the set of constraints; and
display an optimal instance model, wherein the optimal instance model is indicative of the privacy preservation using FHE to be enabled in the application.
