为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

RSA数字签名

2012-09-12 5页 doc 136KB 50阅读

用户头像

is_147424

暂无简介

举报
RSA数字签名 密码学与信息安全技术实验报告 实验编号:实验七 实验名称:RSA算法数字签名 实验内容描述: 通过实验实例了解RSA算法数字签名。 实验设计与实现: 1、RSA数字签名体制: RSA算法中数字签名技术实际上是通过一个Hash函数来实现的。数字签名的特点是它代表了文件的特征,文件如果发生改变,数字签名的值也将发生变化。不同的文件将得到不同的数字签名。一个最简单的Hash函数是把文件的二进制码相累加,取最后的若干位。Hash函数对发送数据的双方都是公开的。   只有加入数字签名及验证才能真正实现在公...
RSA数字签名
密码学与信息安全技术实验报告 实验编号:实验七 实验名称:RSA算法数字签名 实验描述: 通过实验实例了解RSA算法数字签名。 实验与实现: 1、RSA数字签名体制: RSA算法中数字签名技术实际上是通过一个Hash函数来实现的。数字签名的特点是它代了文件的特征,文件如果发生改变,数字签名的值也将发生变化。不同的文件将得到不同的数字签名。一个最简单的Hash函数是把文件的二进制码相累加,取最后的若干位。Hash函数对发送数据的双方都是公开的。   只有加入数字签名及验证才能真正实现在公开网络上的安全传输。加入数字签名和验证的文件传输过程如下:   (1) 发送方首先用Hash函数从原文得到数字签名,然后采用公开密钥体系用发达方的私有密钥对数字签名进行加密,并把加密后的数字签名附加在要发送的原文后面;   (2) 发送一方选择一个秘密密钥对文件进行加密,并把加密后的文件通过网络传输到接收方;   (3) 发送方用接收方的公开密钥对密秘密钥进行加密,并通过网络把加密后的秘密密钥传输到接收方;   (4) 接受方使用自己的私有密钥对密钥信息进行解密,得到秘密密钥的明文;   (5) 接收方用秘密密钥对文件进行解密,得到经过加密的数字签名;   (6) 接收方用发送方的公开密钥对数字签名进行解密,得到数字签名的明文;   (7) 接收方用得到的明文和Hash函数重新计算数字签名,并与解密后的数字签名进行对比。如果两个数字签名是相同的,说明文件在传输过程中没有被破坏。 如果第三方冒充发送方发出了一个文件,因为接收方在对数字签名进行解密时使用的是发送方的公开密钥,只要第三方不知道发送方的私有密钥,解密出来的数字签名和经过计算的数字签名必然是不相同的。这就提供了一个安全的确认发送方身份的方法。 2、RSA数字签名体制的基本算法表述: (1)体制参数   假设用户甲使用如下的参数:   大合数n=p1*p2,其中p1和p2是大素数;   用户甲将公开模数n和公钥e,而将p1,p2与私钥d严格保密。 (2)签名算法   假设用户甲对数据M∈Zn进行签名,计算   S=Sig(M)=Md mod n 并将S作为用户甲对数据M的数字签名附在数据M后。 (3)验证算法          假设用户乙需要验证用户甲对数据M的签名S,用户乙计算M’=Sdmod n并判断 M’是否等于M,如果M’=M,则说明签名S确实是用户甲所产生的,否则,签名S可能是由攻击者伪造生成的。 完整地,验证算法可以表述如下:         Ver(M,S)=(M=Sdmod n) true:false         如果(M=Sdmod n )为真,则表达式的值为true,否则表达式的值为false。 (4)实现过程 RSA数字签名体制的实现过程如图1所示。发送方用户甲发送报文M时,先用自己的私钥d1对报文进行加密,产生密文d1(M);再用接收方用户乙的公钥e2进行第二次加密,产生密文e2(d1(M))。接收方用户乙收到密文后,先用自己的私钥d2进行第一次解密,还原出密文d1(M),即d2(e2(d1(M)))=d1(M);再用发送方用户甲的公钥e1进行第二次解密,得到明文P,即e1(d1(M))=M。 RSA数字签名体制必须同时使用收。发双方的私钥d1和公钥e1才能获得原文(明文),也才能完成发送方的身份认证和接收方无法伪造或篡改报文的功能。因为只有发送方才有其私钥d1,所以,只要能用其公钥e1还原,发送方就无法否认所发送的报文。 3、实验过程: 流程: 1. 甲方构建密钥对儿,将公钥公布给乙方,将私钥保留。 2. 甲方使用私钥加密数据,然后用私钥对加密后的数据签名,发送给乙方签名以及加密后的数据;乙方使用公钥、签名来验证待解密数据是否有效,如果有效使用公钥对数据解密。 3. 乙方使用公钥加密数据,向甲方发送经过加密后的数据;甲方获得加密数据,通过私钥解密。 · 用私钥生成数字签名: · 校验数字签名: 实验结果: 实验结论: RSA算法数字签名是个加密的过程,数字签名验证是个解密的过程。使用公钥加密、私钥解密,完成了乙方到甲方的一次数据传递,通过私钥加密、公钥解密,同时通过私钥签名、公钥验证签名,完成了一次甲方到乙方的数据传递与验证,两次数据传递完成一整套的数据交互!。
/
本文档为【RSA数字签名】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索