预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共19页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

5.1数字签名手写签名与数字签名的区别:一般,数字签名算法必须满足: l签名者事后不能否认自己的签名 l任何他人不能伪造签名 l当双方为签名真伪发生争执时,可以由第 三方解决争端 l按目的可以把数字签名分成普通数字签名和特殊目的的数字签名(如不可否认签名、盲签、群签等)。前者由签名算法(DigitalSignatureGenerationAlgorithm)和验证算法(DigitalSignatureVerificationAlgorithm)组成。而后者还需要有附加的部件。 l按验证方法可分成:在验证时需要输入被签信息和在验证中自动恢复被签信息两类 l按是否使用随机数可分成:确定的和随机的两种签名算法 1)在把被签的数据格式化(FormattingData)成可签的消息之后,签名者使用签名算法生成数字签名。接收者接到数字签名使用验证算法验证签名的真实性。最后从消息恢复成为数据(RecoveringData). 2)在信息安全中,数字签名有许多应用如认证、数据完整性和不可否认性。主要的应用之一是大型网络中的“公钥证书”。所谓证书是由一个可信第三方(TrustedThirdParty,简称TTP)把用户身份标识与用户公钥绑在一起的一种手段。其他用户不需要TTP帮助,自己就可以认证一个公钥。 5.2RSA数字签名数字签名算法:Sigk(x)=xamodn 验证签名算法:Verk(x,y)=true x=ykmodn 信息发送者除了签名表示对此信息负责外还要求保密传送 该信息,可以将消息x和签名用对方公钥加密后传送。过程 如下图所示 发送者接收者 公钥nAbA,公钥nBbB, 私钥pAqAaA,私钥pBqBaB 计算z=(xaAmodnA)bBmodnB 用私钥解密x’和z,求出A的签名 和x并验证 1)由于RSA签名能自动恢复被加密的消息。上面不必计算和传送。 2)这里的顺序是十分重要的。如果先加密再签名,则可能受到伪装攻击。假设发送者发送z=(xbBmodnB)aAmodnA。敌手C截获z,利用A的公钥和自己的私钥在不知道明文的情况下计算自己对密文的签 名 发给接收者B。B将会认为消息是C发送过来的。 l任何人都可以伪造某签名者对于随机信息x的签名y,。其方法是先选y,用某签名者的公钥n,b计算x=ybmodn,y就是某签名者对信息x的签名 l若敌手掌握某签名者对信息x1,x2的签名分别是y1,y2,则可以伪造x1x2的签名y1y2 l对长的信息签名要分成若干长为[log2n]的组分别进行签名,运算量极大。(可通过使用哈希函数解决) 5.2.2RSA的重新分组问题取q=59.5.3改进的Rabin签名算法2)使用改进的Rabin签名算法,我们从来不会对 Jacobi数为-1的信息v签名。否则, 。而v2是模n的二次剩余, 。又,所以 不成立。由此可推断 或q,即导致分解n。例如: 要签名的信息m=12, 对信息m的Rabin签名。 下面验证签名。计算,因