Method for processing dynamic data based on homomorphic encryption which carries out unlimited arithmetic operations without bootstrapping and reencryption of control data
View Patent ↗A method for processing dynamic data in an environment. The environment includes a device to be controlled; a controller, a state equation of which is x(t+1)=Fx(t)+Gy(t); a decryption module which decrypts an encrypted control command received from the controller; an actuator which operates according to the decrypted control command received from the decryption module; a sensor which detects the output (y(t)) of the device and an encryption module which carries out homomorphic encryption to the signal of the sensor.
1 . A computer-implemented method for processing dynamic data in an environment comprising a device to be controlled, a controller configured to encrypt data based on a state x(t) that dynamically changes according to a state equation x(t+1)=Fx(t)+Gy(t), a decryption module that decrypts an encrypted control data received from the controller, an actuator that operates according to the decrypted control data received from the decryption module, a sensor that detects output of the device, and an encryption module that carries out homomorphic encryption to signal of the sensor, the method comprising:
dividing, by the controller, the state equation into Schur stable part (z s (t+1)=F s z s (t)+G s y(t)) and Schur anti-stable part (z u (t+1)=F u z u (t)+G u y(t)), wherein F is a state matrix of the controller, G is an input matrix of the controller, x(t) is the state of the controller at time t, x(t+1) is a state of the controller at time t+1, and y(t) is the output of the device at time t, and wherein subscript “s” refers to the Schur stable part and subscript “u” refers to the Schur anti-stable part;
approximating, by the controller, the Schur stable part using the following equation:
[
z
s
,
1
(
t
+
1
)
z
s
,
2
(
t
+
1
)
⋮
z
s
,
k
1
(
t
+
1
)
]
≈
[
z
s
,
2
(
t
)
⋮
z
s
,
k
1
(
t
)
0
]
+
[
G
s
F
s
G
s
⋮
F
s
k
1
-
1
G
s
]
y
(
t
)
,
approximating, by the controller, the Schur anti-stable part using the following equation:
z
u
(
t
+
1
)
≈
F
0
z
u
(
t
)
+
G
u
y
(
t
)
,
wherein the state variable equation for generating control data in approximating the Schur anti-stable part is,
ξ
(
k
2
t
+
1
)
=
ξ
(
k
2
t
)
+
T
2
F
0
-
1
G
u
y
(
t
)
ξ
(
k
2
t
+
2
)
=
ξ
(
k
2
t
+
1
)
+
T
2
F
0
-
2
G
u
y
(
t
)
⋮
ξ
(
k
2
t
+
k
2
-
1
)
=
ξ
(
k
2
t
+
k
2
-
2
)
+
T
2
F
0
-
(
k
2
-
1
)
G
u
y
(
t
)
ξ
(
k
2
t
+
k
2
)
=
T
2
F
0
k
2
T
2
-
1
ξ
(
k
2
t
+
k
2
-
1
)
+
T
2
G
u
y
(
t
)
;
and
wherein z(t)=T 1 x(t); the absolute value of every eigenvalue of F s is less than 1; the absolute value of every eigenvalue of F u is equal to or greater than 1; ξ(k 2 t)=T 2 z u (k 2 t); k 1 is a sufficiently large natural number which satisfies the condition that
F
s
k
1
converges to 0; k 2 is a natural number which satisfies the conditions that ∥F u −F 0 ∥<ε, for a sufficiently small number ε which is greater than 0 and
T
2
F
0
k
2
T
2
-
1
∈
ℤ
n
×
n
(
F
0
∈
ℝ
n
×
n
and
T
2
∈
ℝ
n
×
n
)
;
and
updating, by the controller, the state x(t+1) from the state x(t) according to the state equation.
2 . The method according to claim 1 , wherein
[
z
s
,
2
(
t
)
⋮
z
s
,
k
1
(
t
)
0
]
=
A
[
z
s
,
1
(
t
)
z
s
,
2
(
t
)
⋮
z
s
,
k
1
(
t
)
]
,
and
wherein the matrix “A” is a matrix in which the elements immediately above the diagonal elements are 1, and the remaining elements are 0.
3 . The method according to claim 1 , wherein k 1 and k 2 are equal.
4 . A non-transitory computer-readable medium containing program instructions executable by a processor to cause the processor to perform a method comprising:
dividing, a state equation x(t+1)=Fx(t)+Gy(t) into Schur stable part (z s (t+1)=F s z s (t)+G s y(t)) and Schur anti-stable part (z u (t+1)=F u z u (t)+G u y(t)), wherein F is a state matrix of the controller, G is an input matrix of the controller, x(t) is the state of the controller at time t, x(t+1) is a state of the controller at time t+1, and y(t) is the output of the device at time t, and wherein subscript “s” refers to the Schur stable part and subscript “u” refers to the Schur anti-stable part;
approximating, by the controller, the Schur stable part using the following equation:
[
z
s
,
1
(
t
+
1
)
z
s
,
2
(
t
+
1
)
⋮
z
s
,
k
1
(
t
+
1
)
]
≈
[
z
s
,
2
(
t
)
⋮
z
s
,
k
1
(
t
)
0
]
+
[
G
s
F
s
G
s
⋮
F
s
k
1
-
1
G
s
]
y
(
t
)
,
and
approximating, by the controller the Schur anti-stable part using the following equation:
z
u
(
t
+
1
)
≈
F
0
z
u
(
t
)
+
G
u
y
(
t
)
,
wherein the state variable equation for generating control command in the step of approximating the Schur anti-stable part is,
ξ
(
k
2
t
+
1
)
=
ξ
(
k
2
t
)
+
T
2
F
0
-
1
G
u
y
(
t
)
ξ
(
k
2
t
+
2
)
=
ξ
(
k
2
t
+
1
)
+
T
2
F
0
-
2
G
u
y
(
t
)
⋮
ξ
(
k
2
t
+
k
2
-
1
)
=
ξ
(
k
2
t
+
k
2
-
2
)
+
T
2
F
0
-
(
k
2
-
1
)
G
u
y
(
t
)
ξ
(
k
2
t
+
k
2
)
=
T
2
F
0
k
2
T
2
-
1
ξ
(
k
2
t
+
k
2
-
1
)
+
T
2
G
u
y
(
t
)
;
and
wherein z(t)=T 1 x(t); the absolute value of every eigenvalue of F s is less than 1; the absolute value of every eigenvalue of F u is equal to or greater than 1; ξ(k 2 t)=T 2 z u (k 2 t); k 1 is a sufficiently large natural number which satisfies the condition that
F
s
k
1
converges to 0; k 2 is a natural number which satisfies the conditions that ∥F u −F 0 ∥<ε, for a sufficiently small number ε which is greater than 0 and
T
2
F
0
k
2
T
2
-
1
∈
ℤ
n
×
n
(
F
0
∈
ℝ
n
×
n
and
T
2
∈
ℝ
n
×
n
)
,
and
updating, by the controller, the state x(t+1) from the state x(t) according to the state equation.