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

相关推荐
漏洞文库-Web安全12 分钟前
CTFHub-RCE漏洞wp
android·安全·web安全·网络安全·ctf·ctfhub
卓豪终端管理1 小时前
多云时代,终端管理如何破局?
安全
Mintopia1 小时前
🧠 AI驱动的B端服务架构猜想
人工智能·安全·架构
蚁巡信息巡查系统2 小时前
政务新媒体监测平台有哪些方面内容?
安全·内容运营
神秘的土鸡2 小时前
openEuler 安全加固与性能实测: SELinux,防火墙等多维防护实践
网络·安全·apache·openeuler
世界尽头与你2 小时前
CVE-2024-35178_ Jupyter Server 安全漏洞
安全·jupyter
玩具猴_wjh3 小时前
快手(安全方向)面试
安全·面试·职场和发展
古城小栈3 小时前
前端安全进阶:有效防止页面被调试、数据泄露
前端·安全·状态模式
爱喝旺仔的旺旺3 小时前
【无标题】第二届全国网络安全行业赛—电子取证初赛(第一批)
安全·web安全
我的offer在哪里3 小时前
如何查看和修改 MySQL 底层文件(分「查看」「修改」维度,严格区分安全 / 危险操作)
mysql·安全·adb