网络安全-12-数字签名

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Chapter13数字签名《计算机与网络安全》2019/12/29西安电子科技大学计算机学院2数字签名RSA数字签名ElGamal数字签名Schnorr数字签名数字签名标准考察手写签名的特性•签名的含义–签名者慎重表达认可文件内容的意向的行为•主要形式–手写签名、签章、手指纹印(其他生物技术)•特性–不可伪造,特异性–不可重用,日期和时间相关性–不可改变,能发现涂改、转移意义或用途–不可抵赖,能够质证–可仲裁的,可做为法律证据手写签名的数字化改造•数学支持-签名函数–被签署的是文件(大文件)–签名生成另外一个文件(小文件)–签名过程一定有签署人的身份和某种秘密(别人不知的)参与–简单易行计算/存储签名函数报文(大)报文签名(小)身份和秘密用私钥加密当作签名•主要操作–输入报文明文、私钥–输出报文明文、报文密文(签名)–验证•是否满足签名要求的特性•讨论–私钥(其实是公钥)的管理:和身份绑定、更新等–签名过程太慢:启用散列函数数字签名的一般模型数字签名过程机制2019/12/29西安电子科技大学计算机学院8§13.1数字签名消息认证可以保护信息交换不受第三方的攻击,但不能处理通信双方自身发生的攻击。数字签名提供了这种能力:验证签名者、签名的日期和时间认证消息内容可由第三方仲裁,以解决争执因此,数字签名具有认证功能2019/12/29西安电子科技大学计算机学院9数字签名应满足的条件签名值必须依赖于所签的消息必须使用对于发送者唯一的信息以防止伪造和否认产生签名比较容易识别和验证签名比较容易伪造数字签名在计算上是不可行的。包括已知数字签名,伪造新的消息已知消息,伪造数字签名保存数字签名的拷贝是可行的2019/12/29西安电子科技大学计算机学院10直接数字签名只涉及收发双方假定接收方已知发送方的公钥发送方可以用自己的私钥对整个消息内容或消息内容的hash值进行加密,完成数字签名。可以用接收者的公钥来加密以提供保密性先签名后加密,很重要。缺点:安全性依赖于发送方私钥的安全性2019/12/29西安电子科技大学计算机学院11仲裁数字签名仲裁者A验证任何签名的消息给消息加上日期并发送给接收者需要对仲裁者有合适的信任级别即可在私钥体制中实现,又可在公钥体制中实现仲裁者可以或者不可以阅读消息13.2RSA签名体系RSA签名体系的消息空间和密文空间都是Zn={0,1,2,…,n−1},这里n=p×q。此签名体系是一种确定的数字签名体系。1.RSA签名体系的密钥产生每个实体A进行以下操作:(1)随机选择两个大素数p和q;(2)计算n=p×q和Φ(n)=(p−1)(q−1);(3)随即选择e,满足1<e<Φ(n),gcd(e,Φ(n))=1;(4)用欧几里得算法计算d,满足1<d<Φ(n),ed=1mod(n)。设A的公钥为(n,e),私钥为(n,d)。2.签名算法(1)计算s=mdmodn;(2)发送(m,s)。3.验证算法(1)计算m′=semodn;(2)验证m′是否等于m,若不等于,则拒绝;4.安全性分析如果攻击者能够进行模n的大整数分解,则它可计算Φ(n),从而利用欧几里得算法得到签名者的私钥。所以签名者必须小心地选择p和q。13.3ElGamal签名方案ElGamal签名是一种随机附属签名机制,它可以对任意长度的二进制消息格式进行签名。数字签名算法(DSA)是它的一种变种。举例:P287安全性分析2019/12/29西安电子科技大学计算机学院19*46712721311467,2127mod2mod467132,,,100213,(,1)(213,466)1mod2mod46729()mod1(10012729)213mod46651(51,29)100xkpxyppyxmkkprpsmxrkpB例:用户A选择素数是的生成元,选择计算公开,保密对消息签名选择是消息的签名用户用验证Z295111002100(51,29)mod13229mod467189mod2mod467189(51,29)100rsmAVyrpVp算法验证用户对消息的签名所以是消息的签名2019/12/29西安电子科技大学计算机学院20§13.4Schnorr数字签名ElGamal签名方案的另一个变种是Schnorr签名。和DSA一样,Schnorr签名也使用了上阶为q的循环子群。二者的密钥产生过程也极其相似,但Schnorr签名对p和q的大小没有限制。2019/12/29西安电子科技大学计算机学院21§13.5数字签名标准DigitalSignatureStandard(DSS)美国政府的签名方案由NIST和NSA,在20世纪90年代设计1991年,作为FIPS-186发布1993,1996,2000进行了修改采用SHAhash算法DSS是标准DSA算法。FIPS186-2(2000)包括可选的RSA和椭圆曲线签名算法2019/12/29西安电子科技大学计算机学院22DigitalSignatureAlgorithm(DSA)产生320bit的签名值可以提供512-1024bit的安全性比RSA小且快仅是一个数字签名方案(不能用于加密)安全性依赖于计算里算对数的困难性是ElGamal和Schnorr方案的变体2019/12/29西安电子科技大学计算机学院23DigitalSignatureAlgorithm(DSA)2019/12/29西安电子科技大学计算机学院24DSA密钥的生成全局公钥(p,q,g):选择q,位长为160bit选择一个大的素数p=2L其中L=512to1024bits且L是64的倍数q是(p-1)的素因子选择g=h(p-1)/qmodp其中hp-1,h(p-1)/q(modp)1用户选择私钥并计算对应的公钥:随机选择私钥0xq计算公钥y=gx(modp)2019/12/29西安电子科技大学计算机学院25DSA签名的生成为了对消息M进行签名,发送者:产生一个随机签名密钥k,kq注意k必须是一个随机数,用后就扔掉,不再使用。计算签名对:r=(gk(modp))(modq)s=(k-1H(M)+xr)(modq)和消息M一同发送签名值(r,s)2019/12/29西安电子科技大学计算机学院26DSA数字签名的验证已经收到消息M和签名值(r,s)为了验证签名,接收者计算:w=s-1(modq)u1=(wH(M))(modq)u2=(rw)(modq)v=(gu1yu2(modp))(modq)如果v=r则签名正确证明(略)2019/12/29西安电子科技大学计算机学院272019/12/29西安电子科技大学计算机学院28

1 / 28
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功