GM(Goldwasser-Micali)加密算法
GM(Goldwasser - Micali)概率公钥加密算法,其基于二次剩余难以复合困难性问题
具体过程:
密钥产生:
- 大素数p,q,求出N=p*q
- 任取R,满足
(J()雅可比符号)
- PK(R ,N),SK (p,q)
加密:
1. B将明文转化为二进制数字M=(m1,m2,m3… mk) ∈\{0,1\}
2. 对于每一个mi,都对应选取一个xi ∈\{1,N-1\}
若mi=1 ci= ![R\\times xi^\{2\} mod N][R_times xi_2_ mod N]
若mi=0 ci=![xi^\{2\} mod N][xi_2_ mod N]
3. C =\{c1,c2,c3…ck\} 将这个C发给A
解密:
对于每一个ci 都求![J\\left ( \\frac\{ci\}\{p\} \\right )][J_left _ _frac_ci_p_ _right]与![J\\left ( \\frac\{ci\}\{q\} \\right )][J_left _ _frac_ci_q_ _right]
![J\\left ( \\frac\{ci\}\{p\} \\right )][J_left _ _frac_ci_p_ _right] 与![J\\left ( \\frac\{ci\}\{q\} \\right )][J_left _ _frac_ci_q_ _right],若都=1,mi=0 ,若都=-1,mi=1
最终得到M
具体演示(点击进入全屏):
注:演示中任选R满足的是 是负1
还没有评论,来说两句吧...