数字签名及在网络中的应用题稿.pptVIP

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字签名方案 公钥签名方案: 利用私钥生成签名 利用公钥验证签名 只有私钥的拥有者才能生成签名 所以能够用于证明谁生成的消息 任何知道公钥的人可以验证消息 (他们要确认公钥拥有者的身份,这是公钥的密钥分配问题) 通常不对整个消息签名,因为这将会使交换信息长度增加一倍 使用消息的 hash 值 数字签名可以提供消息的不可否认性, RSA RSA 加密解密是可交换的 可以用于数字签名方案 给定 RSA 方案 {(e,R), (d,p,q)} 要签名消息M:计算: S = Md(mod R) 要验证签名,计算: M = Se(mod R) = Me.d(mod R) = M(mod R) RSA 使用 使用RSA加密、认证: 使用发送者的私钥签名一个消息 使用接收者的公钥加密消息 看起来,一个消息可用RSA加密、签名而不改变大小 但是,加密使用的是消息接收者的模,签名是消息发送者的模,后着可能比前者小 交换两者顺序? 签名常使用HASH函数值 El Gamal Signature Scheme ElGamal 加密算法是不可交换的 存在一个相关的签名算法 安全性是基于计算离散对数的困难性 方案的密钥生成是相同的: 有个共享的素数 p, 公开的本原根 a 每个用户选择一个随机数作为私钥 x 计算各自的公开密钥: y = ax mod p 公钥是 (y,a,p) 私钥是 (x) 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 = 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 11 3.7 = 32 = 10 mod 11 DSA (Digital Signature Algorithm) US Federal Govt approved signature scheme (FIPS PUB 186) 使用 SHA hash alg NIST NSA 在 90‘s初设计 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 对任何 hp-1, h(p-1)/q(mod p)1 每个用户选取私钥并计算他们的公钥: 选取 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,q,g) Gus Simmons 发现存在潜信道,能够泄露私钥 带密钥的HASH 以上的签名方法都是公钥技术 计算与数据量较大 需要私钥的认证方案 好的方法是使用快速的hash 函数: 密钥与消息同时参加运算: KeyedHash =

您可能关注的文档

文档评论(0)

希望之星 + 关注
实名认证
文档贡献者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档