欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第3章2数字签名.ppt

    • 资源ID:18489320       资源大小:375.50KB        全文页数:50页
    • 资源格式: PPT        下载积分:9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第3章2数字签名.ppt

    3.2 数字签名数字签名数字签名1教学目标本讲具体分析数字签名的特性以及常用的数字签名本讲具体分析数字签名的特性以及常用的数字签名方案。方案。掌握数字签名的特性和常用方案,包括经典代表掌握数字签名的特性和常用方案,包括经典代表RSA、DSS和和ElGamal;理解潜信道的概念;理解潜信道的概念;23.2 数字签名数字签名 人们的日常生活和工作中,许多事务的人们的日常生活和工作中,许多事务的处理需要当事者签名。处理需要当事者签名。 数字签名是针对电子形式的数字信息的数字签名是针对电子形式的数字信息的一种签名确认方法。一种签名确认方法。 数字签名在信息安全方面,特别在大型数字签名在信息安全方面,特别在大型网络安全通信中的密钥分配、认证以及电子商网络安全通信中的密钥分配、认证以及电子商务系统中,都具有重要作用。务系统中,都具有重要作用。 本节主要介绍数字签名的基础以及几种常本节主要介绍数字签名的基础以及几种常见的数字签名标准。见的数字签名标准。33.2 数字签名数字签名3.2.1 数字签名基础数字签名基础1. 数字签名基本概念数字签名基本概念 传统签名文档所具备的五个特性传统签名文档所具备的五个特性:无:无法伪造性、真实性、不可重用性、不可修法伪造性、真实性、不可重用性、不可修改性和不可抵赖性。改性和不可抵赖性。43.2 数字签名数字签名 数字签名以法律可以接受的方式验证文数字签名以法律可以接受的方式验证文档或者消息的可靠性。因此,进行了数字签档或者消息的可靠性。因此,进行了数字签名的名的电子文档必须满足传统签名文档所具备电子文档必须满足传统签名文档所具备的五个特性的五个特性:无法伪造性、真实性、不可重:无法伪造性、真实性、不可重用性、不可修改性和不可抵赖性。用性、不可修改性和不可抵赖性。而且,数字签名比手写签名应具有更强而且,数字签名比手写签名应具有更强的不可否认性和可认证性。当消息基于网络的不可否认性和可认证性。当消息基于网络传递时,接收方希望证实消息在传递过程中传递时,接收方希望证实消息在传递过程中没有被篡改,或希望确认发送者的身份,从没有被篡改,或希望确认发送者的身份,从而提出数字签名的需要。而提出数字签名的需要。 53.2 数字签名数字签名 为了达到数字签名的这种应用要求,数为了达到数字签名的这种应用要求,数字签名必须保证:字签名必须保证: 能够验证签名者的身份,以及产生签名的能够验证签名者的身份,以及产生签名的日期和时间;日期和时间; 能用于证实被签消息的内容;能用于证实被签消息的内容; 数字签名可由第三方验证,以及能够解决数字签名可由第三方验证,以及能够解决通信双方的争议;通信双方的争议; 接收者能够核实发送者对报文的签名接收者能够核实发送者对报文的签名(或者或者验证签名者的身份及其签名的日期时间验证签名者的身份及其签名的日期时间) ; 发送者事后不能抵赖对报文的签名;发送者事后不能抵赖对报文的签名; 接收者不能伪造对报文的签名。接收者不能伪造对报文的签名。63.2 数字签名数字签名2. 数字签名的实现数字签名的实现 数字签名由公钥密码发展而来。数字签名基于两条数字签名由公钥密码发展而来。数字签名基于两条基本假设:一是私钥是安全的,只有其拥有者才能获基本假设:一是私钥是安全的,只有其拥有者才能获得;二是产生数字签名的惟一途径是使用私钥。得;二是产生数字签名的惟一途径是使用私钥。例如,用例如,用RSA的私钥的私钥d计算计算mdmodn = s作为数字签名。作为数字签名。 由于数字签名容易被拷贝,并且拷贝后的文件与原数由于数字签名容易被拷贝,并且拷贝后的文件与原数字签名没有任何区别。因此,为了防止数字签名被重字签名没有任何区别。因此,为了防止数字签名被重复使用在不同的消息上,必须要求:第一,数字签名复使用在不同的消息上,必须要求:第一,数字签名因消息而异,不同的消息的数字签名结果不同;第二,因消息而异,不同的消息的数字签名结果不同;第二,即使消息主要内容相同,一般也通过要求消息本身包即使消息主要内容相同,一般也通过要求消息本身包含有诸如日期、发送序号等信息来让消息尽量不同。含有诸如日期、发送序号等信息来让消息尽量不同。 73.2 数字签名数字签名 一个数字签名方案由两部分组成:签名一个数字签名方案由两部分组成:签名算法和验证算法。算法和验证算法。 签名算法是由一个密钥控制的函数。对签名算法是由一个密钥控制的函数。对任意一个消息任意一个消息M,签名者,签名者A利用自己掌握的利用自己掌握的密钥密钥K,对消息,对消息M使用签名算法产生一个签使用签名算法产生一个签名名 。 验证算法验证算法 的返回结果为布尔值的返回结果为布尔值“真真”或或“假假”,其结果表示了签名是否真,其结果表示了签名是否真实可靠,即:如果实可靠,即:如果 ,则则 ;否则,如果;否则,如果 ,则则 。()KSSigM(, )Ver M S()KSSigM(, )Ver M STrue()KSSigM(, )Ver M SFalse83.2 数字签名数字签名 数字签名的产生有加密算法和特定数字签名的产生有加密算法和特定的签名算法两种,其中由加密算法产的签名算法两种,其中由加密算法产生数字签名是指将消息或消息的摘要生数字签名是指将消息或消息的摘要加密后的密文作为对该消息的数字签加密后的密文作为对该消息的数字签名,其用法又根据是基于对称密码体名,其用法又根据是基于对称密码体制或者公钥密码体制有所不同:制或者公钥密码体制有所不同:93.2 数字签名数字签名(1) 基于对称密码体制的数字签名方法基于对称密码体制的数字签名方法 基于对称密码体制的数字签名方案基于对称密码体制的数字签名方案的本质是共享密钥的验证,其基本形式的本质是共享密钥的验证,其基本形式为:用户为:用户A与用户与用户B共享对称密钥密码共享对称密钥密码体制的密钥体制的密钥K,要签名的消息为,要签名的消息为M。则。则签名算法就是加密算法:签名算法就是加密算法:验证算法就是解密算法:验证算法就是解密算法:或者加密算法:或者加密算法:()()KKySigMEM(, )( )KVer M yTrueMDy(, )()KVer M yTrueyEM103.2 数字签名数字签名(2) 基于公钥密码体制的数字签名方法基于公钥密码体制的数字签名方法 基于公钥密码算法的数字签名方案本基于公钥密码算法的数字签名方案本质上是公钥密码加密算法的逆应用,此时质上是公钥密码加密算法的逆应用,此时发送方用自己的私钥对消息加密,接收方发送方用自己的私钥对消息加密,接收方接收到消息后用发送方的公钥进行解密。接收到消息后用发送方的公钥进行解密。由于私钥由发送方自己保管且只有他本人由于私钥由发送方自己保管且只有他本人知道,入侵者只知道发送者的公钥,不可知道,入侵者只知道发送者的公钥,不可能伪造签名,从而起到签名的效果。公正能伪造签名,从而起到签名的效果。公正的第三方可以用发送方的公钥对签名进行的第三方可以用发送方的公钥对签名进行解密,从而证实消息确实来自于该发送者。解密,从而证实消息确实来自于该发送者。113.2 数字签名数字签名 使用公钥密码体制使用公钥密码体制(例如采用例如采用RSA公钥密公钥密码体制码体制) :用户:用户A选定私钥选定私钥KRa、公钥、公钥KUa,加解密算法分别为加解密算法分别为E和和D,将,将KRa保密,称保密,称为签名密钥;将为签名密钥;将KUa公开,成为验证密钥,公开,成为验证密钥,则签名和验证过程为:则签名和验证过程为: S= SigK(M) =EKRa(M) 一般情况下,实际使用的数字签名通一般情况下,实际使用的数字签名通常是基于公钥密码体制,且是对消息的摘常是基于公钥密码体制,且是对消息的摘要而不是对消息的本身进行签名。要而不是对消息的本身进行签名。(, )( )aKUVer M yTrueMDy123.2 数字签名数字签名3. 数字签名的分类数字签名的分类 数字签名根据其本身实现目的的不数字签名根据其本身实现目的的不同,一般分为直接数字签名和可仲裁同,一般分为直接数字签名和可仲裁数字签名两种。数字签名两种。133.2 数字签名数字签名(1) 直接数字签名直接数字签名 直接数字签名是只涉及到通信双方的直接数字签名是只涉及到通信双方的数字签名。为了提供鉴别功能,直接数字数字签名。为了提供鉴别功能,直接数字签名一般使用公钥密码体制,即:接收方签名一般使用公钥密码体制,即:接收方已知发送方的公钥,则发送方可以通过用已知发送方的公钥,则发送方可以通过用自己的私钥对整个消息或消息的杂凑值自己的私钥对整个消息或消息的杂凑值(Hash码或散列值)加密来产生数字签码或散列值)加密来产生数字签名,主要有以下两种使用形式:名,主要有以下两种使用形式:143.2 数字签名数字签名发送者使用自己的私钥对消息直接进行签发送者使用自己的私钥对消息直接进行签名,接收方用发送方的公钥对签名进行签名,接收方用发送方的公钥对签名进行签别。别。 其特点主要为:只有其特点主要为:只有A知道知道KRa,能,能用其进行加密;传输中消息无法被篡改;用其进行加密;传输中消息无法被篡改;任何第三方可以用任何第三方可以用KUa验证签名。验证签名。 存在的问题主要为:被签名的消息不存在的问题主要为:被签名的消息不具有保密性。一种改进的方案是:具有保密性。一种改进的方案是: 它基于对称密码体制提供了对签名的它基于对称密码体制提供了对签名的加密保护加密保护:aKRAB EM:()aKKRAB EEM153.2 数字签名数字签名 发送方先生成消息摘要,然后对消息摘发送方先生成消息摘要,然后对消息摘要进行数字签名。要进行数字签名。其好处是:其好处是:H(M)具有压缩功能,这使得签具有压缩功能,这使得签名处理的内容减少、速度加快。名处理的内容减少、速度加快。存在的问题是:因为消息以明文的形式传存在的问题是:因为消息以明文的形式传送,故被签名的消息不具有保密性。一送,故被签名的消息不具有保密性。一种改进的方法是:种改进的方法是:或者或者 :|()aKRAB MEH M:|()aKKRAB EMEH M:|()aKKRAB EMEH M163.2 数字签名数字签名 上述两种直接数字签名方案存在如下上述两种直接数字签名方案存在如下的弱点:的弱点: 所有方法的安全性都依赖于发送方的所有方法的安全性都依赖于发送方的私有密钥。私有密钥。 如果发送方想要抵赖发送过某一消息如果发送方想要抵赖发送过某一消息时,可能会声称其私有密钥丢失或被窃,时,可能会声称其私有密钥丢失或被窃,而是其他人伪造了他的签名。而是其他人伪造了他的签名。 X的某些私有密钥可能在时间的某些私有密钥可能在时间T被盗用,被盗用,但攻击者可以使用但攻击者可以使用X的签名签发一条消息的签名签发一条消息并且加盖一个早于或等于时间并且加盖一个早于或等于时间T的时间戳。的时间戳。173.2 数字签名数字签名(2) 可仲裁数字签名可仲裁数字签名 可仲裁数字签名可以解决直接数字签名中出可仲裁数字签名可以解决直接数字签名中出现的问题。现的问题。 通常的做法都是这样执行的:所有从发送方通常的做法都是这样执行的:所有从发送方X到接收方到接收方Y的签名消息首先送到仲裁者的签名消息首先送到仲裁者A,A将将消息及其签名进行一系列的测试以验证消息源及消息及其签名进行一系列的测试以验证消息源及其内容,然后将消息加上日期其内容,然后将消息加上日期(时间戳由仲裁者时间戳由仲裁者加上加上),并与已被仲裁者验证通过的签名一起发,并与已被仲裁者验证通过的签名一起发送给送给Y,同时指明该消息已经通过仲裁者的检验。,同时指明该消息已经通过仲裁者的检验。 显然,显然,A的加入解决了直接数字签名所面临的加入解决了直接数字签名所面临的问题:的问题:X可能否认发送过这条消息。可能否认发送过这条消息。183.2 数字签名数字签名 在可仲裁数字签名的模式中,仲裁者在可仲裁数字签名的模式中,仲裁者起着关键作用,扮演裁判的角色。其前提起着关键作用,扮演裁判的角色。其前提条件是:通信各方都必须绝对信任仲裁机条件是:通信各方都必须绝对信任仲裁机制能够正常工作。可仲裁数字签名主要有制能够正常工作。可仲裁数字签名主要有以下以下3种使用形式:种使用形式:193.2 数字签名数字签名 对称密钥加密方式,仲裁者对称密钥加密方式,仲裁者A可以获知消息。可以获知消息。 在这种方案中,发送方在这种方案中,发送方X与仲裁者与仲裁者A之间共享之间共享密钥密钥Kxa,接收方,接收方Y与与A之间共享密钥之间共享密钥Kay。 首先,首先,X产生消息产生消息M,用,用X的标识符的标识符IDx和散和散列值列值H(M)构成签名构成签名 并将消息及签名经并将消息及签名经Kxa加密后发送给加密后发送给A: 然后,然后,A解密签名,用解密签名,用H(M)验证消息验证消息M的有的有效性,将效性,将IDx,M,签名和时间戳,签名和时间戳T一起经一起经Kay加加密后发送给密后发送给Y: 最后,最后,Y解密解密A发送来的消息,并将发送来的消息,并将M和签名和签名保存起来保存起来|()xaKXEIDH M:|()xaKXXA MEIDH M:|()|ayxaKXKXAY EIDMEIDH MT203.2 数字签名数字签名 上述签名方式正常条件下是双方都需上述签名方式正常条件下是双方都需要高度信任仲裁者要高度信任仲裁者A,即:,即: 双方都必须信任双方都必须信任A处理争议是公正的;处理争议是公正的; X必须信任必须信任A没有泄漏没有泄漏Kxa,并且不会,并且不会自己生成自己生成 的伪造签名;的伪造签名; Y必须信任必须信任A只在散列值正确并且签名只在散列值正确并且签名确实是由确实是由X产生的情况时,才发送消息产生的情况时,才发送消息 |()xaKXEIDH M|()|ayxaKXKXEIDMEIDH MT213.2 数字签名数字签名 对称钥加密方式,仲裁者不能获知消息对称钥加密方式,仲裁者不能获知消息 在这种情况下,在这种情况下,X和和Y之间共享密钥。之间共享密钥。首先,首先,X将标识符将标识符IDx、密文、密文 以及对以及对 和密文消息的散列码用加密后形成签名发送给和密文消息的散列码用加密后形成签名发送给A:然后,然后,A解密签名,用散列码验证消息的有效性,解密签名,用散列码验证消息的有效性,由于由于A处理的是加密后的消息,只能验证消息的处理的是加密后的消息,只能验证消息的密文而不能读取其内容。密文而不能读取其内容。最后,最后,A将来自将来自X的所有信息加上时间戳并用加的所有信息加上时间戳并用加密后发送给密后发送给Y:xyKEMxID:|()xyxaxyXKKXKXA IDEMEIDH EM:|()| ayxyxaxyKXKKXKAY EIDEMEIDH EMT223.2 数字签名数字签名 上述两种利用对称密码体制实现仲裁签名的上述两种利用对称密码体制实现仲裁签名的方案存在一个共性问题,即:仲裁者和发送方联方案存在一个共性问题,即:仲裁者和发送方联手可以共同否认一个已经签名的消息,仲裁者和手可以共同否认一个已经签名的消息,仲裁者和接收方联手可以伪造发送方的签名。所以这种对接收方联手可以伪造发送方的签名。所以这种对称密钥签名方案除了要求发送方和接收方都对仲称密钥签名方案除了要求发送方和接收方都对仲裁者绝对信任之外,还要求仲裁者是公正的。裁者绝对信任之外,还要求仲裁者是公正的。233.2 数字签名数字签名 公钥密码体制加密方式,仲裁者不能获知消公钥密码体制加密方式,仲裁者不能获知消息。息。(例如采用例如采用RSA公钥密码体制公钥密码体制) X对消息对消息M双重加密:首先用双重加密:首先用X的私钥的私钥KRx对对消息消息M加密,然后用加密,然后用Y的公开密钥的公开密钥KUy加密,形加密,形成一个签名的、保密的消息。然后将该消息以及成一个签名的、保密的消息。然后将该消息以及X的标识符一起用的标识符一起用KRx签名后与签名后与IDx一起发送给一起发送给A: A检查检查X的公开的公开/私密钥对是否仍然有效。如私密钥对是否仍然有效。如果有效,则认证消息,并将包含果有效,则认证消息,并将包含IDx、双重加密、双重加密的消息和时间戳构成的消息用的消息和时间戳构成的消息用KRA签名后发送给签名后发送给Y::|()xyxXKRXKUKRXA IDEIDEEM:|ayxKRXKUKRAY EIDEEMT243.2.2 RSA数字签名体制数字签名体制3.2 数字签名数字签名 与上述两个对称密码体制加密模式相与上述两个对称密码体制加密模式相比较,公钥密码体制加密模式具有以下优比较,公钥密码体制加密模式具有以下优点:点: 在通信之前各方之间无须共享任何消在通信之前各方之间无须共享任何消息,从而避免了联合欺诈;息,从而避免了联合欺诈; 即使即使KRx暴露,但是只要暴露,但是只要KRA未泄漏,未泄漏,那么时间戳不正确的消息是不能被发送那么时间戳不正确的消息是不能被发送(即时间戳不能被伪造即时间戳不能被伪造) ; 从从X发送给发送给Y的消息的内容对的消息的内容对A和其它和其它人来讲均是保密的。人来讲均是保密的。253.2 数字签名数字签名3.2.3 ElGamal数字签名体制数字签名体制 ElGamal数字签名体制是数字签名体制是T.ElGamal在在1985年发表关于年发表关于ElGamal公开密钥密公开密钥密码时给出的两个体制之一,该体制中重要码时给出的两个体制之一,该体制中重要的有的有NIST于于1991年公布的数字签名标准年公布的数字签名标准中所使用的数字签名算法(中所使用的数字签名算法(DSA),专),专门用于数字签名,它的安全性主要基于求门用于数字签名,它的安全性主要基于求解离散对数问题的困难性。解离散对数问题的困难性。ElGamal密码密码可以用于加密,也可以实现数字签名。可以用于加密,也可以实现数字签名。263.2 数字签名数字签名1. 算法描述算法描述(1) 体制参数体制参数 ElGamal数字签名体制可数字签名体制可以分为系统参数与用户的密钥以分为系统参数与用户的密钥两部分。两部分。273.2 数字签名数字签名 系统参数系统参数 ElGamal数字签名体制使用数字签名体制使用了如下的一些系统参数:了如下的一些系统参数:大素数大素数 ,满足使,满足使 中的离散中的离散对数为困难问题;对数为困难问题; 的生成元的生成元 , 是乘法群是乘法群 的生成元的生成元(或本原元或本原元)。ppZpZpZ283.2 数字签名数字签名 用户的公开密钥用户的公开密钥 与秘密密与秘密密钥钥用户选取任意的随机数用户选取任意的随机数 ,计算计算然后用户将然后用户将 严格保密作为自己的严格保密作为自己的秘密密钥,而将秘密密钥,而将 公开作为自己的公开作为自己的公开密钥。公开密钥。AeAd11AdpmodAdAepAdAe293.2 数字签名数字签名 因此,整个系统公开的参数因此,整个系统公开的参数包括:大素数包括:大素数 、 中的生成中的生成元元 、每一个用户的公开密钥,、每一个用户的公开密钥,而每一个用户将对其秘密密钥严而每一个用户将对其秘密密钥严格保密。格保密。ppZ303.2 数字签名数字签名(2) 签名过程签名过程 给定消息给定消息M,用户,用户A要对明文要对明文消息消息m加签名,加签名, ,签名方,签名方将进行下列计算:将进行下列计算:用户用户A随机地选择一个整数随机地选择一个整数 且且 ;计算计算 ;计算计算 ;取取 作为作为m的签名,并以的签名,并以 的形式发送给用户。的形式发送给用户。01mp,11kkp( ,1)1k p modkrp1()mod(1)Asmd r kp( , )r s( , , )m r s313.2 数字签名数字签名(3) 验证过程验证过程 用户用户 验证验证 是是否成立,若成立,则签名为真;否成立,若成立,则签名为真;否则签名为假。签名的可验证性否则签名为假。签名的可验证性证明如下:证明如下:因为因为 所以所以 故故 因此签名可验证。因此签名可验证。BmodmrsAe rp1()mod(1)Asmd r kpmod(1)Amd rkspmodAd r ksmrsAe rp323.2 数字签名数字签名 对于上述对于上述ElGamal数字签名,为数字签名,为了安全,随机数了安全,随机数 应当是一次性的。应当是一次性的。否则,可用过去的签名冒充现在的签否则,可用过去的签名冒充现在的签名。名。 注意,由于取注意,由于取 作为作为 的的签名,所以签名,所以ElGamal数字签名的数据数字签名的数据长度是明文的两倍,即数据扩展一倍。长度是明文的两倍,即数据扩展一倍。k( , )r sm333.2 数字签名数字签名2. ElGamal签名的安全性分析签名的安全性分析(1)攻击者要得到密钥)攻击者要得到密钥dA 必须求解离散对数问必须求解离散对数问题题 ,这是一个困难问题。,这是一个困难问题。 (2)攻击者可能伪造一个签名的随机消息,使)攻击者可能伪造一个签名的随机消息,使一个随机消息成为一个合法签名消息。但可以从一个随机消息成为一个合法签名消息。但可以从内容上识别出来。内容上识别出来。(3)不可用同一个)不可用同一个k作两次签名(泄露作两次签名(泄露dA,见下见下页)。页)。logAe343.2 数字签名数字签名如果攻击者掌握了同一随机数如果攻击者掌握了同一随机数k下的两个消息下的两个消息M1和和M2合法签字合法签字(r|s1)和和(r|s2),则由,则由 M1=s1kdAr mod ( p1 ) M2=s2kdAr mod( p1 ) 就可以解出用户的秘密钥就可以解出用户的秘密钥dA。在实用中,对每个。在实用中,对每个消息的签字,都应变换随机数消息的签字,都应变换随机数k。而且对某消息。而且对某消息M签签字所用的随机数字所用的随机数k不能泄露,否则将可解出用户的秘不能泄露,否则将可解出用户的秘密钥密钥dA。另外,如果另外,如果A和和B共享共享dA,则通过传送签名,可以秘,则通过传送签名,可以秘密地传送信息密地传送信息k。-数字签名体制下的潜信道数字签名体制下的潜信道353.2.4 Schnorr数字签名体制数字签名体制Schnorr数字签名方案是数字签名方案是ElGamal型签名方案型签名方案的一种变形,该方案由的一种变形,该方案由Schnorr于于1989年提出,年提出,包括初始过程、签名过程和验证过程。包括初始过程、签名过程和验证过程。其特点是减少了计算量。其特点是减少了计算量。3.2 数字签名数字签名 3.2.4 Schnorr数字签名数字签名1. 算法描述算法描述(1) 系统参数系统参数大素数大素数p以及以及q满足满足 及及 ; 且满足且满足 ;h为单向散列函数。为单向散列函数。 注注 :gq 1 mod p160|1,2q pq5122p pgZ1mod ,1pgp g373.2 数字签名数字签名 (2) 签名者的私有密钥签名者的私有密钥签名者的私有密钥为签名者的私有密钥为x, (3) 签名者的公开密钥签名者的公开密钥签名者的公开密钥为签名者的公开密钥为y,满足,满足 。1xqmodxygp383.2 数字签名数字签名 (4) 签名过程签名过程签名者任选一整数签名者任选一整数k( ),并求出并求出 ;签名者求出签名者求出 ;签名者求出签名者求出 , 为签名者对为签名者对m的签名。的签名。0kqmodkrgp( ,)eh r m()modskxeq( , )e s393.2 数字签名数字签名 (5) 验证过程验证过程验证者求出验证者求出 ;验证者检查验证者检查 是否正确?若是否正确?若是,则是,则 为为m的合法签名文。的合法签名文。(注:若(注:若 为合法签名,则为合法签名,则 )modserg yp( ,)h r me( , )e s( , )e smodsek xexekg ygggrp403.2 数字签名数字签名2. 与与ElGamal签名系统的不同签名系统的不同Schnorr系统的安全性也基于求离散对数的困难问题,它与ElGamal签名系统的不同点如下:ElGamal系统中g为 中的本原元,而于Schnorr系统中则不是。Schnorr系统中的签名文较短,其e的长度由h函数决定。Schnorr首先提及 ,可以预先计算(Pre-computation)。pZmodkrgp413.2 数字签名数字签名3.2.5 数字签名标准数字签名标准(DSS) 数字签名标准数字签名标准(Digital Signature Standard,DSS)是美国国家标准技术研究是美国国家标准技术研究所所(NIST)在在1994年年5月月19日公布的联邦信日公布的联邦信息处理标准(息处理标准(FIPS PUB 186)的基础上,)的基础上,于于1994年年12月月1日被采纳为数字签名标准日被采纳为数字签名标准DSS,该标准后来经过一系列修改,目前,该标准后来经过一系列修改,目前的标准为的标准为2000年年1月月27日公布的该标准的日公布的该标准的扩充版扩充版FIPS PUB 186-2,新增加了基于,新增加了基于RSA和和ECC的数字签名算法。的数字签名算法。423.2 数字签名数字签名1. DSA算法的描述算法的描述 DSA算法由算法由NSA (美国国家安全局美国国家安全局)指指导设计,用来提供惟一的数字签名函数,导设计,用来提供惟一的数字签名函数,因此它虽然是一种公开密钥技术,但它只因此它虽然是一种公开密钥技术,但它只能用于数字签名。能用于数字签名。 DSA中规定了使用安全散列算法中规定了使用安全散列算法(SHA-1),DSA的数字签名与验证过程如的数字签名与验证过程如下:下:433.2 数字签名数字签名(1) DSA的参数的参数全局公开密钥分量全局公开密钥分量 ,可以为一,可以为一组用户公用。组用户公用。大参数大参数p, ,其中,其中 ,且且L为为64的倍数,的倍数,(即即P为为512到到1024二进二进制位并且长度为制位并且长度为64所整除的大素数所整除的大素数); 的素因子的素因子q, ,即比特长,即比特长度为度为160位;位; 。其中。其中h是一个整数,是一个整数, 并且并且 。, ,p q g122LLp5121024L1p15916022q(1)/modpqghp11hp(1)/mod1pqghp443.2 数字签名数字签名用户私有密钥用户私有密钥xx是随机或伪随机整数,要求是随机或伪随机整数,要求 。用户公开密钥用户公开密钥y 与用户每个签名相关的秘密数与用户每个签名相关的秘密数kk是随机或伪随机整数,要求是随机或伪随机整数,要求 。每次签名都要重新生成每次签名都要重新生成k。0 xqmodxygp0kq453.2 数字签名数字签名(2) 签名过程签名过程发送方随机地选取秘密值发送方随机地选取秘密值k,计算,计算 其中其中 是使用基于是使用基于SHA-1生成的生成的M的散列码,则的散列码,则 就是基于散列码对消就是基于散列码对消息息M的数字签名的数字签名 1(mod )mod()modkrgpqskH Mxrq()H M( , )r s463.2 数字签名数字签名(3) 验证过程验证过程如果接收者收到如果接收者收到 后,首先验后,首先验证证 ,如果通过则计算:,如果通过则计算: 如果如果 ,则确认签名正确,则确认签名正确否则将意味着消息可能被篡改否则将意味着消息可能被篡改, ,M r s0,0rqsq12112mod() modmod()modmoduuwsquH M wqurwqvg ypqvr473.2 数字签名数字签名2. 使用使用DSA算法进行数字签名的示例算法进行数字签名的示例例:假设取例:假设取 所所以以 。假设。假设 ,那,那么么 。如果如果B想签名一个消息想签名一个消息 ,并且他,并且他选择了随机数选择了随机数 ,可算得,可算得 101,78 101 17879,3,qph 783 (mod7879)170g 75x mod4567xygp1234M 50k 199k483.2 数字签名数字签名算出签名:算出签名:验证签名:验证签名:因此,因此, ,该签名是有效的。,该签名是有效的。50(170mod7879)mod1012518(mod101)94(123475 94) 99(mod101)97rs112452797 (mod101)251234 25(mod101)4594 25(mod101)271704567 (mod7879)(mod101)94wuuvvr49小结小结 数字签名技术把传统意义上的签名在信息技术领域进数字签名技术把传统意义上的签名在信息技术领域进行了延伸,其中行了延伸,其中DSS和和ElGamal是经典代表。是经典代表。 在现实生活中,数字签名的应用领域广泛且多样,因在现实生活中,数字签名的应用领域广泛且多样,因此,能适应某些特殊要求的数字签名技术也应运而生。如此,能适应某些特殊要求的数字签名技术也应运而生。如为了保护信息拥有者的隐私,要求签名人不能看见所签信为了保护信息拥有者的隐私,要求签名人不能看见所签信息,于是就有了盲签名的产生息,于是就有了盲签名的产生; 签名人委托另一个人代表签名人委托另一个人代表他签名,于是就有了代理签名的概念等。正是这些应用的他签名,于是就有了代理签名的概念等。正是这些应用的需要,各种各样的特殊的数字签名研究一直是数字签名研需要,各种各样的特殊的数字签名研究一直是数字签名研究领域非常活跃的部分,也产生了很多分支。究领域非常活跃的部分,也产生了很多分支。503.2 数字签名数字签名

    注意事项

    本文(第3章2数字签名.ppt)为本站会员(知****量)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开