簡體   English   中英

使用十進制格式的私鑰解密 RSA 密碼

[英]Decrypt RSA cipher with private key in decimal format

我破解了一個弱 RSA 公鑰。 現在我擁有私鑰d作為 integer。 我以這種方式計算d (python3):

phin = (p-1)*(q-1)

d = gmpy2.invert(e, phin)

其中 p 和 q 是計算模數 N 的因子。

如何使用它來解密給定的加密文件? d轉換為 base64 並包裝時

-----BEGIN PRIVATE KEY-----

-----END PRIVATE KEY-----

周圍,我收到錯誤: Load key "key.txt": invalid format使用命令ssh-keygen -y -e -f key.txt的格式無效

當您使用BEGIN PRIVATE KEY包裝 base64 編碼的值時,您就是在告訴您使用此值的人它是特定格式的。 它不僅僅是數字 d。 您可以使用幾種格式——如果我記得您可以使用 PKCS #1 https://tools.ietf.org/html/rfc3447或 PKCS #8。

例如,讓您的 PKCS 1 格式化的最簡單方法是使用一些加密庫,它可以讓您提供 XML 中的密鑰,並要求它生成 base64 編碼的 DER 或 PEM 值。 例如,在 C# 中有 RSA.FromXmlString(String)。 使用適當的值構建 XML,其中包括您的 d,並讓庫 function 構建 RSA 密鑰,然后要求它為您提供該密鑰的 PEM 格式。 例如,這將為您提供帶有BEGIN PRIVATE KEY的文件,然后您可以進行下一步並使用它來解密您擁有的任何內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM