简单介绍RSA加密算法

RSA是一种非对称加密算法,其安全性基于大数因子分解的困难性。算法流程包括选取两个大素数p、q,计算n=pq和欧拉函数t=(p-1)(q-1),选择公钥e满足1<e<t且与t互质,计算d为e的模t逆元,形成加密解密对(e,n)和(d,n)。公钥用于加密,私钥用于解密,确保信息安全。
摘要由CSDN通过智能技术生成

RSA算法简介

RSA算法基于一个广泛用做密码学基石的数论问题——因子分解问题:给一个任意的整数n(通常很大,并且越大越难分解),在合理的时间内分解出它的素因子是很困难的。通常困难程度随着n的银子个数减少而增加,最难的情形就是n是两个大素数的乘积。而RSA算法的安全性就基于这个最难的情形。

加密过程

a. 首先设出p,q两个非常大的素数(通常在十进制下有几百位),而n=pq,则可以得知,通过p,q求n是简单的,而通过n来求p,q则是非常困难的。
b. 计算t=φ(n)=(p-1)
(q-1),其中φ(n)是欧拉函数。
c. 设e满足条件:e∈Ζ(整数),1<e<t,gcd(e,t)=1,且e在ctf题目中也常被取为65535(2^16-1)。
d. 计算e的逆元d:d=e^-1(mod t)
e. 则这样取得的e和d存在性质:
Med≡Mde≡Mt+1≡M1≡M(mod t)
该同余式成立的基础是欧拉定理第三推论(这个之后再补):t是n的欧拉函数值,从e和d的构造有ed≡1(mod t)。欧拉定理的第三推论告诉我们Mde≡M1(mod n)
则有加解密过程为:
C≡Me(mod n) 其中C是密文,M是明文
恢复明文为:
M≡Cd≡Med(mod n)
其中e和n是可以对外公开的这样他可以完成加密,但是难以对截获的密文进行解密。
公钥为(e,n),私钥为(d,n)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值