首先计算n和p(n)的值:

n = p * q = 5 * 11 = 55 p(n) = (p - 1) * (q - 1) = 4 * 10 = 40

接下来选取加密指数e,使得e满足远小于p(n)且与p(n)互素。在这里,e = 7是一个可行的选择。

然后计算解密指数d的值,使得 (d * e) % p(n) = 1。可以使用扩展欧几里得算法来计算d的值。在这里,计算得到d = 23。

接下来进行消息m的分组加密。

将消息m = 531953拆分为多个小于n的整数: m1 = 53 m2 = 19 m3 = 53

对每个分组mi进行加密: c1 = m1^e % n = 53^7 % 55 = 6 c2 = m2^e % n = 19^7 % 55 = 12 c3 = m3^e % n = 53^7 % 55 = 6

加密后的密文为c = 6 12 6。

最后利用密文恢复明文。

对每个密文ci进行解密: m1 = c1^d % n = 6^23 % 55 = 53 m2 = c2^d % n = 12^23 % 55 = 19 m3 = c3^d % n = 6^23 % 55 = 53

解密后的明文为m = 53 19 53。

所以,密文6 12 6经过解密后恢复为明文53 19 53。

RSA加密解密算法示例:从选取密钥到恢复明文

原文地址: https://www.cveoy.top/t/topic/hlmr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录