密码学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,不是循环群,所以跑的阶没那么大,不是很好,安全性不强

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值