对RSA的攻击

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chengqiuming/article/details/82729044

一 对RSA的攻击

1 密码破译者知道的信息

密文:可以通过窃听来获取。

数E和N:公钥是公开的信息,因此密码破译者知道E和N。 

2 密码破译者不知道的信息

明文:需要破译的内容。

数D:私钥至少D是不知道的信息。

其他:密码破译者不知道生成密钥对时所使用的p、q和L

二 通过密文来求明文

RSA的加密过程如下。

密文=明文的E次方 mod N

由于密码破译者知道密文、E和N,那么有没有一种方法能够用E次方 mod N之后的密文求出原来的明文呢?如果没有 mod

N的话,即:

密文=明文的E次方

通过密文求明文的难度不大,因为这可以被看作是一个求对数的问题。

但是,加上 mod N之后,求明文就变成了求离散对数的问题,这是非常困难的,因为人类还没有发现求离散对数的高效算法。

三 通过暴力破解来找出D

只要知道数D,就能够对密文进行解密。因此,可以逐一尝试有可能作为D的数字来破译RSA,也就是暴力破解法。暴力破解的难度会随着D的长度增加而变大,当D足够长时,就不可能在现实的时间内通过暴力破解找出数D。

现在,RSA中所使用的p和q的长度都在1024比特以上,N的长度为2048比特以上。由于E和D的长度可以和N差不多,因此要找出D,就需要进行2048比特以上的暴力破解。要在这样的长度下用暴力破解找出D是极其困难的。

猜你喜欢

转载自blog.csdn.net/chengqiuming/article/details/82729044
RSA
今日推荐