两个实用同态加密方案

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档