欢迎来到天天文库
浏览记录
ID:29734460
大小:19.03 KB
页数:8页
时间:2018-12-22
《elgamal数字签名实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划elgamal数字签名实验报告 数字签名实验 【实验内容】 通过运算器工具完成RSA-PKCS签名算法、DSA签名算法和ECC签名算法的签名和验证 对RSA签名算法、ELGAMAL签名算法、DSA签名算法和ECC签名算法进行扩展实验 对RSA签名生成、RSA签名验证、DSA参数生成、DSA密钥生成、DSA签名生成、DSA签名验证、ECC密钥生成、ECC签名生成、ECC签名验证等进行算法跟踪 【实验原理】 数字签名是针对数字文档的一种签名确认方法,目的是对
2、数字对象的合法性、真实性进行标记,并提供签名者的承诺。数字签名应具有与数字对象一一对应的关系,即签名的精确性;数字签名应基于签名者的唯一特征,从而确定签名的不可伪造性和不可否认性,即签名的唯一性;数字签名应具有时间特征,从而防止签名的重复使用,即签名的时效性。数字签名的执行方式分为直接方式和可仲裁方式。 一、RSA-PKCS签名算法目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 公钥密
3、码标准(PKCS)最初是为推进公钥密码系统的互操作性,由RSA实验室与工业界、学术界和政府代表合作开发的。在RSA带领下,PKCS的研究随着时间不断发展,它涉及了不断发展的PKI格式标准、算法和应用程序接口。PKCS标准提供了基本的数据格式定义和算法定义,它们实际是今天所有PKI实现的基础。其中PKCS#1定义了RSA公钥函数的基本格式标准,特别是数字签名;它定义了数字签名如何计算,包括待签名数据和签名本身的格式;也定义了RSA公/私钥的语法。 RSA-PKCS签名算法基于RSA算法,被用于签署/PEM证书、CRL、PKCS#6扩展证书以及其它使用数字签名的对象,例如消息环。
4、 RSA-PKCS签名算法的签名过程包括4个步骤:消息散列,数据编码,RSA加密和8位字节串到位串的转换;签名过程的输入是一个8位字节串M(即消息)和签名者的私人密钥;其输出是一个位串S(即签名);验证过程包括四个步骤:位串到字节串的转换,RSA解密,数据解码,消息散列和比较;验证过程的输入是字节串M(即消息)、签名者的公钥、位串S(即签名);其输出是验证成功或失败的标记号。 RSA-PKCS签名算法的具体算法描述可参见RFC-2313:PKCS#1加密标准。 二、ELGAMAL签名算法目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其
5、的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 选p是一个大素数,p-1有大素数因子,a是一个模p的本原元,将p和a公开。用户随机地选择一个整数x作为自己的秘密的解密钥, 为自己的公开的加密钥。公开参数p和a。 (1)产生签名 设用户A要对明文消息m加签名,,其签名过程如下:,计算,取y ①用户A随机地选择一个整数k, ②计算 ③计算,且(k,p-1)=1; ④取(r,s)作为m的签名,并以的形式发送给用户B。 (2)验证签名 用户B验证是否成立,若成立
6、则签名为真,否则签名为假。 三、DSA签名算法 数字签名标准(DigitalSignatureStandard,DSS)是由美国国家标准技术研究所(NIST)于1994年正式公布的联邦信息处理标准FIPSPUB186。DSS目前新增了基于RSA和ECC的数字签名算法,但是最初只支持DSA(DigitalSignatureAlgorithm)数字签名算法,该算法是ElGamal签名算法的改进,安全性基于计算离散对数的难度。目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障
7、停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 DSA算法由美国国家安全局NSA指导设计,用来提供唯一的数字签名函数;它虽然是一种公钥技术,但是只能用于数字签名。DSA中规定了使用安全散列算法(SHA-1),将消息生成固定长度的散列值,与一随机数k一起作为签名函数的输入;签名函数还需使用发送方的密钥x和供所有用户使用的全局公开密钥分量(p,q,g),产生的两个输出(r,s)即为消息的签名。接收方收到消息后再产生出消息的散列值,将散列值与收到签名中的s一起
此文档下载收益归作者所有