- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
04计算机安全-公钥密码体系ppt研讨
公钥密码体系 杭州电子科技大学 对称算法的不足 密钥必须通过某一信道协商,对这个信道的安全性的要求比正常的传送消息的信道的安全性要高 公钥密码背景 公钥密码体制的特点: 加密密钥与解密密钥在本质上是不同的,即已知一个密钥并不能轻易地求出另一个密钥。 不需要增加分发密钥的额外信道。 公钥密码的安全性依赖于从已知的公钥,加密算法和密文中无法求出明文或秘钥。 Diffie和Hellman提出了一种陷门单向函数概念,为建立公钥密码体制找到了一种途径。 单向函数 函数f 若满足下列条件 1)对任意给定的x,容易计算f(X)=y 2)对任意给定的y,求出x使得f(x)=y是困难的。 求离散对数问题 y=gx mod p 若给出p,g,y求x称为求离散对数问题 因子分解问题 n=pq 若给定n,求p,q称为因子分解问题 背包问题 给定一个有限个自然数序列集合B=(b1,b2,……,bn)及二进制数序列x=(x1,x2,……,xn),S= x1 b1 + x2 b2 +…… + xn bn 给定B,S,求x序列,称为求背包问题 单向陷门函数: 单向陷门函数是满足下列条件的函数f: 给定x,计算y=f(x)是容易的; 给定y, 计算x使x=f-1(y)是不可行的; 存在陷门t,已知t时,对给定的任何y,若相应的原象x存在,则计算x是容易的。 通过陷门单向函数建立公钥密码 f(x)是单向陷门函数,陷门为t。 那 么设计公钥密码系统时f(x)作为公钥,陷门t作为私钥,任何人都可将明文m利用公钥f(x)加密得到密文y=f(m),而任何人不知道私钥即陷门,由密文y都无法求出m,因为f(x)是单向的,但拥有私钥,便可容易求出m RSA公钥密码体制 1 、1977年由Rivest、Shamir和 Adleman发明并于1978年公布。 2 、明文和密文在0~n-1之间,n是一个正整数 3 、应用最广泛的公钥密码算法 4 、只在美国申请专利,且已于2000年9月到期 欧拉函数 欧拉函数 欧拉函数 欧拉函数 欧拉函数 RSA密码体制的描述 密钥生成算法:每个用户执行以下操作 随机生成两个不同大素数p,q; 计算n=pq,?(n)=(p-1)(q-1); 随机选取整数e,1e?(n),满足(e,?(n))=1; 利用扩展欧基里德算法求出满足ed=1 mod(?(n))的整数d; 公开(n,e),保密(p,q,?(n),d)。其中e就是加密密钥,而d就是解密密钥,n称为模数。 RSA加解密:若B要利用A的公钥进行加密,则B执行 获得A可信的公钥(n,e); 把消息按分组的方式表示为区间[0,n-1]之间的整数m; 计算c=Ee(m)=me mod n; 将密文c发送给A; 解密:为从c中恢复明文m,A利用解密密钥d,计算 m=cd mod n 对于密文c=66,其解密过程如下 m=6677=(662)38 × 66 mod 119 =7238 × 66 mod 119 =4738 × 66 mod 119 =6719 × 66 mod 119 =(672)9 × 67 × 66 mod 119 =869 × 19 mod 119 =(862)4 × 86 × 19 mod 119 =184 × 87 mod 119 =18 × 87 mod 119 =19 mod 119 解密的正确性: 费马小定理: 若(a,n)=1,则a?(n)=1 mod n 推论1:若n=pq,p≠q都是素数,k是任意整数,则 m?(n)+1=m(p-1)(q-1)+1=m mod n 推论2: mk(p-1)(q-1)+1=m mod n 由于ed=1 mod?(n),则存在整数k,满足 ed=1+k?(n)=1+k(p-1)(q-1) 因此 cd=med=mk(p-1)(q-1)+1=m mod n 所以解密成功。 加密函数 E(x)=xe mod n 是一个单向函数,所以对攻击的人来说求逆计算不可行。而A能解密的陷门是由分解n=pq,知 ?(n)=(p-1)(q-1) 从而用欧氏算法解出解密私钥d.所以如果能够分解n,那么就可以完成解密。 RSA的安全性 RSA的安全性是基于大整数的因子分解的困难性 猜想:攻破RSA与分解n是多项式等价 的。然而,这个猜想至今没有给出可信的 证明!!! (1)素因子p,q应当是强素数, p是强素数:存在大素数p1,p1|p-1,同时r1 , r2是大素数, r1 | p1 -1 ,r2| p1 -1. 选择强素数的目的是因为选择的p,q如果p-1,q-1的素因子都很小,则n=pq存在p-1或p+1分解法 (2)因子p,q的差必须足够大。 如果p,q比较接近,则由p,q的
文档评论(0)