将CRT(中国剩余定理)与RSA结合

  1. 在RSA中的一些运算
  2. 中国剩余定理-特例
  3. 欧拉定理与欧拉公式
  • 使用中国剩余定理来加快RSA的运算速度,使用Zn中数字的CRT表示法,使用N的素因子预先计算出的三个额外值,来更有效的执行四次幂运算。

在RSA中的一些运算

  • 正常的RSA解密,使用私钥(n,d)进行密文解密(或生成签名),不过在运算过程中,我们需要先通过公钥指数e求得私钥指数d,并不如e那么方便,所以可以选择一个值尽可能少的“1”位。
  • 对于k位的模数N,私钥质数也有类似的长度,大约一半是“1”。计算指数的时间与k^3成正比,所以需要其他的计算。
  • 基础解密:m=c^d mod n
  • 1、给定p、q并用p>q预计算几个值
1
2
3
dp=(1/e) mod (p-1)
dq=(1/e) mod (q-1)
qInv=(1/q) mod p
  • 1/e表示e关于phi的逆元,表达式x =(1 / e)mod N也写为x = e -1 mod N,并且x是满足xe≡1(mod N)的任何整数。
  • 使用在Zn中的唯一值x,数字集合{0,1,2,…,n-1}
  • 解密给定的C可以按照下面的步骤
1
2
3
4
m1 = c^dP mod p
m2 = c^dQ mod q
h = qInv.(m1 - m2) mod p
m = m2 + h.q
  • 可以发现,dp,dq,qInv,p,q正好是私钥中的内容。

中国剩余定理-特例

1
2
3
4
定理:令p,q为不同的素数,n=p*q对于任何对(x1,x2),其中0≤x 1 <p和0≤x 2 <q
存在唯一的数x,其中0≤x <n
x 1 = x mod p,
x 2 = x mod q。
  • 任何整数x(0≤x <n)都可以用其CRT表示形式(x 1,x 2)唯一表示。

欧拉定理与欧拉公式

1
2
3
4
5
6
7
8
9
10
11
如果n是一个正整数,并且a与n互质即gcd(a,n)=1,则a^φ(n) ≡ 1 (mod n)
φ(n) 是欧拉函数
欧拉函数是求小于等于n的数中与n互质的数的数目
即欧拉函数是求 (小于n的数 )中 (与n互质的数 )的数目
或者说欧拉函数是求 1到n-1 中 与n互质的数 的数目

如果n是质数
那么1到n-1所有数都是与n互质的,
所以φ(n) = n-1
如果n是合数。。。自己算吧
例如φ(8)=4,因为1,3,5,7均和8互质

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 1259742453@qq.com

💰

×

Help us with donation