首页 > 其他分享 >Rsa1

Rsa1

时间:2024-05-07 22:37:24浏览次数:13  
标签:13 33 31 解密 分解 Rsa1 mod

一、

1、两个大素数:p ,q(验证13是否是素数则输入13,显示结果为13=13 ,可见13是素数)

2、模数n: n=p*q(分解出素数p和q的网站http://www.factordb.com/)
3、计算欧拉函数φ(n) = (p-1)*(q-1)
4、公钥指数:e 与f(n)互质,且与1<e<f(n) a mod b =1 一般为65537
5、私钥指数 d 满足 e * d = 1 (mod(f(n)))
6、公钥={n , e} 私钥 = {n , e}

二、加解密过程(参考https://blog.csdn.net/qq_42880719/article/details/114179370)

 

1、加密:cipher (密文)= plain ^ e mod n

加密过程举例
首先取一个明文m,假设为4
选择不相等的质数,假设q=3,p=11
计算n = 33
计算φ(n) = (3-1)(11-1) = 20
选择一个整数e,假设e=3
计算d ≡ e⁻¹ ≡ 7 mod 20,即d = 7
计算mᵉ ≡ c mod n,即 64 ≡ 31 mod 33,得到c = 31

此时得到密文c = 31,公钥对(33,3),私钥对(33,7)

2、解密:plain (明文)= cipher ^d mod n

解密过程举例
假设只知道n=33,c=31,e=3
首先分解n,n=11·3
其次计算欧拉数φ(n) = (11-1)·(3-1)=20
计算模反元素d,d = (20+1)/ 3 =7
解密 cᵈ ≡ m mod n,即31⁷ ≡ m mod 33,计算得到 m = 4

三、RSA整数分解

假设我们从题目获得了公钥(N,e)和待解密的密文c,由RSA的加解密过程,我们知道,如果要解密密文,我们要得到e的逆元d,而d是要我们去求解的。

分解n的解法:

(1)若n较小,直接分解

(2)factordb      

若n较大,在线分解:http://www.factordb.com/

将n=1455925529734358105461406532259911790807347616464991065301847分解为1201147059438530786835365194567和1212112637077862917192191913841

(3)yafu : p和q相差较大或相差较小时,可快速分解

下载地址:yafu download | SourceForge.net

(4) GGNFS和MSIEVE分解 :可使用RsaCtfTool

一般题目中,若是可分解,使用yafu或者msieve即可分解。

(5)特殊情况下,可使用相关脚本解

参考https://bbs.kanxue.com/thread-266648.htm

 

标签:13,33,31,解密,分解,Rsa1,mod
From: https://www.cnblogs.com/Lyjia-n/p/18105943

相关文章