我有一個RSA公鑰/私鑰對和密碼。我正在嘗試解碼使用上述密鑰加密的文本。編碼的文本始終是512字符長的字母數字字符串。解碼用RSA編碼的文本
我已經用在SOF問題Decrypt using an RSA public key with PyCrypto
首先我用自己的私鑰這是從PEM文件編碼採用AES-256-CBC提供的代碼嘗試。 這是privkey.pem開始這讓我想到了AES-256加密
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-256-CBC
<rest of the data>
-----END RSA PRIVATE KEY-----
,但我收到以下錯誤消息。
ValueError: PEM encryption format not supported.
所以我問源的私人密鑰沒有AES加密,他們給了我。現在,使用該密鑰解密的工作和解密的文字看起來像下面(我只是顯示一些文本)
b'\x93\n(\x92\x02\x9aF*?\x18"\x19\x12Gn\xc2\<rest of the text>'
這不是我的純文本。我究竟做錯了什麼?有人可以幫我解碼這個文本。
編輯1:
基於以下馬騰的回答,我曾嘗試下面的代碼,但我仍然得到錯誤。
這裏是我的解密
from Crypto.Cipher import PKCS1_OAEP
from Crypto.PublicKey import RSA
import ast
encrypted_text = "39085fc25e<HIDDEN>2fcce845760391ff"
key = RSA.importKey(open("\\path_to_key\\private.der", encoding="utf8").read())
cipher = PKCS1_OAEP.new(key)
message = cipher.decrypt(ast.literal_eval(str(uid)))
代碼,我得到錯誤:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x82 in position 1: invalid start byte
請注意,我有我的私人密鑰轉換從PEM使用下面的代碼becasue使用PEM文件爲DER我是越來越SyntaxError: unexpected EOF while parsing
openssl rsa -in private_key.pem -out private_key.der -outform DER
becasue
我已經投了這個主題,因爲除了填充的想法,根本沒有足夠的信息繼續下去。嘗試使用測試鍵並在此處發佈所需的信息。 –
我不確定你需要什麼額外的信息。我的鍵是用''openssl'''創建的,它們已經被使用了,所以我不能通過重新創建它們來改變它們。我得到了一個public_key.txt,private_key.pem(它是AES-256加密的)和密碼。如何使用python解密使用這些鍵的文本? –
我使用.net c#代碼加密文本,並想使用python解密代碼,但我可以在哪裏獲取RSA.importKey? – Neo