攻防世界Normal_RSA


題目信息

aCx9JA.png

提供的文件

flag.enc 看后綴enc,分析是一個通過openssl加密后生成的文件

pubkey.pem 應該是一個公鑰信息文件

打開pubkey.pem文件

這里我使用kali系統,因為kali系統自帶了openssl

  1. 先進入openssl
  2. 輸入 rsa -pubin -text -modulus -in warmup -in pubkey.pem 查看信息

aCxFQP.png

Exponent:指的是RSA中的e

Modulus:指的是N,即pq相乘

對Modulus的處理

先將16進制轉為10進制,接着在線質因數分解

aCx0Qx.png

現在已得到的信息:
p=275127860351348928173285174381581152299
q=319576316814478949870590164193048041239
e=65537

生成private.pem私鑰文件

這里使用個工具 rsatool.py 可以通過p、q、e計算d,並生成pem文件

不過里面需要一些模塊,對應的通過pip進行安裝即可

由於kali2020內置了python2和3,這里我使用了如下命令:

python3 -m pip install gmpy

安裝好需要的模塊后輸入命令:

python rsatool.py -f PEM -o private.pem -p 275127860351348928173285174381581152299 -q 319576316814478949870590164193048041239 -e 65537

即可生成private.pem文件

解密flag.enc文件

輸入命令:

openssl rsautl -decrypt -in flag.enc -inkey private.pem

即可解密出


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM