RSA公钥加密原理python代码实现
时间: 2024-11-12 22:16:42 浏览: 3
python实现公钥加密RSA算法工程文件
RSA(Rivest-Shamir-Adleman)是一种非对称加密算法,它使用一对密钥,即公钥和私钥来进行数据加密和解密。公钥可以公开分享,而私钥必须保密。下面是一个简单的Python代码示例,展示了如何使用rsa库实现RSA公钥加密:
```python
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_OAEP
# 生成一对RSA密钥对
key = RSA.generate(2048) # 2048位的密钥通常被认为是足够安全的
# 获取公钥和私钥
public_key = key.publickey()
private_key = key
# 对明文消息进行公钥加密
message = b"Hello, world!" # 将字符串转为字节,因为RSA加密需要输入字节
cipher_rsa = PKCS1_OAEP.new(public_key)
encrypted_text = cipher_rsa.encrypt(message)
print("Public Key (PEM format):")
print(key.publickey().export_key())
print("Encrypted message:")
print(encrypted_text)
# 对密文进行私钥解密
decrypted_text = private_key.decrypt(encrypted_text)
print("Decrypted message:")
print(decrypted_text.decode()) # 转回字符串形式展示
```
注意,这个例子使用了`pycryptodome`库,你需要先安装它(`pip install pycryptodome`)。同时,由于涉及敏感操作,实际应用中私钥的操作应更谨慎,并且在生产环境中通常会存储在安全的地方。
阅读全文