【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的便利!

相关推荐
迷路的小绅士11 分钟前
常见网络安全攻击类型深度剖析(四):跨站脚本攻击(XSS)——分类、漏洞利用与前端安全防护
前端·安全·web安全
自由鬼1 小时前
开源漏洞扫描器:OpenVAS
运维·服务器·安全·网络安全·开源·漏洞管理
Python_金钱豹1 小时前
Text2SQL零代码实战!RAGFlow 实现自然语言转 SQL 的终极指南
前端·数据库·sql·安全·ui·langchain·机器人
广东航连科技2 小时前
银行网点款箱交接权限认证开锁与密钥时效双重监控
物联网·安全·银行·精细化管理·锁控·智能锁·款箱
迷路的小绅士2 小时前
网络安全概述:定义、重要性与发展历程
网络·安全·web安全
胡八一4 小时前
如何在 Dialog 中安全初始化 ECharts 并自动监听容器大小变化
前端·安全·echarts
virelin_Y.lin6 小时前
系统与网络安全------弹性交换网络(2)
网络·安全·web安全·链路聚合·lacp·eth-trunk
大小曲奇(´ε` )8 小时前
使用安全继电器的急停电路设计
安全
go_to_hacker9 小时前
安恒web安全春招实战
安全·web安全·网络安全·渗透测试
世界尽头与你13 小时前
【安全扫描器原理】网络扫描算法
网络·安全