




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数字签名方案数字签名方案 公钥签名方案: 利用私钥生成签名 利用公钥验证签名 只有私钥的拥有者才能生成签名 所以能够用于证明谁生成的消息 任何知道公钥的人可以验证消息 (他们要确认公钥拥有者的身份,这是公钥的密钥分配问题) 通常不对整个消息签名,因为这将会使交换信息长度增加一倍使用消息的 hashhash 值数字签名可以提供消息的不可否认性, RSA RSA 加密解密是可交换的 可以用于数字签名方案 给定 RSA 方案 (e,R), (d,p,q) 要签名消息M:计算: S = Md(mod R) 要验证签名,计算: M = Se(mod R) = Me.d(mod R) = M(mod R)
2、 RSA 使用使用 使用RSA加密、认证: 使用发送者的私钥签名一个消息 使用接收者的公钥加密消息 看起来,一个消息可用RSA加密、签名而不改变大小 但是,加密使用的是消息接收者的模,签名是消息发送者的模,后着可能比前者小 交换两者顺序? 签名常使用HASH函数值 El Gamal Signature Scheme ElGamal 加密算法是不可交换的 存在一个相关的签名算法 安全性是基于计算离散对数的困难性 方案的密钥生成是相同的: 有个共享的素数 p, 公开的本原根 a 每个用户选择一个随机数作为私钥 x 计算各自的公开密钥: y = ax mod p 公钥是 (y,a,p) 私钥是 (x
3、) El Gamal 签名方案的使用签名方案的使用 签名消息 M: 选择随机数 k, GCD(k,p-1)=1 计算 K = ak(mod p) 用 Euclidean (inverse) 扩展算法求 S:M = x.K + k.S mod (p-1); 即求 S = k-1(M - x.K) mod (p-1) 签名是 (K,S) k 应该被销毁 同ElGamal 加密方案, 签名信息也是消息的2倍 验证 (K,S) 是 对M的签名: yK.KSmod p = aMmod p ElGamal 签名方案举例签名方案举例 取 p=11, g=2 选择私钥 x=8 计算: y = ax mod p
4、 = 28 mod 11 = 3 公钥是: y=3,g=2,p=11 对 M=5 签名: 选择随机数 k=9 确定 gcd(10,9)=1 计算: K = ak mod p = 29 mod 11 = 6 解: 5 = 8.6+9.S mod 10; nb 9-1 = 9 mod 10;因此 S = 9.(5-8.6) = 3 mod 10 签名是 (K=6,S=3) 要验证签名, 确认:36.63 = 25 mod 113.7 = 32 = 10 mod 11 DSA (Digital Signature Algorithm) US Federal Govt approved signatu
5、re scheme (FIPS PUB 186) 使用 SHA hash alg NIST & NSA 在 90s初设计 DSA 是算法, DSS 是标准 对此标准宣布的争议! 是否需要使用 RSA DSA 是 ElGamal 及Schnorr algorithms 的变形 生成 320 bit 签名 安全性是基于离散对数 被广泛接收DSA 密钥生成密钥生成 首先选取公开参数 (p,q,g) : 选取大素数 p = 2L L= 512 to 1024 bits(64倍数) 选取 q, 160 bit 素因子( of p-1 ) 选择 g = h(p-1)/q 对任何 h1 每个用户选取
6、私钥并计算他们的公钥: 选取 xq 计算 y = gx(mod p) DSA 签名生成与验证签名生成与验证 签名消息 M 生成随机签名蜜钥 k, kq 计算 r = (gk(mod p)(mod q) s = k-1.SHA(M)+ x.r (mod q) 发送签名 (r,s)及消息M 验证签名, 计算: w = s-1(mod q) u1= (SHA(M).w)(mod q) u2= r.w(mod q) v = (gu1.yu2(mod p)(mod q) v=r 签名有效 DSA 安全性安全性 基于离散对数 最初建议使用一个共同的 modulus p 现在建议不同的工作组使用不同的 (p
7、,q,g) Gus Simmons 发现存在潜信道,能够泄露私钥带密钥的带密钥的HASH 以上的签名方法都是公钥技术 计算与数据量较大 需要私钥的认证方案 好的方法是使用快速的hash 函数: 密钥与消息同时参加运算:KeyedHash = Hash(Key|Message) 有一些弱点 随后建议:KeyedHash = Hash(Key1|Hash(Key2|Message) HMAC HMAC 是使用带密钥的HASH函数的结果 成为internet标准 (RFC2104) 结构:HMACK = Hash(K+ XOR opad)|Hash(K+ XOR ipad)|M) K+ 是经过填充的
8、密钥 opad, ipad 特殊的填充值 Opad=01011010重复b/8次 ipad=00110110重复b/8次 安全性是基于原来的HASH函数的安全性 任何 MD5, SHA-1, RIPEMD-160 都可以这样使用 数字签名在网络中的应用 数字签名是公钥密码的一种具体应用。数字签名是公钥密码的一种具体应用。 随着计算机网络的广泛使用,以及网络随着计算机网络的广泛使用,以及网络的安全问题日益突出。的安全问题日益突出。 目前,数字签名在网络中已有多种应用,目前,数字签名在网络中已有多种应用,我们以软件发行签名为例加以说明。我们以软件发行签名为例加以说明。数字签名能用手写签名的方式实现
9、吗? 在在现实生活现实生活中,中,签名能够被伪造签名能够被伪造,签名,签名能够从文章中盗用能够从文章中盗用移到移到另一篇文章中,另一篇文章中,文件在签名后能够被改变文件在签名后能够被改变。 计算机文件易于复制。即使某人的签名计算机文件易于复制。即使某人的签名难以伪造(例如,难以伪造(例如,手写签名的图形手写签名的图形),),但是从一个文件到另一个文件复制和粘但是从一个文件到另一个文件复制和粘贴有效的签名都是很容易的贴有效的签名都是很容易的,这种签名并这种签名并没有什么意义;没有什么意义;其次文件在签名后也易其次文件在签名后也易于修改,并且不会留下任何修改的痕迹于修改,并且不会留下任何修改的痕迹
10、。数字签名应满足的条件? 签名是可信的签名是可信的。签名使文件的。签名使文件的接收者接收者相信相信签名者签名者在文在文件上签的字。件上签的字。 签名不可伪造签名不可伪造。签名证明是签字者而不是其他人在文。签名证明是签字者而不是其他人在文件上签字。件上签字。 签名不可重用签名不可重用。签名是文件的一部分,不法之徒不可。签名是文件的一部分,不法之徒不可能将签名移到不同的文件上。能将签名移到不同的文件上。 签名的文件是不可改变的签名的文件是不可改变的。在文件签名后,文件不能。在文件签名后,文件不能改变。改变。 签名是不可抵赖的签名是不可抵赖的。签名和文件是物理的东西。签名。签名和文件是物理的东西。签
11、名者事后不能声称他没有签过名。者事后不能声称他没有签过名。数字签名原理 公钥密码有两个密钥,一个可以公开,称为公钥,另公钥密码有两个密钥,一个可以公开,称为公钥,另一个必须保密,称为私钥。一个必须保密,称为私钥。 一般加解密过程为用公钥加密,用私钥解密。一般加解密过程为用公钥加密,用私钥解密。 数字签名与之相反,签名者用私钥加密,并把加密结数字签名与之相反,签名者用私钥加密,并把加密结果与原文放在一起。果与原文放在一起。 签名验证者用公钥解密密文,并与原文相比,签名验证者用公钥解密密文,并与原文相比,相同则相同则签名有效,不同则签名无效签名有效,不同则签名无效。 这样就能起到与手写签名同样的效果。这样就能起到与手写签名同样的效果。软件发行签名原理 软件发行者通过网络发行软件时,要防止攻击者软件发行者通过网络发行软件时,要防止攻击者假冒假冒发行者,还要防止软件发行后被篡改。发行者,还要防止软件发行后被篡改。 这可用数字签名来实现。这可用数字签名来实现。 软件发行者生成软件后,用软件发行者生成软件后,用私钥对软件签名私钥对软件签名,再把,再把软软件本身、签名结果、公钥证书制作成一个包发行件本身、签名结果、公钥证书制作成一个包发行。 这样用户可以从公钥证书知道发行者的真实身份,经这样用户可以从公
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 团队协作推动变革的策略计划
- 前台服务中的问题处理与反馈计划
- 跨境金融政策对投资融资的影响分析
- 跨境B2B电商平台运营策略探讨
- 非公企业推动非标智能装备发展的策略研究
- 科技公司如何应对网络安全法规挑战
- 2025年大唐云南发电有限公司所属企业高校毕业生招聘笔试参考题库附带答案详解
- 跨国公司资本运作的信息披露要求
- 小学数学教师心得苦干不如巧干-做一个会偷懒的教师读后感
- 初中语文智慧美文为自己减刑
- 2025年黑龙江农垦职业学院单招职业倾向性测试题库完整版
- 2025年时事政治考题及参考答案(350题)
- 《汽车专业英语》2024年课程标准(含课程思政设计)
- 部编四年级道德与法治下册全册教案(含反思)
- JBT 11699-2013 高处作业吊篮安装、拆卸、使用技术规程
- AutoCAD 2020中文版从入门到精通(标准版)
- 烟草栽培(二级)鉴定理论考试复习题库-上(单选题汇总)
- DB32T 4353-2022 房屋建筑和市政基础设施工程档案资料管理规程
- 2022年怎样使用电器正常工作导学案
- 【工法】卫生间聚乙烯丙纶防水和JS防水施工工艺
- 物品出入库明细表格
评论
0/150
提交评论