- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[实验十数字签名实验
实验七 数字签名实验
【实验内容】
通过运算器工具完成RSA-PKCS签名算法、DSA签名算法和ECC签名算法的签名和验证;对RSA签名算法、ELGAMAL签名算法、 DSA签名算法和ECC签名算法进行扩展实验;对RSA签名生成、RSA签名验证、DSA参数生成、DSA密钥生成、DSA签名生成、DSA签名验证、ECC密钥生成、ECC签名生成、ECC签名验证等进行算法跟踪
【实验原理】
数字签名是针对数字文档的一种签名确认方法,目的是对数字对象的合法性、真实性进行标记,并提供签名者的承诺。数字签名应具有与数字对象一一对应的关系,即签名的精确性;数字签名应基于签名者的唯一特征,从而确定签名的不可伪造性和不可否认性,即签名的唯一性;数字签名应具有时间特征,从而防止签名的重复使用,即签名的时效性。数字签名的执行方式分为直接方式和可仲裁方式。
RSA-PKCS签名算法
公钥密码标准(PKCS)最初是为推进公钥密码系统的互操作性,由RSA实验室与工业界、学术界和政府代表合作开发的。在RSA带领下,PKCS的研究随着时间不断发展,它涉及了不断发展的PKI格式标准、算法和应用程序接口。PKCS标准提供了基本的数据格式定义和算法定义,它们实际是今天所有PKI实现的基础。其中PKCS#1定义了RSA公钥函数的基本格式标准,特别是数字签名;它定义了数字签名如何计算,包括待签名数据和签名本身的格式;也定义了RSA公/私钥的语法。
RSA-PKCS签名算法基于RSA算法,被用于签署X.509/PEM证书、CRL、PKCS #6扩展证书以及其它使用数字签名的对象,例如X.401消息环。
RSA-PKCS签名算法的签名过程包括4个步骤:消息散列,数据编码,RSA加密和8位字节串到位串的转换;签名过程的输入是一个8位字节串M(即消息)和签名者的私人密钥;其输出是一个位串S(即签名);验证过程包括四个步骤:位串到字节串的转换,RSA解密,数据解码,消息散列和比较;验证过程的输入是字节串M(即消息)、签名者的公钥、位串S(即签名);其输出是验证成功或失败的标记号。
RSA-PKCS签名算法的具体算法描述可参见RFC-2313:PKCS#1 RSAv1.5加密标准。
ELGAMAL签名算法
选p是一个大素数,p-1有大素数因子,a是一个模p的本原元,将p和a公开。用户随机地选择一个整数x作为自己的秘密的解密钥,,计算,取y为自己的公开的加密钥。公开参数p和a。
产生签名
设用户A要对明文消息m加签名,,其签名过程如下:
①用户A随机地选择一个整数k,,且(k,p-1)=1;
②计算
③计算
④取(r,s)作为m的签名,并以m,r,s的形式发送给用户B。
验证签名
用户B验证是否成立,若成立则签名为真,否则签名为假。
DSA签名算法
数字签名标准(Digital Signature Standard,DSS)是由美国国家标准技术研究所(NIST)于1994年正式公布的联邦信息处理标准FIPS PUB 186。DSS目前新增了基于RSA和ECC的数字签名算法,但是最初只支持DSA(Digital Signature Algorithm)数字签名算法,该算法是ElGamal签名算法的改进,安全性基于计算离散对数的难度。
DSA算法由美国国家安全局NSA指导设计,用来提供唯一的数字签名函数;它虽然是一种公钥技术,但是只能用于数字签名。DSA中规定了使用安全散列算法(SHA-1),将消息生成固定长度的散列值,与一随机数k一起作为签名函数的输入;签名函数还需使用发送方的密钥x和供所有用户使用的全局公开密钥分量(p,q,g),产生的两个输出(r,s)即为消息的签名。接收方收到消息后再产生出消息的散列值,将散列值与收到签名中的s一起输入验证函数;验证函数还需输入全局公开密钥分量(p,q,g)和发送方的公钥y,产生的输出若与收到的签名中的r相同,则验证了签名是有效的。DSA的具体算法描述如下:
DSA的参数
全局公开密钥分量(p,q,g),可以为一组用户公用:
P是一个满足2L-1p2L的大素数,其中512≤L≤1024且L是64的倍数;
q是p-1的素因子,满足2159q2160,即q的比特长度为160;
,其中h是一个整数,满足1hp-1,且。
用户私钥x
x是随机或伪随机整数,满足0xq。
用户公钥y
用户公钥是由私钥计算而来的,给定x计算y容易,但给定y计算x是离散对数问题,被认为在计算上是安全的。
用户为待签名消息选取的秘密数k
k为随机或伪随机的整数,要求0kq;每次签名都要重新生成k。
签名过程
发送方使用随机选取的秘密值k,计算
其中:H(M)是使用基于SHA-1生成的M的散列值;(r,s)就是基于散列值对消息M的数字签名;k-1是k模q的乘法逆,且0k-1
您可能关注的文档
最近下载
- 高中数学竞赛真题分类汇编 专题7 解析几何(学生版+解析版50题).docx
- 第23课 全民族浴血奋战与抗日战争的胜利(教学课件)高中历史人教统编版中外历史纲要上(共42张PPT张).pptx VIP
- 传统民居与乡土建筑.pptx VIP
- 离散数学(第二版)最全课后习题答案详解(新).pdf
- JGJ∕T 233-2011 水泥土配合比设计规程.pdf VIP
- 2024年8月11日平凉市直遴选笔试真题及答案解析.doc VIP
- 华南师范大学2020-2021学年第2学期《教育心理学》期末考试试卷及标准答案.docx
- 膜片钳常见问题汇总(人人都会膜片钳).doc
- 2024年急诊科优质护理服务工作总结.docx VIP
- 2024学年八年级上学期期末化学试题(含答案) (1) .pdf VIP
文档评论(0)