- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
营销研究公开密钥密码(讲课用)
三、RSA公开密钥密码 1978年美国麻省理工学院的三名密码学者R.L.Rivest,A.Shamir和L.Adleman提出了一种基于大合数因子分解困难性的公开密钥密码,简称为RSA密码。 RSA密码被誉为是一种风格幽雅的公开密钥密码。既可用于加密,又可用于数字签名,安全、易懂。 RSA密码已成为目前应用最广泛的公开密钥密码。 * 三、RSA公开密钥密码 1、加解密算法 ①随机地选择两个大素数 p和 q,而且保密; ②计算n=pq,将 n公开; ③计算φ(n)=(p-1)(q-1),对φ(n)保密; ④随机地选取一个正整数e, 1eφ(n)且(e,φ(n))=1,即φ(n)和e互素。将 e公开; ⑤根据 ed modφ(n)=1 ,求出d,并对d保密; ⑥加密运算:C=M e mod n ⑦解密运算:M=C d mod n * RSA举例 举例: 1.选择p=7,q=17。 2.计算n=p*q=119,Φ(n)=(p-1)*(q-1)=96。 3.选e=5,因为5和96互素。 4.根据5d mod 96=1,得d=77。 5.公钥为(5,119),密钥为77。 如:明文为P=6 密文: C=Pe mod n = 65 mod 119 =41。 解密:P=Cd mod n = 4177 mod 119= 6。 * * 三、RSA公开密钥密码 2、算法论证 ④在计算上由公开密钥不能求出解密钥 小合数的因子分解是容易的,然而大合数的因子分解却是十分困难的。关于大合数的因子分解的时间复杂度下限目前尚没有一般的结果,迄今为止的各种因子分解算法提示人们这一时间下限将不低于O(EXP(lnNlnlnN)1/2)。根据这一结论,只要合数足够大,进行因子分解是相当困难的。 * 三、RSA公开密钥密码 2、算法论证 ④在计算上由公开密钥不能求出解密钥 假设截获密文C,从中求出明文M。他知道 M≡Cd mod n , 因为n是公开的,要从C中求出明文M,必须先求出d,而d是保密的。但他知道, ed≡1 mod φ(n), e是公开的,要从中求出d,必须先求出φ(n),而φ(n)是保密的。 * 三、RSA公开密钥密码 2、算法论证 ④在计算上由公开密钥不能求出解密钥 但他又知道, φ(n)=(p-1)(q-1), 要从中求出φ(n),必须先求出p和q,而p和q是保密的。但他知道, n=pq, 要从n求出p和q,只有对n进行因子分解。而当n足够大时,这是很困难的。 * 课堂作业: 1、穷举法破解 KTGCFDQQM密文 2、给定素数p=3,q=11,用RSA算法生成一对密钥,并对2进行加密。 * 区别发送方A和接收方B 公开密钥密码 * . 一、公开密钥密码体制的基本思想 1、传统密码的缺点: ①收发双方持有相同密钥,密钥分配困难,网络环境更突出。 ②不能方便地实现数字签名,商业等应用不方便。 Ke = Kd * (1)密钥管理量的困难 传统密钥管理:两两分别用一对密钥时,则n个用户需要C(n,2)=n(n-1)/2个密钥,当用户量增大时,密钥空间急剧增大。如: n=100 时, C(100,2)=4,995 n=5000时, C(5000,2)=12,497,500 (2)数字签名的问题 传统加密算法无法实现抗抵赖的需求。 问题: * 公开密钥密码体制起源 公钥密码又称为双钥密码和非对称密码,是1976年由Diffie和Hellman在其“密码学新方向”一文中提出的,见划时代的文献: W.Diffie and M.E.Hellman, New Directrions in Cryptography, IEEE Transaction on Information Theory, V.IT-22.No.6, Nov 1976, PP.644-654 RSA公钥算法是由Rivest,Shamir和Adleman在1978年提出来的, 见 Communitions of the ACM. Vol.21.No.2. Feb. 1978, PP.120-126 * 公开密钥密码的重要特性 加密与解密由不同的密钥完成 加密: m?c: c = EK(m) 解密: c?m: m = DB(c) = DB(EK(m)) 知道加密算法,从加密密钥得到解密密钥在计算上是不可行的 两个密钥中任何一个都可以用作加密而另一个用作解密(不是必须的) m = DB(EK(m)) = EK(DB(m)) * 公钥加密算法 传统加密过程 加密和解密使用相同密钥
文档评论(0)