Python实现RSA信息加密及身份签名验签

前期曾尝试用python RSA库,但是rsa.newkeys方法已经不能使用,因此本程序采用了Python Crypto库实现RSA信息加密功能,并进行身份签名验签 

# -*- coding: utf-8 -*-
# coding: utf-8
"""
本程序实现两部分内容:
1.实现RSA加密通信双方公私钥生成,并实现发起方Alice使用接收方Bob公钥加密发送数据,Bob接收后使用自身私钥解密数据
2.实现对Bob身份的验证,Bob使用自身私钥进行签名,Alice收到后使用Bob公钥进行解密验签
"""

from Crypto import Random
from Crypto.Hash import SHA
from Crypto.Cipher import PKCS1_v1_5 as Cipher_pkcs1_v1_5
from Crypto.Signature import PKCS1_v1_5 as Signature_pkcs1_v1_5
from Crypto.PublicKey import RSA
import base64

"""实现RSA通信双方公私钥生成,并实现接收方公钥加密,接收方私钥解密功能"""
random_generator = Random.new().read
rsa = RSA.generate(1024, random_generator)
# 生成Alice的公钥和私钥
private_pem = rsa.exportKey()
public_pem = rsa.publickey().exportKey()
with open('key/alice_private.pem', 'wb') as f:
    f.write(private_pem)
with open('key/alice_public.pem', 'wb') as f:
    f.write(public_pem)

# 生成Bob的公钥和私钥
private_pem = rsa.exportKey()
public_pem = rsa.publickey().exportKey()
with open('key/bob_private.pem'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值