山东大学信息安全课件第5章数字签名
71页1、第5章 数字签名5.1数字签名l政治、军事、外交、商业以及日常事物经常出现需要签名的场合。签名的作用是核准后认可并且生效。随着信息时代的到来,人们希望能通过网络信息传输对文件、契约、合同、信件、帐单等进行数字签名(DigitalSignature),从而代替面对面的手写签名。实际上数字签名是一种证明签名者身份和所签署内容真实性的一段信息。手写签名与数字签名的区别:手写签名与数字签名的区别:1)手写签名是所签的文件的物理组成部分。数字签名必须与所签文件捆绑在一起2验证手写签名通过与标准签名比较或检查笔迹来实现,伪造签名比较容易。数字签名通过公开的验证(Verification)算法。好的数字签名(Signing)算法应该使得伪造(Forgery)签名十分困难3)手写签名不易复制。数字签名是一个二进制信息,复制十分容易,所以必须防止数字签名重复使用一般,数字签名算法必须满足:l签名者事后不能否认自己的签名l任何他人不能伪造签名l当双方为签名真伪发生争执时,可以由第三方解决争端数字签名算法必须满足的条件数字签名算法必须满足的条件l按目的可以把数字签名分成普通数字签名和特殊目的的数字签名(如不
2、可否认签名、盲签、群签等)。前者由签名算法(DigitalSignatureGenerationAlgorithm)和验证算法(DigitalSignatureVerificationAlgorithm)组成。而后者还需要有附加的部件。l按验证方法可分成:在验证时需要输入被签信息和在验证中自动恢复被签信息两类l按是否使用随机数可分成:确定的和随机的两种签名算法签名算法的分类签名算法的分类1)在在把把被被签签的的数数据据格格式式化化(FormattingData)成成可可签签的的消消息息之之后后,签签名名者者使使用用签签名名算算法法生生成成数数字字签签名名。接接收收者者接接到到数数字字签签名名使使用用验验证证算算法法验验证证签签名名的的真真实实性。最后从消息恢复成为数据性。最后从消息恢复成为数据(RecoveringData).2)在在信信息息安安全全中中,数数字字签签名名有有许许多多应应用用如如认认证证、数数据据完完整整性性和和不不可可否否认认性性。主主要要的的应应用用之之一一是是大大型型网网络络中中的的“公公钥钥证证书书”。所所谓谓证证书书是是由由一一个个可可信信第第三三方方(Tru
3、stedThirdParty,简简称称TTP)把把用用户户身身份份标标识识与与用用户户公公钥钥绑绑在在一一起起的的一一种种手手段段。其其他他用用户户不不需需要要TTP帮助,自己就可以认证一个公钥。帮助,自己就可以认证一个公钥。数字签名的应用数字签名的应用5.2 RSA数字签名数字签名 5.2.1RSA数字签名算法数字签名算法密钥生成密钥生成p,q是两个不同的大素数,n=pq,任取b满足gcd(b,(n)=1。求b模的(n)逆a,即ab=1mod(n)n,b是签名者的RSA公钥,p,q,a是签名者的RSA私钥,数字签名算法数字签名算法:Sigk(x)=xamodn验证签名算法验证签名算法:Verk(x,y)=truex=ykmodn数字签名数字签名验证签名算法验证签名算法 信息发送者除了签名表示对此信息负责外还要求保密传送该信息,可以将消息x和签名用对方公钥加密后传送。过程如下图所示发送者接收者公钥nAbA,公钥nBbB,私钥pAqAaA,私钥pBqBaB计算z=(xaAmodnA)bBmodnB用私钥解密x和z,求出A的签名 和x并验证1)由于RSA签名能自动恢复被加密的消息。上面不必
4、计算和传送。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的组分别进行签名,运算量极大。(可通过使用哈希函数解决)RSARSA签名算法的弱点签名算法的弱点5.2.2 RSA的重新分组问题的重新分组问题前面讲过,通常会把RSA签名经加密后传给对方。对方使用自己的私钥和发送方的公钥可以直接恢复信息。这里需要认真对待模数大小的问题。令A的公钥nA,bA,B的公钥nB,bB且 nAnB 。A加密一个信息传送给B,有可能B不能恢复出原来的消息。例如:A计算(55465219),发送给BB计算出现不能恢复明文的概率为(1)选一个 位
5、的随机素数p;(2)选另一个素数满足,使得解决这个问题的方法有两个。第一个方法是为每个实体生成两组公私钥对,分别用于加密和签名。公钥中的两个模数,加密模数有t+1位,签名模数为t位。显然这个方法要付出空间代价。第二个方法是规定模数的形式,,使出现上述问题的概率减小.具体做法是:,例如k=3,n是12位二进制数取是6位二进制数取q=59.假设 具有上述形式, 是A对x的签名,y 。这时并不能保证B正确解密,只是把不能正确解密的概率降到足够小。这里有两种可能:1)y的最左一位为0,则y的形式必为显然y小于具有这种形式的其它模数。2)y的最左一位为1,因ynA,所以1后面的位全为0。这样的有可能大于对方的模数。但这样的y在整体中只占2-k。当k比较大时(如k=100),这个概率可以忽略不计。5.3改进的改进的Rabin签名算法签名算法 公钥生成公钥生成1)选随机素数p=3mod8,q=7mod8,令n=pq,称n是Williams数。2)n是公钥,私钥d=(n-p-q-5)/8签名算法签名算法1)计算2)计算Jacobi数J=3)当J=1时,对的签名是modn当J=-1时,对的签名是modn
《山东大学信息安全课件第5章数字签名》由会员东***分享,可在线阅读,更多相关《山东大学信息安全课件第5章数字签名》请在金锄头文库上搜索。
幼儿园大班科学活动《智能留言机》课件
幼儿园大班语言绘本阅读《手电筒看见了什么》PPT
幼儿园小班科学《教宝宝认识动物》课件
幼儿园中班语言《灰狼家的小饭桶们》教案
【国家审计报告】审计报告W-06审计处罚决定书
【企业财务管理办法】会计档案管理办法
【员工主动离职-风险防范】劳动争议判决书
【员工被动离职-后续工作】70-070员工违反有关商业秘密的约定可以索赔吗
【员工被动离职-辞退申请】第六节 员工任免通知书
【员工被动离职-后续工作】70-050因员工的原因使服务期无法完成可以索赔吗
企业岗位管理制度12办公室行为规范
企业岗位管理制度30离职人员薪资发放通知单
幼儿园春游活动美丽的公园教案
呼职院电力机车制动机讲义11高速列车和重载列车制动
武理工《运输管理》教案第1章 运输系统
中海大海洋化学讲义02海洋的形成和海水的组成——兼论地球上水的起源、变迁和循环
武理工船舶柴油机习题库及答案04燃油喷射和燃烧
厦大海洋生态学课件07海洋初级生产力
华北理工水声学课件05声波在目标上的反射和散射-1目标强度及常见声纳目标的目标强度的一般特征
武理工船舶结构与设备课件02船体结构与管系-4专用船特殊船体结构特点
2023-08-15 16页
2022-05-12 52页
2022-05-12 81页
2022-05-09 54页
2022-05-09 37页
2022-04-23 24页
2022-04-23 38页
2022-04-21 97页
2022-04-21 42页