Page 296 - 《软件学报》2020年第12期
P. 296
3962 Journal of Software 软件学报 Vol.31, No.12, December 2020
a a b b
=
=
,
= a 1 L ∧ = a 1 R ∧ gcd(aa ) gcd(a= ,a ) 1,b = 1 L ∧ = b 1 R ∧ gcd(b ,b ) gcd(b= ,b ) 1 .
L R 1 L 2 L 1 R R L R 1 L 2 L 1 R R
a a 2 b b 2
2 L R 2 2 L R 2
,
Step 1:Bob 利用自己的公钥将自己的数对 (bb ),(b ,b ) 加密:
1 L 2 L 1 R R 2
1 L b
C = (1 n+ ) r n mo n 2 (11a)
d
1 L b 1 L b
d
C = (1 n+ ) L b 2 r n mo n 2 (11b)
L b 2 L b 2
C b R 1 = (1 n+ ) b 1 R r b n R 1 mo n 2 (12a)
d
C b R 2 = (1 n+ ) b R 2 r b n R 2 mo n 2 (12b)
d
并将 (C ,C ) 和 (C ,C ) 发送给 Alice;
1 L b L b 2 b 1 R b R 2
Step 2:Alice 收到 (C ,C ) 和 (C ,C ) 后,按照如下方式工作.
1 L b L b 2 b 1 R b R 2
① 对于每一个 a I ∈{a L ,a R },I∈{L,R}随机选择 6 个不等的长度为⎣logn−1⎦的随机数 k 1 I a ,k I a 2 ,k′ 1 I a ,k′ I a 2 ,k′ I a 3 ,k′ I a 4
*
和 4 个随机数 r ,r ,r ,r ∈ Z ,并利用文献[22]中提出的同态加密方案计算 2 个密文对 (C ,
+
1 I a I a 2 3 I a I a 4 n (a 2 I ⋅ 1 L b ) k′ a 1 I
C (a 1 I b ⋅ L 2 ) k′ + a 1 I ),(C (a 2 I ⋅ b 1 R + ) k′ a I 2 ,C (a 1 I b ⋅ R 2 ) k′ + a I 2 ) :
C (a 2 I ⋅ 1 L b ) k′ = + a 1 I ((C 1 L b ) a k 1 I a ⋅ L 2 mod ) (1n × 2 + k k′ 1 I a ) n r n 1 I a mod n 2 (13a)
1 I a
′
C (a 1 I b ⋅ L 2 ) k′ = + a 1 I ((C L b 2 ) a k 1 I a ⋅ 1 L mod ) (1n × 2 + kkn )r n I a 2 mod n 2 (13b)
1 I a
1 I a
C = ((C ) k a I 2 a ⋅ L 2 mod ) (1n × 2 + k k′ ) n r n mod n 2 (14a)
) k′
(a 2 I b ⋅ R + a I 2 1 L b I a 2 I a 2 I a 3
1
C (a 1 I b ⋅ R 2 ) k′ a I 2 = ((C L b 2 ) k a I 2 a ⋅ 1 L mod ) (1n × 2 + k I a 2 k′ I a 2 ) n r n I a 4 mod n 2 (14b)
+
② 对密文对 (C ,C ) 和 (C ,C ) 同时在组内实施一致的元组元素间的随
(a 2 I ⋅ 1 L b ) k′ + a 1 I (a 1 I b⋅ L 2 ) k′ + a 1 I (a 2 I ⋅ b 1 R + ) k′ a I 2 (a 1 I b⋅ R 2 ) k′ + a I 2
机置换,然后再对两个密文对实施对间随机置换,得到密文对序列 (c ,c ),(c ,c ) ,即随机选择一个:
1 I L 1 I R I L 2 I R 2
((c ,c ),(c ,c )) {((∈ C ,C ),(C ,C )),
⋅
1 I L 1 I R I L 2 2 (a 2 I ⋅ I R 1 L )+ ′ 1 I (a 1 I b ⋅b L 2 )+ a k ′ 1 I (a 2 I b ⋅ 1 R )+ a k k ′ 2 (a 1 I b R 2 )+ a I k a I ′ 2
((C (a ⋅ )+ ′ ,C (a ⋅b k ′ k ),(C (a ⋅ ′ ,C ( I a ⋅ L b )+ a k ′ )),
2 I 1 R 2 1 I b R 2 )+ a I 2 2 I b 1 L )+ a I a k 1 I 1 2 1 I
((C ,C ),(C ,C )),
(a 1 I b ⋅ 2 )+ ′ 1 I (a 2 I b ⋅ L 1 L )+ a k ′ 1 I (a 1 I b ⋅ 2 )+ a k k ′ 2 (a 2 I b ⋅ R R 1 )+ a I k a I ′ 2
((C (a 1 I b ⋅ 2 )+ ′ k 2 ,C (a 2 I b ⋅ R 1 R )+ a I k ′ a I 2 ),(C (a 1 I b L 2 )+ ′ 1 I ,C (a 2 I b )+ a k 1 L ′ a k 1 I ))}
并发给 Bob.
Step 3:Bob 收到 (c ,c ),(c ,c ) 后计算:
1 I L 1 I R I L 2 I R 2
⎛ ( Lc λ ) ⎞ ⎛ ( L c λ ) ⎞ ⎛ ⎞ ⎧ − 1, X ≤ 1
⎜ P 1 I L ⎟ ,P⎜ I L 2 ⎟ , ⎟ ⎜ 其中 ,I ∈ { , }, ( )L R P X = ⎨ (15)
⎜ ⎜ ( Lc λ ) ⎟ ⎜ ( Lc λ ) ⎟ ⎟ 1, X > 1
⎝ ⎝ 1 I R ⎠ ⎝ I R 2 ⎠ ⎠ ⎩
⎛ ( Lc λ ) ⎞ ⎛ ( Lc λ ) ⎞ ⎛ ⎞
然后,将 P⎜ ⎜ 1 I L ⎟ ,P⎜ I L 2 ⎟ ⎟ 发送给 Alice.
⎜ ⎜ ( Lc λ ) ⎟ ⎜ ( Lc λ ) ⎟ ⎟
⎝ ⎝ 1 I R ⎠ ⎝ I R 2 ⎠ ⎠
⎛ ( Lc λ ) ⎞ ⎛ ( L c λ ) ⎞ ⎛ ⎞ ⎛ ( Lc λ ) ⎞ ⎛ ( Lc λ ) ⎞ ⎛ ⎞ ⎞⎛
Step 4:Bob 和 Alice 根据元组 ⎜ P⎜ L L 1 ⎟ ,P⎜ L L 2 ⎟ ⎟ , P⎜ ⎜ L R 1 ⎟ ,P⎜ L R 2 ⎟ ⎟ ⎟⎜ 可以得出两数域相交与
⎜ ⎜ ( Lc λ ) ⎟ ⎜ ( Lc λ ) ⎟ ⎟ ⎜ ⎜ ⎜ ( L c λ ) ⎟ ⎜ ( Lc λ ) ⎟ ⎟ ⎟
⎝ ⎝ R L 1 ⎠ ⎝ R L 2 ⎠ ⎠ ⎝ ⎝ ⎝ R R 1 ⎠ ⎝ R R 2 ⎠ ⎠ ⎠
否(如果元组为((−1,1),(−1,1)),((−1,1),(1,−1)),((1,−1),(−1,1)),((1,−1),(1,−1))中之一,则二者相交).
2. 数理计算的正确性.
a a a a ⎧ − 1, X ≤ 1
(1) 如果 b L ∈dom A ,即 a L <b L <a R ,则有 L ≤ 1, R ≥ 1,所以 L , R 经函数 ()PX = ⎨ 作用后的乘积:
b L b L b L b L ⎩ 1, X > 1
⎛ ⎞ a ⎛ ⎞ a
∂ = P ⎜ L ⋅ P ⎜ R ⎟ = ⎟ − 1 ;
⎝ b L ⎠ ⎝ b L ⎠