跳至内容
深圳市捷比信实业有限公司 · 产品选型与采购咨询联系业务人员
低温漂电阻捷比信 · 专业器件主题站

rsa加密算法的安全性分析

1,RSA加密原理:1.数据。计算机中的数据实际上是一个字节字符串。加密后的数据分为一定长度的数据块,每个块都是一个位串。将此位字符串视为由d 2表示的二进制整数。密钥RSA算法是一种非对称算法,因此使用了两个密钥:一个是用于加密的公共密钥。用e表示,一个是私钥,用于解密。由p表示。另外,还需要整数N,它是算法中模运算的基础。通常,为了确保安全性,密钥长度应为1024位或更大。简而言之,这三个数据e,p和N确定了特定的加密和解密活动。与加密数据d,e,p,N相同,这三件事也是整数。 E和N是公开的。 p不向公众开放。 3.加密和解密a)加密c = d ^ e mod N / *以N为模的n次幂,得到c,它是加密数据* / encrypted b)解密d = c ^ p mod N / * p c的幂为幂N,我们得到d,它是原始数据* /4。安全性RSA算法的安全性在于e,p和N是随机生成的。知道e和N,找到p在计算上是不可行的。问题是,当我们使用的软件工具生成这些随机材料时,它们真的是“随机的”吗?如果算法的提供者没有任何后门,或者事先进行了任何准备工作,如果人们看到e和n,则他们可能会得到p。 2. RSA加密算法的描述RSA算法是基于基本数定理的公钥密码系统加密算法。其实现过程是:选择两个大质数p和q,然后计算n = pq,& phi(n)= np-q + 1,然后选择一个正整数e来满足(e,& phi ;(n))= 1,1《 E》Φ(N);然后找到一个正整数D来满足1》 D,关键是。明文消息m满足0〜le; m。例如,取2个质数p = 11,q = 13,并且p与q的乘积为n = p& TImes; q = 143,并计算φ(n)= np-q + 1 = 120 ;选择一个相对于φ(n)素数的数字,例如e = 7,然后选择公钥= n,e = 143,7。对于此e值,欧几里德展开算法可用于计算其逆:d = 103。因为e& TImes; d = 7& TImes; 103 = 721,所以满足e& TImes; dmod z = 1;即建立721 mod 120 = 1。然后,秘密密钥= n,d = 143,103,假设发送者需要发送机密信息(纯文本),m = 85,发送者已经从公共媒体获得了接收者的公开密钥n,e = 143,7,因此发送者计算加密的密文c = me mod n = 857 mod 143 = 123并将其发送到接收器。接收者收到密文c = 123后,使用只有他自己知道的秘密密钥才能计算出m = cd mod n = 123103 mod 143 = 85,因此接收者可以获得发送者m = 85发送给他的真实信息。实现解密。使用RSA加密时,首先将纯文本数字化,然后再加密。在实际应用中,m的长度通常远大于n的长度。因此,在对消息m进行实际加密时,首先将其分为小于n的数据包(使用二进制数,选择小于n的2的最大幂),然后分别对每个组进行加密和解密。例如,如果选择p和q作为100位的质数,则n将具有200位,并且每个数据包的长度应小于200位。但是,为了确保安全,每个数据的长度应尽可能接近n的长度。