RSA加解密过程详解

RSA加解密过程详解

RSA加密是一种非对称加密,由一对密钥来完成加解密过程,分别为公钥和私钥。

RSA的加密过程如下:

(1)A生成一对密钥(公钥和私钥),私钥不公开,A自己保留。公钥为公开的,任何人可以获取。

(2)A传递自己的公钥给B,B用A的公钥对消息进行加密。

(3)A接收到B加密的消息,利用A自己的私钥对消息进行解密。

在这个过程中,只有2次传递过程,第一次是A传递公钥给B,第二次是B传递加密消息给A,即使都被敌方截获,也没有危险性,因为只有A的私钥才能对消息进行解密,防止了消息内容的泄露。

RSA的安全基于大数分解的难度。

首先我们先介绍一个概念:
素数:质数,只有两个正因数(1和自己)的自然数。
互质数:互素数,“公约数只有1的两个数,叫做互质数。”两个质数一定是互质数;一个质数如果不能整除另一个合数,这两个数为互质数;1不是质数也不是合数;相邻的两个自然数互质;相邻的两个奇数互质;大数是质数的两个数互质;小数是质数,大数不是小数的倍数的两个数互质;两个数都是合数,小数所有的质因数,都不是大数的约数,则这两个数互质。

求逆元:
求13模35的逆元
35=2x13+9 9=1x35-2x13
13=1x9+4 4=1x13-1x9=1x13-1x(1x35-2x13)
=-1x35+3x13
9=2x4+1 1=1x9-2x4
=1x35-2x13-2x(-1x35+3x13)
=3x35-8x13
13模35的逆元为(-8)mod35=27

5模26的逆元
26=5x5+1 1=1x26-5x5
5模26的逆元为(-5)mod26=21

11模26的逆元
26=2x11+4 4=1x26-2x11
11=2x4+3 3=1x11-2x(1x26-2x11)
=5x11-2x26
4=1x3+1 1=1x(1x26-2x11)-1x(5x11-2x26)
=3x26-7x11
11模26的逆元为(-7)mod26=19

3模220的逆元
220=73x3+1 1=1x220-73x3

3模220的逆元为(-73)mod220=147

给大家举个例子:
假如p=11,q=23,加密密钥e=3,求解密密钥以及明文165对应的密文。

n=pq=11x23=253
x=(p-1)(q-1)=10x22=220
显然gcd(3,220)=1
求解密密钥,解密密钥为3模220的逆元,即147
密文=165^3mod253=110

对于密文110,明文=110^147mod253=165

下面有详细的解题过程哦:
计算x^r mod n的快速算法:
1)a=x,b=r,c=1
2)如果b=0,则输出结果c,结束
3)如果b mod 2!=0,则转到第五步
4)b=b/2,a=(axa)mod n,转第三步
5)b=b-1,c=(cxa)mod n,转第二步

过程在这里插入图片描述

  • 2
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值