Encryption

如何使用公鑰解密已使用 RSA 加密的“.enc”文件?

  • April 7, 2015

在線上解決 CTF 挑戰時,我遇到了需要解密'.enc'使用某人的公鑰加密的文件的情況。相應的公鑰'.pem'文件已提供給我。除了這個,我幾乎解決了所有其他 CTF 挑戰,從那以後它一直困擾著我。我解決了第一部分:我已經能夠解碼一個提示:"The file file.enc could be decrypted with a private key. Using raw algorithm, every 64 bits chunk of data was encrypted at a time. You can do the same thing to decrypt using RSA."

這是我嘗試過的:

線上閱讀許多類似這樣的文章並嘗試解密“.enc”文件:http ://www.czeskis.com/random/openssl-encrypt-file.html

我嘗試了以下解密命令:openssl rsautl -decrypt -in public_key.pem -out key.bin。我得到了這個錯誤:

no keyfile specified
unable to load Private Key

是的,但那是因為沒有向我提供私鑰。如果我嘗試使用 public_key.pem 作為 infile,我會收到以下錯誤:

unable to load Private Key
139914348455592:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: ANY PRIVATE KEY

在 Linux 中以多種方式嘗試了“openssl”工具來嘗試解密文件。

這是壓縮在 tarball 中的 3 個文件,如果有人想分析它們:http ://www.filedropper.com/chaltar

在我放棄這個挑戰之前,有人可以告訴我如何解密“.enc”文件嗎?我已經工作了很長時間並且打破了挑戰的第一部分,現在我覺得我已經很接近了。

事實:

  • 我知道“openssl”工具將用於解決這一挑戰。
  • 加密:RSA
  • 文件:只有三個文件,public_key.pem、file.enc 和一個我解密的隨機文件,它提供了我上面寫的提示。
openssl rsa -pubin -inform PEM -text -noout < public_key.pem
Public-Key: (64 bit)
Modulus: 16513720463601767803 (0xe52c8544a915157b)
Exponent: 65537 (0x10001)

模數足夠小,您可以輕鬆將其分解

找到主要因素後,您可以計算私人指數

獲得私有指數後,將每個 64 位密文塊提高到私有指數 mod 模數。

引用自:https://crypto.stackexchange.com/questions/24792