共模攻击
假设 有一条信息m,用公钥加密信息(使用了相同的模数n):
可以利用密钥d1,d2来解密:
此时如果有一个攻击者,得到了密文c1
、c2
,因为公钥公开,而模数相同,攻击者姐可以破解密文获得信息。
此时已知信息:
c1
, c2
, e1
, e2
, n
求出m。
接下来就到了高数时间。
e1
,e2
互质
则有
这里涉及到欧几里德扩展算法,可以看我另一篇文章: 欧几里德算法及扩展算法 因为
所以
即
所以
即
得证,可求出m。
注意: 从前面的式子
e1*s1 + e2*s2 = 1
可以知道,s1
、s2
中有一个为负数,而负数次幂运算,比如这里求c2
的s2
次幂,需要先计算c2的模反元素c2r
,然后再求c2r
的-s2
次幂。
最后更新于