1、RSA算法的理解:
生成两对密钥(公钥和私钥),一对给发送者(A)使用,一对给接收者(B)使用,加解密需要使用同一对密钥,因此,A需要使用B的公钥进行加密发送消息,B拿到消息后,才可以使用B自己的秘钥进行解密,这样传送的数据是安全的,但C也可能拿以公钥发送消息,所以B可能不知道这个消息是A还是C发的,所以就有了签名的概念。
2、加密,签名的作用:
加密:由第1点得到,B无法准确无法区分发送者的身份。
签名:A自己的密钥对,先把公钥给到B,然后A使用A自己的私钥生成签名,然后B就使用A的公钥进行校验签名。
# 模块安装:pip install pycryptodome
import base64
from Crypto import Random
from Crypto.Hash import SHA256
from Crypto.Cipher import PKCS1_v1_5 as Cipher_PKC
from Crypto.Signature import PKCS1_v1_5 as Signature_PKC
from Crypto.PublicKey import RSA
class HandleRSA():
def create_rsa_key(self):
# 创建RSA密钥 #
# 步骤说明:
# 1、从 Crypto.PublicKey 包中导入 RSA,创建一个密码
# 2、生成 1024/2048 位的 RSA 密钥
# 3、调用 RSA 密钥实例的 exportKey 方法,传入密码、使用的 PKCS 标准以及加密方案这三个参数。
# 4、将私钥写入磁盘的文件。
# 5、调用 publickey 和 exportKey 方法生成公钥,写入磁盘上的文件。
# 生成秘钥对实例对象:1024是秘钥的长度
random_gen

本文介绍了RSA算法的工作原理及其在加密、签名中的应用。通过Python代码展示了如何生成RSA密钥对,使用公钥加密、私钥解密,以及私钥签名和公钥验签的过程。同时,还演示了AES加密和解密的实现,以增强数据的安全性。
最低0.47元/天 解锁文章
1168

被折叠的 条评论
为什么被折叠?



