JOJ平台下RSA题目

参考文章:http://bobao.360.cn/learning/detail/3058.html

Easy RSA

N 和 e是给定的,先吧密文c(0xdc2eeeb2782c)转换成int,然后用

http://factordb.com/分解N(或者用yafu解开,命令factor(N)),然后用modinv和pow解出m,然后转换成ascii码,可以用在线网站解出来,或者python2.7下,

print '33613559'.decode('hex'),python3.5下,

codecs.decode('33613559','hex_codec')

Medium RSA

文件解压以后得到pubkey.pem和flag.enc,用openssl命令opensslrsa -inpubkey.pem-pubin -text -modulus,得到N和E,吧N先转换成10进制,然后用yafu分解出p和q,然后用rsatool直接生成私钥,然后再用openssl解密,openssl rsautl -decrypt -inkey pkey -in ../mediumRSA/flag.enc -out out.txt,得到flag。

ps:http://linux.51yip.com/search/openssl openssl命令用法

Extremely hard RSA

Openssl解码pubkey.pem,发现E=3,选择用低加密指数攻击,将flag.enc hex出16进制码,再转10进制,然后用脚本爆破,


得到十进制数组,再转16进制转ascii码。得出flag。

hard RSA

Openssl跑出来看到e=2,查了很久资料发现是radin加密,然后找到脚本破解


very hard RSA

文件夹下有两个flag文件,然后判断出来是共膜攻击,也就是密文相同用不同的e加密,


感觉写的不是很详细(周五为什么不能偷懒那),等有时间专门总结一下RSA相关知识。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容