如果您无法下载资料,请参考说明:
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)=truex=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的签名y1y2l对长的信息签名要分成若干长为[log2n]的组分别进行签名,运算量极大。(可通过使用哈希函数解决)5.2.2RSA的重新分组问题取q=59.5.3改进的Rabin签名算法2)使用改进的Rabin签名算法,我们从来不会对Jacobi数为-1的信息v签名。否则,。而v2是模n的二次剩余,。又,所以不成立。由此可推断或q,即导致分解n。例如:要签名的信息m=12,对信息m的Rabin签名。下面验证签名。计算,因