【技术实现步骤摘要】
一种基于FHE的softmax实现方法和系统
[0001]本申请涉及基于
FHE
的
softmax
实现
,特别是涉及一种基于
FHE
的
softmax
实现方法和系统
。
技术介绍
[0002]Softmax
算法的作用是将输入向量转换为一个概率向量且各维度分量的概率和为1,算法过程如下:
[0003]输入向量输出其中
[0004][0005]机器学习应用中经常使用
softmax
方法进行分类,典型应用场景如下:给定标签分类
d
model
表示分类标签个数,即总共的类别数量
。
例如数字识别0‑9应用中,
d
model
就为
10。
机器学习训练阶段得到模型参数
。
在模型推理应用时,根据输入样本计算得到该样本归类为各个标签的概率
l
j
。
计算过程分为两步:
...
【技术保护点】
【技术特征摘要】
1.
一种基于
FHE
的
softmax
实现方法,其特征在于,所述方法包括:数据方生成
FHE
私钥,并根据所述
FHE
私钥生成目标公钥;所述数据方根据
FHE
公钥对本方输入的明文数据进行加密得到第一密文数据,将所述第一密文数据发送给计算方;所述计算方根据所述目标公钥对本方的模型参数进行加密得到第二密文数据;根据所述第二密文数据进行密文计算步骤后,得到需要进行
softmax
计算的原始密文输入数据
X
c
;其中,
X
c
=
{x
c1
,x
c2
…
x
cj
,
…
x
cn
}
;随机选择一个明文数据
t
,对所述明文数据
t
进行加密得到
x
ct
=
enc(t)
;对
softmax
原始密文输入数据添加噪声后得到加扰密文输入数据
Xn
c
,其中,所述
Xn
c
=
{xn
c1
,xn
c2
…
xn
cj
,
…
xn
cn
}
;
xn
cj
=
Add(x
cj
,x
ct
)
;对所述加扰密文输入数据
Xn
c
的
n
个密文数据进行随机置换:初始化数组
Index[n]
,将所述
Index
数组中
1,2,
…
n
随机填满
Index
数组,其中,所述
Index
数组中的每一个元素都是
1,2,
…
n
中随机挑选的一个数,且各不相同;得到置换后的所述加扰置换密文输入数据,所述加扰置换密文输入数据
Xnp
c
=
{xnp
c1
,xnp
c2
…
xnp
cj
,
…
xnp
cn
}
,其中,所述
xnp
cj
=
Xn
ci
,i
=
Index[j]
;计算方将所述加扰置换密文输入数据发送给所述数据方;所述数据方将接收到的所述加扰置换密文输入数据进行解密得到加扰置换明文输入数据,其中,所述加扰置换明文输入数据
Xnp
=
{xnp1,xnp2…
xnp
j
,
…
xnp
n
}
;根据所述加扰置换明文输入数据明文计算
softmax
结果,得到
softmax
置换明文结果,所述
softmax
置换明文结果
Ynp
=
{ynp1,ynp2…
ynp
j
,
…
ynp
n
}
,其中,对所述
softmax
置换明文结果加密,得到
softmax
置换密文结果数据
Ynp
c
=
{ynp
c1
,ynp
c2
…
ynp
cj
,
…
ynp
cn
}
;将所述
softmax
置换密文结果数据发送给所述计算方,将所述
softmax
置换密文结果数据恢复到置换前的顺序,得到
softmax
密文结果数据
Yn
c
,获取数组
Index[n]
,得到置换前的
softmax
密文结果数据:其中,
Yn
c
=
{yn
c1
,yn
c2
…
yn
cj
,
…
yn
cn
}
,其中
yn
ci
=
ynp
cj
,i
=
Index[j]
;所述计算方将置换前的
softmax
密文结果数据用于后续密文计算
。2.
根据权利要求1所述的方法,其特征在于,所述数据方生成
FHE
私钥,并根据所述
FHE
私钥生成目标公钥,具体包括:所述数据方根据安全参数生成
FHE
私钥,根据
FHE
私钥生成
FHE
加密公钥;根据所述
FHE
私钥生成重线性密钥和密文自举;其中,所述
FHE
加密公钥和所述重线性密钥和密文自举对应的自举公钥统称为目标公钥;查询方将所述目标公钥发送给计算方
。3.
根据权利要求2所述的方法,其特征在于,所述重线性密钥和密文自举为密文计算过程中需要使用到的重线性密钥和密文自举
。4.
根据权利要求2所述的方法,其特征在于,所述数据方和计算方基于
FHE
公钥和
FHE
私钥的运算规定如下:加密函数
enc(a0)
表示对明文数据
a0加密得到的密文,解密函数
dec(c0)
表示对密文数据
c0解密得到的明文数据;对于
FHE
方案的密文计算有以下:密文乘法函数
Mul(enc(a0),enc(a1))
=
enc(a0×
a1)
;密文加法函数
Add(enc(a0),enc(a1))
=
enc(a0+a1)
;密文减法函数
Sub(enc(a0),enc(a1))
=
enc(a0‑
a1)。5.
一种基于
FHE
的
softmax
实现系统,其特征在于,所述系统包括:
生成公私钥模块:用于数据方生成
FHE
私钥,并根据所述
【专利技术属性】
技术研发人员:潘光明,
申请(专利权)人:翼健上海信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。