PythonでRSA暗号化と復号化を実装する方法は何ですか?

Pythonで、RSA暗号化および復号化を実装するためにrsaライブラリを使用することができます。

最初に、RSAライブラリがインストールされていることを確認してください。以下のコマンドを使用してインストールできます:

pip install rsa

次に、RSA暗号の暗号化と復号の実装方法について個別に紹介します。

RSA暗号化

import rsa

# 生成RSA公私钥对
(pubkey, privkey) = rsa.newkeys(2048)

# 将公私钥保存到文件
with open('public.pem', 'w+') as f:
    f.write(pubkey.save_pkcs1().decode())
    
with open('private.pem', 'w+') as f:
    f.write(privkey.save_pkcs1().decode())

# 加载公私钥
with open('public.pem', 'r') as f:
    pubkey = rsa.PublicKey.load_pkcs1(f.read().encode())

with open('private.pem', 'r') as f:
    privkey = rsa.PrivateKey.load_pkcs1(f.read().encode())

# 加密
message = 'Hello World!'
crypto = rsa.encrypt(message.encode(), pubkey)

# 输出加密后的结果
print(crypto)

上記のコードでは、まず2048ビットのRSA鍵ペアを生成し、ファイルに保存します。その後、公私鍵をロードし、公開鍵を使用して平文を暗号化し、暗号化された結果を得ます。

RSA暗号の複合化

import rsa

# 加载私钥
with open('private.pem', 'r') as f:
    privkey = rsa.PrivateKey.load_pkcs1(f.read().encode())

# 解密
message = rsa.decrypt(crypto, privkey).decode()

# 输出解密后的结果
print(message)

前述のコードでは、生成した秘密鍵を読み込み、その秘密鍵を使用して暗号文を解読し、解読した平文を得ます。

注意:実際に使用する際には、暗号文と公私鍵を安全な場所に保存し、認可されたユーザーのみが秘密鍵にアクセスできるようにする必要があります。

bannerAds