BUUCTF rsa

📅 2026/7/8 2:05:57 👁️ 阅读次数 📝 编程学习
BUUCTF rsa

考点:RSA

记事本打开文件pub.key,用RSA公私钥分解 Exponent、Modulus,Rsa公私钥指数、系数(模数)分解--查错网得到模数和公钥指数

方法二:先安装OpenSSLWindows版Win32/Win64 OpenSSL安装器 - Shining Light Productions,并在环境变量中配置

查看模数和公钥

将模数C0332C5C64AE47182F6C1C876D42336910545A58F7EEFEFC0BCAAF5AF341CCDD转为十进制86934482296048119190666062003494800588905656017203025617216654058378322103517,用网站factordb.com得到两个大素数p,q

p=285960468890451637935629440372639283459

q=304008741604601924494328155975272418463

安装rsa库和gmpy2库

import gmpy2 import rsa n=86934482296048119190666062003494800588905656017203025617216654058378322103517 p=285960468890451637935629440372639283459 q=304008741604601924494328155975272418463 e=65537 phi=(p-1)*(q-1) d=gmpy2.invert(e,phi) privkey = rsa.PrivateKey(n, e, d, p, q) with open("D:\\BUUCTF\\output\\flag.enc", "rb+") as file: text = file.read() message = rsa.decrypt(text,privkey) print(message)

flag{decrypt_256}