RSA加密解密

本文详细介绍了RSA加密算法的原理,包括密钥生成、加密解密过程,并通过实例展示了如何选取大素数、计算加密指数e和解密指数d,以及大数模幂乘算法的应用。此外,还提到了在实际操作中可能遇到的问题及其解决方案。
摘要由CSDN通过智能技术生成

RSA加密解密原理思路:

RSA加密算法是一种典型的非对称加密算法,它基于大数因式分解数学难题,它也是应用最广泛的非对称加密算法。它的原理较为简单,只需几个步骤就可以完成消息的加密传递:

(1)A方在本地构建密钥对,公钥和私钥;

(2)A方将产生的公钥发送给B方;

(3)B向A发送数据时,通过公钥进行加密,A接收到数据后通过私钥进行解密,完成一次通信。

反之,B也另外构建一套公钥和私钥,把公钥发给A,用于A向B发送数据。

RSA加密解密算法描述:

RSA公钥密码体制描述如下:

(1)选取两个互异的大素数p,q;

(2)计算模数n=pq,欧拉函数:φ(n)=(p-1)(q-1);

(3)选择加密指数e,满足以下两个要求:1<e<φ(n),gcd(e,φ(n))=1

(4)计算解密指数d,d满足de % φ(n) = 1。p,q,φ(n),d是保密的,丢弃p,q,φ(n),只保留d,则n,d为私钥;n,e为公钥

(5)加密变换:对明文m,1<m<n(若m>n,把明文分成若干组,每个分组对应的十进制数小于n),加密后密文为c=m^e(mod n)

(6)解密变换:对密文c,1<c<n,解密后的明文为m=c^d(mod n)。

RSA举例:

(1)随机选取两个不相等的质数p=61,q=53

(2)模数n=pq=61×53=3233

(3)欧拉函数φ(n)=60×52=3120

(4)随机选取一个整数e,条件是1<e<φ(n),且e与φ(n)互质,假设e=17

(5)计算e对于φ(n)的模逆元素d。模逆元素是指一个整数d,可以使得ed被φ(n)除的余数为1。即ed-1=kφ(n)。于是,找到模逆元素d,实质就是求解二元一次方程:ex-φ(n)y=1。已知e=17,φ(n)=3120,可得17x-3120y=1。求解这个式子要用到欧几里得算法(即辗转相除法),解法如下:

(a)该式子可表示成:17d-3120k=1(其中d,k为整数)

(b)将3120对17取模得到的余数9代替3120,则变为17d-9k=1;

(c)同理,将17对9取模得到的余数8代替17,则变为8d-9k=1;

(d)同理,将9对8取模得到的余数1替换9,变为8d-k=1;

当k的系数为1时,令d=1,代入(d)式,得k=7;

将k=7代入(c),得d=8;

将d=8代入(b),得k=15;

将k=15代入(a)ÿ

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值