rsa基础

本文详细介绍了RSA算法的基础,包括RSA的概述、加密过程、欧拉定理的数学证明以及求逆元的方法。同时,文章通过例题展示了如何进行模数分解、小指数明文爆破,并探讨了在CTF比赛中的实际应用。
摘要由CSDN通过智能技术生成

rsa基础

rsa概述

m 明⽂
c 密⽂
p、q 素数
e 公钥
d 私钥
n=p*q

rsa算法核心公式
加密
c = ( m e ) m o d n c=(m^e)modn c=(me)modn
解密
m = ( c d ) m o d n m=(c^d)modn m=(cd)modn

rsa加密具体过程

1.任意找出两个整数q和p(q,p互素),计算n
n = p × q n=p\times q n=p×q
2.计算欧拉函数
φ ( n ) = ( p − 1 ) × ( q − 1 ) \varphi(n)=(p-1)\times(q-1) φ(n)=(p1)×(q1)
3.公钥e
1 < e < φ ( n ) 1<e<\varphi(n) 1<e<φ(n)

( e , φ ( n ) ) = 1 (e,\varphi(n))=1 (e,φ(n))=1

4.私钥d
e d ≡ 1   m o d   φ ( n ) ed\equiv1\ mod\ \varphi(n) ed1 mod φ(n)

rsa的数学证明

证明欧拉定理

欧拉函数:
在数论,对正整数n,欧拉函数是小于等于n的正整数中与n互质的数的数目。

完全余数集合:
定义小于n且和n互质的数构成的集合为Zn,称呼这个集合为n的完全余数集合。

根据定义显然有
∣ Z n ∣ = φ ( n ) |Zn|=\varphi(n) Zn=φ(n)
当n满足条件
n = p × q n=p\times q n=p×q
推得
Z n = { 1 , 2 , 3 ⋯   , n − 1 } − { p , 2 p ⋯   , ( q − 1 ) p } − { q , 2 q ⋯   , ( p − 1 ) q } Zn=\{1,2,3\cdots,n-1\}-\{p,2p\cdots,(q-1)p\}-\{q,2q\cdots,(p-1)q\} Zn={ 1,2,3,n1}{ p,2p,(q1)p}{ q,2q,(p1)q}
可得
φ ( n ) = n − 1 − ( q − 1 ) − ( p − 1 ) = ( p − 1 ) × ( q − 1 ) \varphi(n)=n-1-(q-1)-(p-1)=(p-1)\times(q-1) φ(n)=n1(q1)(p1)=(p1)×(q1)
欧拉定理:
a φ ( n ) ≡ 1   m o d   n a^{\varphi(n)}\equiv1\ mod\ n aφ(n)1 mod n
证明


Z n = { X 1 , X 2 ⋯   , X n } S = { a X 1 m o d   n , a X 2 m o d   n ⋯   , a X φ ( n ) m o d } Zn=\{X_{1},X_{2}\cdots,X_{n}\}\\ S=\{aX_{1}mod\ n,aX_{2}mod\ n\cdots,aX_{\varphi(n)}mod\} Zn={ X1,X2,Xn}S={ aX1mod n,aX2mod n,aXφ(n)mod}
因为
( a , n ) = 1 ( X i , n ) = 1 ( 1 ≤ i ≤ φ ( n ) ) (a,n)=1\\ (X_{i},n)=1(1\leq i \leq \varphi(n))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值