[AFCTF2018]可怜的RSA

本文介绍了AFCTF2018比赛中一道关于RSA加密的题目,详细阐述了如何从public.key文件中提取n和e的值,接着利用yafu库对n进行因数分解得到p和q,进一步计算私钥d,最后利用私钥解密Base64编码的flag.enc,成功获取flag。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[AFCTF2018]可怜的RSA

下载附件打开一看,熟悉的题型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-12wxb9ev-1626100647782)(C:\Users\86183\Desktop\ZERO\2ero\WP\BUUCTF\Crypto[AFCTF2018]可怜的RSA\image-20210712134429231-1626068670888.png)]

先从public.key中获取n,en,e的值

from Crypto.PublicKey import RSA
f = open('public.key', 'rb').read()
pub = RSA.importKey(f)
n = pub.n
e = pub.e
print(n, '\n', e)

运行得到n,e

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GfJsmDeA-1626100647785)(C:\Users\86183\Desktop\ZERO\2ero\WP\BUUCTF\Crypto[AFCTF2018]可怜的RSA\image-20210712134829501-1626068911350.png)]

n = 79832181757332818552764610761349592984614744432279135328398999801627880283610900361281249973175805069916210179560506497075132524902086881120372213626641879468491936860976686933630869673826972619938321951599146744807653301076026577949579618331502776303983485566046485431039541708467141408260220098592761245010678592347501894176269580510459729633673468068467144199744
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值