RSA原理和加解密过程

本文详细介绍了RSA算法的原理,包括选取素数p和q,计算模n和欧拉函数Φ(n),选择公钥e并计算私钥d,以及加密和解密的具体计算过程。通过实例展示了如何将明文88加密成密文11,并成功解密回原文88,揭示了RSA算法的强大和安全性。

1.先两个素数 p和q 这里选p=17   q=11
2.求模n = pq = 17*11=187
3.欧拉函数 Φ(n)=(17-1)*(10-1) = 160
4.任意选一个素数e与187 互素 ,这里选e = 7
5.计算乘法逆元d  用Euclid展转相除, ed=1(mod Φ(n))   使得  7*d mod 160 = 1 
5.1求d具体步骤
 扩展欧几里得算法求乘法逆元
 A(i)=B(i-1);A3=φ(n)=160 和B3=e=7,
 

                                                                                                   借用康同学的图,仅说明计算方式

 

本文应该是这样的

 商                                 B=A-B*Q
 q      A1    A2    A3    B1    B2    B3
 -       1       0    160     0      1       7
 22    0       1       7       1     -22    6
 1       1      -6      6      -1    23      1

 算到B3=1为止   最后一行B2=23就是d

6.公钥:PU (e,n)  {7,187}
7.私钥:PR (d,n)  {23,187}

8.以下是加解密计算过程:
8.1明文M=88
8.2密文C = 88^7 mod 187   

8.3加密计算过程:
 7 分为   1 2 4
 88^1 mod 187  =  88
 88^2 mod 187  =  77
 88^4 mod 187  =  59969536 mod 187 = 132
 
8.4密文C =88*77*132  mod 187  = 894432 mod 187   = 11

9解密计算过程
9.1M = 11^23  mod 187
 23 分为 1 2 4 8 8

 11^1 mod 187  =11
 11^2 mod 187  =121
 11^4 mod 187   =14641 mod 187  =55
 11^8 mod 187   =214358881 mod 187 =33
 11^8 mod 187   =214358881 mod 187 =33

9.2明文M = 11*121*55*33*33 mod 187 =7970245 mod 187   = 88

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值