【Crypto】RSA

文章目录

  • 题目
  • 步骤
    • [1.计算 𝑛](#1.计算 𝑛)
    • [2.计算欧拉函数 𝜙(𝑛)](#2.计算欧拉函数 𝜙(𝑛))
    • [3. 扩展欧几里得算法求逆元 𝑑](#3. 扩展欧几里得算法求逆元 𝑑)
  • 解题感悟

题目


p=473398607161

q=4511491

e=17

求d

步骤

1.计算 𝑛

公式:n=p×q

n=473398607161×4511491=2135733555619387051

2.计算欧拉函数 𝜙(𝑛)

公式:𝜙(𝑛)=(p−1)×(q−1)

𝜙(𝑛)=(473398607161−1)×(4511491−1)=2135733082216268400

3. 扩展欧几里得算法求逆元 𝑑

d×e≡1(mod𝜙(𝑛))

意思是在模 𝜙(𝑛)的运算下,𝑑和𝑒是互为乘法逆元的。也就是说𝑑是𝑒的逆元,使得𝑒乘以𝑑后对𝜙(𝑛) 取模得到 1

直接用python进行计算

python 复制代码
from sympy import mod_inverse

# 给定值
e = 17
phi_n = 2135732641062828400

# 计算 d (e 在模 phi_n 下的乘法逆元)
d = mod_inverse(e, phi_n)
print(d)  # 输出应为 125631357777427553

其实直接可以所有计算都交给python

python 复制代码
from sympy import mod_inverse
p = 473398607161
q = 4511491
e = 17
phi_n = (p - 1) * (q - 1)
d = mod_inverse(e, phi_n)
print(d)

解题感悟

手撕这道题的话需要用到:扩展欧几里得算法,欧拉函数,模运算,逆元的求解等...感受到了python的便利!

相关推荐
独行soc3 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍06-基于子查询的SQL注入(Subquery-Based SQL Injection)
数据库·sql·安全·web安全·漏洞挖掘·hw
独行soc4 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍08-基于时间延迟的SQL注入(Time-Based SQL Injection)
数据库·sql·安全·渗透测试·漏洞挖掘
Clockwiseee5 小时前
php伪协议
windows·安全·web安全·网络安全
黑客Ash6 小时前
安全算法基础(一)
算法·安全
云云3216 小时前
搭建云手机平台的技术要求?
服务器·线性代数·安全·智能手机·矩阵
云云3216 小时前
云手机有哪些用途?云手机选择推荐
服务器·线性代数·安全·智能手机·矩阵
xcLeigh6 小时前
网络安全 | 防火墙的工作原理及配置指南
安全·web安全
白乐天_n7 小时前
腾讯游戏安全移动赛题Tencent2016A
安全·游戏
光路科技8 小时前
八大网络安全策略:如何防范物联网(IoT)设备带来的安全风险
物联网·安全·web安全
saynaihe8 小时前
安全地使用 Docker 和 Systemctl 部署 Kafka 的综合指南
运维·安全·docker·容器·kafka