网络与信息安全 密码学基础(二).pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络与信息安全 密码学基础(二)

网络与信息安全 密码学基础(二) 内容 公钥算法 背包思想 RSA Elliptic curve Diffie-Hellman密钥交换 消息算法 散列算法 数字签名 加密库Crypto++ 公钥密码学的历史 76年Diffie和Hellman发表了“密码学的新方向”,奠定了公钥密码学的基础 公钥技术是二十世纪最伟大的思想之一 改变了密钥分发的方式 可以广泛用于数字签名和身份认证服务 78年,RSA算法 PKI 公钥算法应用:保密 公钥算法应用:认证 基本思想和要求 涉及到各方:发送方、接收方、攻击者 涉及到数据:公钥、私钥、明文、密文 公钥算法的条件: 产生一对密钥是计算可行的 已知公钥和明文,产生密文是计算可行的 接收方利用私钥来解密密文是计算可行的 对于攻击者,利用公钥来推断私钥是计算不可行的 已知公钥和密文,恢复明文是计算不可行的 (可选)加密和解密的顺序可交换 如何设计一个公钥算法 公钥和私钥必须相关,而且从公钥到私钥不可推断 必须要找到一个难题,从一个方向走是容易的,从另一个方向走是困难的 如何把这个难题跟加解密结合起来 计算可行和不可行的界 公钥密码学的研究情况 与计算复杂性理论密切相关 计算复杂性理论可以提供指导 但是需求不尽相同 计算复杂性通常针对一个孤立的问题进行研究 而公钥密码学往往需要考虑一些相关的问题 比如,密码分析还需要考虑已知明文、选择明文等相关的情形 讨论的情形不同 计算复杂性考虑最坏的情形 而对于公钥密码学则是不够的 一个困难问题必然会导致一个保密性很好的密码系统吗? 不一定,还需要有好的构造 背包(knapsack)问题 0-1背包问题: 给定一个正整数S和一个背包向量A=(a1,…,an),其中ai是正整数,求满足方程 S = ∑aixi 的二进制向量X=(x1,…,xn)。 这是一个NP完全问题,解决这个问题所需要的时间与n呈指数增长 背包问题用于公钥密码学 做法方法:明文为X,S为密文 奥妙在于有两类背包,一类可以在线性时间内求解,另一类则不能 把易解的背包问题修改成难解的背包问题 公开密钥使用难解的背包问题 私钥使用易解的背包问题 易解的背包问题——超递增背包 满足下列条件的背包 ai ∑aj (j = 1,…,i-1) 这样的背包也被称为简单背包 求解 从最大的ai开始,如果S大于这个数,则减去ai, 记xi为1,否则记xi为0 如此下去,直到最小的ai 例如背包序列{2, 3, 6, 13, 27, 52} 求解70的背包 结果为{2, 3, 13, 52} 所以,密文70对应的明文为110101 转换背包 简单背包用作私钥 如何产生相应的公钥——转换 做法: 选择一个整数 m ∑ai (i = 1,…,n) 然后选择一个与m互素的整数w,然后 ai’ = wai (mod m) (i = 1,…,n) 这里的ai’是伪随机分布的 这样得到的背包是非超递增背包 基于背包问题的公钥密码系统 ——MH公钥算法 加密 将明文分为长度为n的块X=(x1,…,xn) 然后用公钥A’ = (a1’, …, an’),将明文变为密文S S = E(X) = ∑ai’xi 解密 先计算S’ = w-1S mod m 再求解简单背包问题 S’ = ∑aixi 背包密码系统的意义 是第一个公钥密码系统 有较好的理论价值 在实践过程中,大多数的背包方案都已被破解,或者证明存在缺陷 RSA算法 1977年由Ron Rivest、Adi Shamir和Len Adleman发明,1978年公布 是一种块加密算法。 明文和密文在0~n-1之间,n是一个正整数 应用最广泛的公钥密码算法 只在美国申请专利,且已于2000年9月到期 RSA算法描述 分组大小为k, 2k n ? 2k+1 加密: C = Me mod n 解密: M = Cd mod n = Med mod n 公钥: KU={e,n}, 私钥: KR={d,n} 上述算法需要满足以下条件: 能够找到e,d,n,使得Med mod n = M, 对所有Mn 计算Me和Cd相对容易 从e和n得到d是在计算上不可行的 RSA密钥生成原理 令n=pq, p?q都是素数,?(n)=(p-1)(q-1)是n的Euler数 Euler定理推论: 若n=pq, p?q都是素数, k是任意整数,则 mk(p-1)(q-1)+1 ? m mod n, 对任意0?m?n 只要选择e,d, 满足ed=k?(n)+1,即 ed ? 1 mod ?(n) ? d ? e-1 mod ?(n) 公钥: KU={e,n}, 私钥: KR={d,n} 数论基础 Fermat定理: p素数,a是整数且不能被p整除,则: ap-1 ?

您可能关注的文档

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档