- 0
- 0
- 约1.54千字
- 约 12页
- 2026-01-15 发布于广东
- 举报
教学实论讲授任务部署实践操作分析讨论04撰写报告采用“五步法”组织实施
实践目的实践目的:(1)RSA数字签名算法(2)掌握RSA签名消息的方法和步骤
实践原理1.数字签名数字签名(DigitalSignature):以电子化形式,使用密码方法,在数字消息中嵌入一个秘密信息,以验证这个秘密信息是否正确来达到识别的目的,其实质是一种密码变换。
实践原理1.数字签名数字签名要起到认证和识别的目的,至少应具备以下特征:(1)不可否认性:签名者事后不能否认自己的签名。(2)可验证性:接收者能验证签名,而任何其他人都不能伪造签名。(3)可仲裁性:当双方发生争执时,可以由一个公正的第三方出面解决争端。
实践原理2.Crypto.PublicKey包算法发送方接收方加密公钥私钥签名私钥公钥
实践原理3.Crypto.Signature包签名算法有两个:PKCS1_PSS,PKCS1_v1_5步骤:实例化签名对象,如Crypto.Signature.
pkcs1_15.new(),第一个参数为私钥实例化hash算法调用sign方法进行签名
实践原理3.Crypto.Signature包验证签名算法有两个:PKCSs1_PSS,PKCS1_v1_5步骤:实例化签名对象,如Crypto.Signature.
pkcs1_15.new(),第一个参数为公钥实例化hash算法调用verfiy方法进行验证签名
实践原理3.Crypto.Cipher包签名算法有两个:PKCSs1_PSS,PKCS1_v1_5fromCrypto.CipherimportPKCS1_OAEP
fromCrypto.PublicKeyimportRSA
key=RSA.importKey(open(‘private.der).read())
cipher=PKCS1_OAEP.new(key)
ciphertext=cipher.encrypt(c)
实践原理4.示例代码#-*-coding:utf-8-*-
fromCrypto.SignatureimportPKCS1_PSS
fromCrypto.PublicKeyimportRSA
fromCrypto.HashimportSHA256
#产生密钥
key=RSA.generate(2048)
rsa_sign=PKCS1_PSS.new(key)
#产生hash
m=这是我方的消息.encode()
hash_obj=SHA256.new()
hash_obj.update(m)
#签名
ifrsa_sign.can_sign():
sign_results=rsa_sign.sign(hash_obj)
#验证签名
rsa_veri=PKCS1_PSS.new(key.publickey())
result=rsa_veri.verify(hash_obj,sign_results)
ifresult:
print(签名验证成功)
else:
print(签名验证失败)
实践要求实践要求:请大家模拟收发双方Alice和Bob,分别为他们产生公私钥Alice使用自己的私钥,签名一个文件,并一起发送给BobBob用Alice的公钥验证签名信息
实践报告实践报告要素:实践目的实践原理实践要求实践步骤实践结果(提交源代码)
实践操作(约80分钟)不同参数密钥的产生;公钥加密函数;公钥解密函数。消息的预处理与编码
您可能关注的文档
最近下载
- 《七年级下册语文《木兰诗》拓展比较阅读》.docx VIP
- 《化妆品安全技术规范》(2015年版).pdf
- 手把手教你更换汽车匙钥电池.doc VIP
- 税金及利润自动测算表.xls VIP
- 新高考数学一轮复习讲义 第44讲 直线与双曲线(原卷版).doc VIP
- 脑卒中患者的康复护理康复患者病人脑卒中患者的康复护理脑卒中患者脑卒中病人患者康复的脑卒中康复ppt课件.ppt VIP
- 活性炭纤维填料生物滤器硝化功能研究:从微环境构建到效能优化.docx VIP
- 信息传输仿真:卫星通信系统仿真_(7).卫星通信网络架构.docx
- 电子科技大学毕业设计论文.pdf VIP
- 前列腺等离子电切术护理查房.pptx VIP
原创力文档

文档评论(0)