Rabin密码体制

Rabin密码体制是对RSA的一种修正,他有一下两个特点:

 1、它不是以一一对映的单项陷门函数为基础的,对同一密文可能有两个以上对应的明文。

2、破译该体制等价于对大整数的分解

RSA中选取的公开钥e满足1 < e <  Φ(n),且gcd(e,Φ(n))= 1。Rabin密码体制则取 e = 2。


一、密钥的产生

    随机选择两个大素数p,q,满足p≡q≡3 mod 4,即这两个素数形式为4k + 3;计算n = p X q.

    n为公钥,p,q为私钥

二、加密

                                            c≡m^2 mod n

        其中m是明文分组,c是对应的密文分组

三、解密

    解密就是求c摸n的平方根,即解x^2 ≡ c mod n,该方程等价于方程组:

                                                x^2 ≡ c mod p

                                                x^2 ≡ c mod q

    由于p≡q≡3 mod 4,所以可以解出每个方程有两个解:

                                                x ≡ y mod p , x ≡ -y mod p

                                                ≡ z mod q , x ≡ -z mod q

    两两组合可得4个同余方程组:

                                            1、

                                                      ≡ y mod p 

                                                      x ≡ z mod q 

                                            2、

                                                      x ≡ y mod p 

                                                      x ≡ -z mod q

                                            3、

                                                      x ≡ -y mod p

                                                      x ≡ z mod q 

                                            4、

                                                       x ≡ -y mod p

                                                       x ≡ -z mod q


中国剩余定理可解出每一个方程组的解,共四个,即每一密文对应的明文不唯一。

为有效确定明文一般在m中加入某些代表性信息,如:发送者身份号、接受者身份号、时间、日期等






猜你喜欢

转载自blog.csdn.net/zsy_snake/article/details/80787173