RSA加密算法入门

目录

1、概念

2、RSA加密解密的原理

3、安全性

4、成员限制关系


1、概念

随机生成两个互不相等的大素数p和q,p和q是1024bit,pq=n,n的范围是2048bit,取e为65537,φ(n)=(p-1)(q-1),使用e·d ≡ 1 (mod φ(n))得到d,(e, n)为公钥,(d, n)为私钥。

复制代码
加密过程:计算密文 = 明文^e mod n
解密过程:计算明文 = 密文^d mod n

RSA 的私钥 d,本质上是"因数分解信息的压缩表达",d 是"隐藏结构 φ(n)"的代理

2、RSA加密解密的原理

RSA 依赖一个定理(欧拉定理):a^φ(n)≡1(mod n),这意味着:在 mod n 的世界中:"指数"是周期性的周期 = φ(n)

所以如果:e·d ≡ 1 (mod φ(n)),那么:m^(e·d) ≡ m^(1 + kφ(n)) ≡ m

φ(n) 是"指数的模空间",a·b ≡ 1 (mod m)是"乘法空间的逆元"

一个很直观的小例子(n=7)

取 a=3:

3^1 ≡ 3

3^2 ≡ 2

3^3 ≡ 6

3^4 ≡ 4

3^5 ≡ 5

3^6 ≡ 1 ← 回到 1

周期 = 6 = φ(7)

3、安全性

e · d ≡ 1 (mod φ(n))

也就是:

d = e⁻¹ mod φ(n)

关键卡点:你不知道 φ(n)

φ(n) = (p-1)(q-1)

所以问题等价于:

已知 (n, e),求 d

⇔ 求 φ(n)

⇔ 分解 n

a. 知道 p 和 q,根据φ(n)=(p−1)(q−1)直接得出φ(n),进而快速得出d

b.知道n,没有 p 和 q,就无法得到 φ(n)

c.知道φ(n),φ(n) = (p-1)(q-1),pq=n,联立方程组,直接算出p和q,知道 φ(n) ≈ 已经破了 RSA

4、成员限制关系

参数 是否是质数

p 必须是质数

q 必须是质数

n 不是质数(是合数)

e 不要求是质数(通常选特殊数)

d 不是质数

p 和 q ------必须是质数,且 p ≠ q

e 和 φ(n) 互质

相关推荐
Y5neKO13 天前
某国赛CTF密码学题目Writeup:RSA
密码学·ctf·rsa
半路_出家ren2 个月前
5.RSA和AES加密(python)
服务器·网络·python·https·aes·rsa·加密算法
三两肉3 个月前
HTTPS ECDHE 握手全解析
网络协议·https·github·rsa·echde
闲人不梦卿3 个月前
RSA握手过程
rsa
三两肉3 个月前
深入理解 HTTPS RSA 握手:从原理到流程的完整解析
网络协议·http·https·rsa·tls四次握手
bkspiderx4 个月前
安全扫描问题:目标主机支持RSA密钥交换(风险分析与解决方案)
安全·rsa·交换·密钥交换·目标主机支持rsa密钥交换·rsa密钥交换·rsa密钥
openHiTLS密码开源社区5 个月前
椭圆曲线密码学的效率核心:单标量与多标量乘法详解
区块链·零知识证明·rsa·隐私保护·ecc·多标量·单标量
openHiTLS密码开源社区5 个月前
非对称密码算法分析技术深度剖析及未来展望
rsa·非对称算法·后量子密码·grover算法·shor算法·单向函数
openHiTLS密码开源社区6 个月前
【密码学实战】openHiTLS genrsa命令行:RSA私钥生成专属工具
aes·rsa·sm2·私钥·sm4·密钥轮换