前期曾尝试用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'


1917

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



