- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
遵义师范学院 遵义师范学院 遵义师范学院 主讲 易树鸿 遵义师范学院 遵义师范学院 遵义师范学院 第2章 密 码 技 术 2.4 公钥密码 2.5 消息验证和数字签名 2.4 公钥密码 1. 公钥密码简介 在对称密钥密码体制中,加密运算与解密运算使用同样的密钥。通常使用的加密算法比较简便高效、密钥简短、破译极其困难。但是,在公共的计算机网络上安全地传送和保管密钥是一个严峻的问题。 1976年,美国学者Diffie和Hellman发表了著名论文《密码学的新方向》,提出了建立“公开密钥密码体制”:若用户A有加密密钥ka(公开),不同于解秘密钥ka’(保密),要求ka的公开不影响ka’的安全。若B要向A保密送去明文m,可查A的公开密钥ka,若用ka加密得密文c,A收到c后,用只有A自己才掌握的解密密钥ka’对x进行解密得到m。 2.4 公钥密码 1. 公钥密码简介 同时,Ralph Merkle也独立地提出了这一体制。它的基本思想是采用一对密钥,加密密钥和解密密钥(且从加密密钥推出解密密钥是不可行的),在这一对密钥中,一个可以公开(称为公钥),另一个为私人专用(称为私钥),它是基于陷门单向函数的概念。如果对一个函数f的定义域上的任意一个x都容易计算f(x),但对f的值域上的任意一个y,f-1(y)在计算上是不可行的,就称f是单向函数。如果进一步给定某些辅助信息,计算f-1(y)又变得容易,则称f是陷门单向函数。这个辅助信息也就是私人密钥。 2.4 公钥密码 2. RSA密码系统 1978年,美国麻省理工学院(MIT)的研究小组成员:李维斯特(Rivest)、沙米尔(Shamir)、艾德曼(Adleman)提出了一种基于公钥密码体制的优秀加密算法——RSA算法。RSA的取名就是来自于这三位发明者的姓的第一个字母,后来,他们在1982年创办了以RSA命名的公司RSA Data Security Inc. 和RSA实验室,该公司和实验室在公开密钥密码系统的研究和商业应用推广方面具有举足轻重的地位。 RSA密码系统的安全是基于大整数分解因子的难度,其公开密钥(现在一般是1024位甚至更长)和私人密钥是一对大素数的函数。一般来说,求一对大素数的乘积相对比较容易,但要对这个乘积进行因式分解则非常困难。因此,可以把一对大素数的乘积作为公开密钥公布,而把素数作为私钥,从而从一个公开密钥和密文中恢复出明文的难度等价于分解两个大素数之积。 2.4 公钥密码 2. RSA密码系统 建立RSA密码系统过程如下: (1) 选取两个大素数p和q,p和q的位数差不多大小。 (2) 计算乘积n=pq和Ф(n)=(p-1)(q-1)。 (3) 随机选取加密密钥e,使e和(p-1)(q-1)互素,也即gcd(e,Ф(n))=1。 (4) 计算解密密钥d,以满足ed=1 modФ(n),即e与d互逆,d与n是互素的。 (5) 加密函数为:E(x)=me mod n,解密函数为:D(x)=cd mod n,其中m是明文,c是密文。 (6) {e,n}为公开密钥,d为私人密钥,p、q不再需要,可以丢弃,但不能泄露。一般n的长度是1024位或者更长。 2.4 公钥密码 2. RSA密码系统 RSA加密消息m时,首先将消息分成大小合适的数据分组,然后对分组分别进行加密,每个分组的长度均应该比n的位数要小。 举例,选择两个小的素数取p=11,q=13,p和q的乘积为n=p×q=143,算出另一个数Ф(n)=(p-1)(q-1)=120;再选取一个与z=120互质的数,例如e=7,对于这个e值,可以算出另一个值d=103满足e×d=1 mod z;其实7×103=721除以120确实余1。(n, e)和(n, d)这两组数分别为公开密钥和私人密钥。 2.4 公钥密码 2. RSA密码系统 设想A需要发送机密信息(明文,即未加密的报文)m=85给B,A已经从公开媒体得到了B的公开密钥(n,e)=(143,7),于是A算出加密值c=me mod n=857 mod 143=123并发送给B。B在收到“密文”(即经加密的报文)c=123后,利用只有B自己知道的私人密钥(n,d)=(143,103)计算123103 mod 143,得到的值就是明文(值)85,实现了解密。 在RSA的加/解密过程中都涉及到求一个大整数的幂,然后模n,所以加/解密的速度会比较慢,不论在硬件实现时还是软件实现时,RSA比DES要慢很多。一般公钥密码系统用于以下几个方面:通信保密、数字签名和密钥交换。 2.4 公钥密码 2.
您可能关注的文档
最近下载
- 送气工练习试题及答案.doc
- 企业电气安全事故案例分析.docx VIP
- 李晓峰应用随机过程课后习题_随机过程答案CH2.pdf VIP
- GB T 21186-2007_傅立叶变换红外光谱仪_高清版_可检索.pdf
- JD-66317《可再生能源发电技术》-程明(习题解答)王雅新[18页].docx VIP
- 2025 《高质量数据集 分类指南》.pdf VIP
- (高清版)B/T 15831-2023 钢管脚手架扣件.pdf VIP
- 李晓峰应用随机过程课后习题_随机过程答案CH1.pdf VIP
- 宁夏回族自治区创业担保贷款管理办法.doc VIP
- 卫生健康单位安全生产监管责任清单.docx VIP
原创力文档


文档评论(0)