RSA加密算法基本计算

本文详细解释了RSA算法的关键步骤,包括选择大质数p和q,计算n和m,确定互质的e和满足模逆条件的d,以及如何使用公钥(n,e)进行加密和私钥(n,d)进行解密,以187和23为例进行实例说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一级标题

第一步,取两个大质数p,q;
第二步,计算 n = p*q;
第三步,计算 m = (p-1)*(q-1);
第四步,找一个合适的数e,e要满足以下条件:
1)0<e<m;
2) e要与m互质;
第五步,找一个合适的数d,d要满足以下条件:e*d%m = 1(意思是e乘以d除以m余数为1),等效过来即为e*d = k*m+1,其中k = 1, 2 ,3…
那么公钥就是(n,e),私钥就为(n,d)

举个例子:
取p = 11, q = 17
则n = p*q = 11*17 = 187,m = (p-1)*(q-1) = 160
取e = 23(e与m互质)
求d,很明显d = (k*m+1)/e = (160+1)/23 = 7
那么公钥为(187,23),私钥为(187,7)
假如需要用这个密钥对进行加解密,明文为8,
则加密过程 8^7 %187 = 134,即计算8的7次方对187取余,得到的134即为加密后的密文
解密过程 134^23 % 187 = 8,即计算密文134的23次方对187取余,得到的8即为原始的明文

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值