医院秘钥生成 – KeyGen:医院在本地服务器生成用来加密数据的秘钥
K
e
y
Key
Key。
医院数据加密 - Encrypt Function:医院用本地生成的秘钥
K
e
y
Key
Key 和
E
n
c
r
y
p
t
Encrypt
Encrypt 算法加密本地的数据,记为
E
n
D
a
t
a
=
E
n
c
r
y
p
t
(
K
e
y
,
D
a
t
a
)
EnData = Encrypt(Key, Data)
EnData=Encrypt(Key,Data)。
医院指定计算函数 - Compute Funtion:医院告诉云平台需要如何计算数据,记为函数
F
(
)
F()
F()。
云厂商进行计算 - Evaluate:
E
v
a
l
u
a
t
e
(
F
(
)
,
E
n
D
a
t
a
)
=
E
n
c
r
y
p
t
(
K
e
y
,
F
(
D
a
t
a
)
)
Evaluate(F(), EnData) = Encrypt(Key, F(Data))
Evaluate(F(),EnData)=Encrypt(Key,F(Data)),记为
E
n
D
a
t
a
′
EnData'
EnData′,并传回医院。
医院Decrypt Function:得到
F
(
D
a
t
a
)
=
D
e
c
r
y
p
t
(
K
e
y
,
E
n
D
a
t
a
′
)
F(Data) = Decrypt(Key, EnData')
F(Data)=Decrypt(Key,EnData′),也就是最终结果。