密码学4

N=pq

x=a(mod p)

x=b(mod q)

y=(aqq^-1+bpp^-1)(modN)

ymodq=x?

ymod p=x?

p,q长度约为512bits,N长度为1024bits

加密都为M^e mod N,解密是C^dmod N

现变为->M^e mod p和M^e mod q,加快运算

期末考试:用中国剩余定理 解密

攻击

1:N=pq分解p,q,进而确定fai(N) 从而确定d  即大整数分解

2. 直接确定fai(N) 找到d

3.直接确定d

大整数分解

pollard rho

pollard p-1

Elliptic curve method

quadratic sieve 不用看

number field sieve 不用看 数域塞当前最好,可分解1023bits

前三个都不高效,无法对付高于500bits的整数分解

快排大于20个元素不能用了,要用冒泡和插入排序

作业题 1024bit大整数分解,不需要工具,自己分解,p和q过于接近,对N开根号,往左右跑,找pq

作业题9.2 9.3 9.4

知道e,d,N,利用e,d对N进行分解

k是群阶的倍数

ed-1=k,算出k

任取g ,g^k=1

(g^(k/2))^2=1 mod N  即开根号

中国剩余定理告诉我们

任何一个数开根号有4个解,1,-1,x,-x满足x mod p=1 xmod q=-1

开根号得到的数不是1或者-1就可以

找到x 计算gcd(x,N)

若一群人使用公共模数,不需要私钥,知道公钥,就可以根据e1,e2公钥,N,解出M

RSA key的选择

利用CCA对教科书RSA攻击

利用GMP

调用解密机O

PKCS1 V2.0 -OAEP

加密:同样的M,得到M^+ 不同的rand,不同的M1,得到不同的M0,得到不同的C

解密:解密出来的M^+,末尾不是0100..0,即最后的填充是不是某一种比特模式,若不是则为假报文,无法解密。

阻挡了CCA的攻击

如何从群论看RSA

中国剩余定理加速RSQ

填充padding 对抗CCA攻击

原根是数论的概念

如果a是素数p的原根

则amodp,a^2 mod p,...,a^(p-1)mod p是不同的,并且包含1到p-1的整数的某种排列

对任意素数p都有原根

任取一个p,存在一个g,g是p的原根

等同于任取一个p,Z_p*是循环群:对于任意g,{g^1,g^2 。。。g^(p-1)}=Z_p*

Z_n*,n=pq,不是循环群,所以跑的阶没那么大,不是很好,安全性不强

发布了27 篇原创文章 · 获赞 20 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/z2876563/article/details/102675826
今日推荐