私が理解している限りでは、私が望むように、信頼性やプライバシーを確保するために RSA を使用できるはずです。私の場合、信頼性を確保したいので、秘密鍵でデータを暗号化し、誰でも公開鍵で復号化できるようにしています。データは実際には秘密ではありませんが、公開 (および秘密) キーの所有者によって作成されたことを保証する必要があります。
PyCrypto を使用して復号化しようとすると、PyCryptoからNo private keyエラーが発生します。コードは次のとおりです。
def _decrypt_rsa(decrypt_key_file, cipher_text):
from Crypto.PublicKey import RSA
from base64 import b64decode
key = open(decrypt_key_file, "r").read()
rsakey = RSA.importKey(key)
raw_cipher_data = b64decode(cipher_text)
decrypted = rsakey.decrypt(raw_cipher_data)
return decrypted
公開鍵ファイル (OpenSSH 形式) へのパスを使用して呼び出しています。暗号化されたデータは私が生成したものではなく、Python ではなく PHP で作成されたものです。PHP には、openssl_public_decrypt
このデータを簡単に復号化する関数があります。
PyCryptoで公開鍵を使用して復号化することはまったく可能ですか?