两个实用同态加密方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
两个“实用的”全同态加密方案
一、方案说明
1、 该方案为对称方案。
2、 该方案仅仅需要线性代数知识。
3、 不需要噪音消除工作。
4、 明文为有限域上的实数。
5、 密文为向量,但同态操作不膨胀。
6、 安全性基于近似最大公约数问题(AGCD)。
二、方案简单描述
1、 参数选择(Setup):设2l n ≤-为已知,例如5n =,3l =。
2、 密钥生成(KeyGen):有如下几个工作。
- 随机选择向量()1
01,n n q k k k +=∈ ,,k Z ,()011l l q θθθ-=∈ ,,
,Z Θ。 - 对明文q m ∈Z ,令()1
01Enc(,),,,n n q c m c c c +==∈ k Z ,满足
m ⋅=k c ,称为低级加密。其具体方式为:
其中,121212,,,,,h m
h r r r r s r s
r s r v r v r v - 和rr
都是q Z 上的随机数。1
()m ij j j S i s rs ==⋅∑。ij s 是什么不知道。
- 令011[Enc(,),Enc(,),Enc(,),Enc(,1)]l θθθ-Φ= k k k k 。
- 输出密钥:PK {,}=k Θ,评估公钥PEK {p Enc(,k k ),0,}ij i j i j n ==≤≤k 。 3、 加密(Encryption):对q m ∈Z ,选择01,,l q r r r ∈ Z ,使???
01l m r r r =+++ ,计算:
()()()()()()()()()
001111Enc ,Enc ,Enc ,Enc ,1m l l l c r r r r θθθ--=⋅⊕⋅⊕⊕⋅⊕⋅ k k k k
4、 解密(Decryption):对密文m c ,计算得到m m ⋅=k c 。
证明:首先根据()Enc ,i θk 的定义,有0
,0,1,2,1n
i i ij i k i l θθ===⋅=-∑ ,0
11n
i i i k ==⋅=∑。
故:111
00110001,1,,1,l l l m i i l i i l i in l n i i i r r r r r r θθθ---===⎛⎫
⋅=⋅⋅+⋅⋅+⋅⋅+⋅ ⎪⎝⎭
∑∑∑ k c k
000
1n n n
j i ij j l i j i j k r k r θ====⋅⋅+⋅⋅∑∑∑
001110(1)0
1n
n n n
j j j j j l l j l i j j j j k r k r k r k r θθθ--=====⋅⋅+⋅⋅++⋅⋅+⋅⋅∑∑∑∑
1
l j j l j r r θ-==⋅+∑???
m =。
5、 同态加法:()'''
112211'mod ,mod ,mod n n c c c c q c c q c c q ++⊕=++++ 。
可以证明:()()Dec(')Dec ,Dec ,'mod c c c c q ⊕=+k k 。
证明:()'''
112211Dec(,')Dec ,(mod ,mod ,mod )n n c c c c q c c q c c q ++⊕=++++ k k
'''
112211(mod ,mod ,mod )n n c c q c c q c c q ++=⋅++++ k
'''01112211(mod )(mod )(mod )n n n k c c q k c c q k c c q ++=⋅++⋅+++⋅+
'''010*******()mod ()mod ()mod )n n n n k c k c q k c k c q k c k c q ++=⋅+⋅+⋅+⋅++⋅+⋅
''011210112'
1
mod mod mod mod mod mod n n n n k c q k c q k c q k c q k c q k c
q
++=⋅+⋅++⋅+⋅+⋅++⋅
')mod =(c c q ⋅+⋅k k
()()Dec ,Dec ,'mod c c q =+k k
另外,由同态加法可以引申出同态数乘运算:
令q d ∈Z ,()121mod ,mod ,,mod n d c d c q d c q d c q +=⋅⋅⋅ ,可以证明:
()Dec(,)Dec ,mod d c d c q =⋅ k k 。 6、 同态乘法:
定义:()()()()(
)(
)
''
'1111121211(1)(1)'n n n n c c c c pek c c pek c c pek ++++⊗=⋅⊕⋅⊕⊕⋅ 。
可以证明:()()()Dec ,c c'Dec ,c Dec ,c'mod q ⊗=⋅k k k 。 证明:()Dec ,c c'c c'⊗=⋅⊗k k
()11
11
Dec ,mod n n i j ij i j c c pek q ++===⋅⋅∑∑k
()()11
11
11
11
11
1
1
mod mod mod Dec ,c Dec ,c'mod n n i j ij i j n n i i j j i j n n i i j j i j c c sek q
k c k c q
k c k c q
q
++==++==++===⋅⋅=⋅⋅⋅=⋅⋅⋅=⋅∑∑∑∑∑∑k k
三、问题:由同态评估密钥可以得到密钥k 。
例如,假设01p [,,,]ij ij ij ijn p p p = ,则可从如下方程组求出k :
00000000n n k k p k p k =+
00i j ij ijn n k k p k p k =+
00n n nn nnn n k k p k p k =+
四、可借鉴之处 1、 构造代数结构 ????与解密有关
2、 同态运算的构造方式(同态操作密文不膨胀的原因):采用⊕运算。可否将类似方式用到基于LWE 的方案。
3、 能否构造为公钥方案。
王会勇 2015.7
Huiyong,
thanks for the message. For the first r_0 \xor r_1 \xor ...
it should be interpreted as regular addition in the finite field.
For the second \xor on the c_m (cipher text) in the encrytion phase, it should be interpreted as the
homomorphic addition of cipher text. Yongge