欢迎访问宙启技术站
智能推送

使用Python的Crypto.Cipher.PKCS1_OAEP生成RSA密钥对

发布时间:2023-12-11 01:47:54

使用Python的Crypto库提供了一个简单的接口来生成RSA密钥对。下面是一个使用Crypto.Cipher.PKCS1_OAEP生成RSA密钥对的例子:

'''

from Crypto.Cipher import PKCS1_OAEP

from Crypto.PublicKey import RSA

# 使用Crypto库生成RSA密钥对

key = RSA.generate(2048)

# 获取生成的公钥和私钥

private_key = key.export_key()

public_key = key.publickey().export_key()

# 实例化PKCS1_OAEP对象

cipher_rsa = PKCS1_OAEP.new(key)

# 加密明文

message = b"Hello, World!"

ciphertext = cipher_rsa.encrypt(message)

# 解密密文

decrypted_message = cipher_rsa.decrypt(ciphertext)

# 打印加密前和解密后的消息

print("加密前的消息:", message)

print("解密后的消息:", decrypted_message.decode())

# 打印生成的公钥和私钥

print("私钥:", private_key.decode())

print("公钥:", public_key.decode())

'''

上述代码首先导入了必要的包,然后使用RSA.generate函数生成2048位的RSA密钥对。接着,通过export_key方法获取生成的私钥和公钥。

然后,我们实例化了PKCS1_OAEP对象,并将生成的私钥作为参数传入。该对象将用于加密和解密操作。

接下来,我们使用该对象的encrypt方法来加密一个明文消息"Hello, World!",并将加密后的结果存储到ciphertext变量中。

最后,我们使用该对象的decrypt方法对密文进行解密,并将解密后的消息存储到decrypted_message变量中。

最后,在打印出加密前和解密后的消息之后,我们分别打印出生成的私钥和公钥。

以上就是使用Python的Crypto.Cipher.PKCS1_OAEP生成RSA密钥对的示例。这个示例演示了如何生成RSA密钥对、加密和解密消息,并打印出结果。此外,还展示了如何导出生成的私钥和公钥。

请注意,在实际使用中,私钥应该加密保存,并妥善保管,以确保安全性。同时,公钥可以公开使用,以便他人对消息进行加密。