python编程实现DES与RSA加密算法
时间: 2024-10-27 15:06:44 浏览: 14
Python3非对称加密算法RSA实例详解
在Python中,你可以使用`pycryptodome`库来实现DES(Data Encryption Standard)和RSA(Rivest-Shamir-Adleman)这两种常见的加密算法。
**DES(数据加密标准)**:
DES是一种块加密算法,它将明文分成64位的数据块,然后使用56位密钥进行加密。Python通过`Crypto.Cipher.DES`模块来操作DES。首先,你需要生成一个DES密码对象,然后设置模式(如ECB、CBC等),接着对输入数据进行加密或解密:
```python
from Crypto.Cipher import DES
key = b'your_des_key' # 8字节长度的密钥
cipher = DES.new(key, DES.MODE_ECB) # 使用ECB模式
ciphertext = cipher.encrypt(b'plaintext') # 加密
decrypted_text = cipher.decrypt(ciphertext) # 解密
```
**RSA(公钥加密算法)**:
RSA是一种非对称加密算法,涉及到两个密钥:公钥和私钥。公钥用于加密,私钥用于解密。Python中的`Crypto.PublicKey.RSA`模块提供了RSA的支持:
```python
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_OAEP
# 生成RSA密钥对
key = RSA.generate(2048)
# 公钥用于加密,私钥用于解密
public_key = key.publickey()
private_key = key
# 对数据进行RSA加密
cipher_rsa = PKCS1_OAEP.new(public_key)
encrypted_data = cipher_rsa.encrypt(b'plaintext')
# 对数据进行RSA解密
cipher_rsa_dec = PKCS1_OAEP.new(private_key)
decrypted_data = cipher_rsa_dec.decrypt(encrypted_data)
```
阅读全文