非对称算法(共8页)_第1页
非对称算法(共8页)_第2页
非对称算法(共8页)_第3页
非对称算法(共8页)_第4页
非对称算法(共8页)_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、非对称算法(sun f)非对称 HYPERLINK /view/934.htm t /_blank 密钥算法(sun f)是指一个 HYPERLINK /view/155969.htm t /_blank 加密算法的加密(ji m)密钥和解 HYPERLINK /subview/2992698/10990363.htm t /_blank 密密钥是不一样的,或者说不能由其中一个密钥推导出另一个密钥。简介非对称 HYPERLINK /view/934.htm t /_blank 密钥也叫 HYPERLINK /view/1145160.htm t /_blank 公开密钥加密,它是用两个数学相关

2、的密钥对信息进行编码。在此系统中,其中一个 HYPERLINK /view/934.htm t /_blank 密钥叫公开密钥,可随意发给期望同密钥持有者进行安全通信的人。 HYPERLINK /view/1145160.htm t /_blank 公开密钥用于对信息加密。第二个密钥是私有密钥,属于密钥持有者,此人要仔细保存私有密钥。密钥持有者用私有密钥对收到的信息进行解密。优点首先,在多人之间进行保密信息传输所需的密钥组和数量很小;第二,密钥的发布不成问题;第三, HYPERLINK /view/1145160.htm t /_blank 公开密钥系统可实现数字签名。缺点: HYPERLIN

3、K /view/444169.htm t /_blank 公开密钥加密比私有密钥加密在加密/解密时的速度慢。加解密时采用的 HYPERLINK /view/934.htm t /_blank 密钥的差异:从上述对对称密钥算法和非对称密钥算法的描述中可看出,对称密钥加解密使用的同一个密钥,或者能从加 HYPERLINK /subview/2992698/10990363.htm t /_blank 密密钥很容易推出解密密钥对称密钥算法具有加密处理简单,加解密速度快,密钥较短,发展历史悠久等特点,非对称密钥算法具有加解密速度慢的特点,密钥尺寸大,发展历史较短等特点。asymmetric encod

4、ing algorithm非 HYPERLINK /view/7591.htm t /_blank 对称加密算法需要两个密钥: HYPERLINK /view/1145160.htm t /_blank 公开密钥(publickey)和私有密钥(privatekey)。 HYPERLINK /view/1145160.htm t /_blank 公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非 HYPERLINK /view/7591.h

5、tm t /_blank 对称加密算法。 非 HYPERLINK /view/7591.htm t /_blank 对称加密算法实现机密信息交换的基本过程是:甲方生成一对 HYPERLINK /view/934.htm t /_blank 密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。另一方面,甲方可以使用乙方的公钥对机密信息进行加密后再发送给乙方;乙方再用自己的私匙对加密后的信息进行解密。甲方只能用其专用 HYPERLINK /view/934.htm t /_blank 密

6、钥解密由其公用密钥加密后的任何信息。 非 HYPERLINK /view/7591.htm t /_blank 对称加密算法的保密性比较好,它消除了最终用户交换 HYPERLINK /view/934.htm t /_blank 密钥的需要。非对称 HYPERLINK /view/1519102.htm t /_blank 密码体制的特点:算法强度复杂、安全性依赖于算法与密钥但是由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快。对称 HYPERLINK /view/1519102.htm t /_blank 密码体制中只有一种密钥,并且是非公开的,如果要解密就得让对方知道密钥。所以保

7、证其安全性就是保证密钥的安全,而非对称密钥体制有两种密钥,其中一个是公开的,这样就可以不需要像对称密码那样传输对方的密钥了。这样安全性就大了很多。SM2椭圆曲线公钥密码(m m)算法SM2算法就是ECC椭圆曲线密码机制,但在签名、密钥交换方面不同于ECDSA、ECDH等国际标准,而是采取了更为安全的机制。另外(ln wi),SM2推荐了一条256位的曲线作为标准曲线。ECC椭圆曲线(qxin)密码体制Koblitz和Miller在1985年各自引入密码学。椭圆曲线的Weierstrass方程为,其上面的所有点和无穷远点构成一个加法交换群,其中无穷远点是加法零元。此群的加法法则可以由弦切法所给出

8、,具体见下图。左图中是两个不同点P和Q的加法,右图为相同的点P和P的加法。由弦切法便可以给出椭圆曲线上的加法方程。多倍点运算是指:给定一点P和一个整数k,计算kP,即k个P点的和。椭圆曲线上的离散对数问题为:给定点P和kP,计算整数k。椭圆曲线密码体制的安全性便是建立在椭圆曲线离散对数问题之上。SM2标准包括总则,数字签名算法,密钥交换协议,公钥加密算法四个部分,并在每个部分的附录详细说明了实现的相关细节及示例。SM2算法主要考虑素域和上的椭圆曲线,分别介绍了这两类域的表示,运算,以及域上的椭圆曲线的点的表示,运算和多倍点计算算法。然后介绍了编程语言中的数据转换,包括整数和字节串,字节串和比特

9、串,域元素和比特串,域元素和整数,点和字节串之间的数据转换规则。详细说明了有限域上椭圆曲线的参数生成以及验证,椭圆曲线的参数包括有限域的选取,椭圆曲线方程参数,椭圆曲线群基点的选取等,并给出了选取的标准以便于验证。最后给出椭圆曲线上密钥对的生成以及公钥的验证,用户的密钥对为(s,sP),其中s为用户的私钥,sP为用户的公钥,由于离散对数问题从sP难以得到s,并针对素域和二元扩域给出了密钥对生成细节和验证方式。总则中的知识也适用于SM9算法。在总则(zngz)的基础上给出了数字签名算法(包括数字签名生成算法和验证算法),密钥交换协议以及公钥加密算法(包括加密算法和解密算法),并在每个部分给出了算

10、法描述,算法流程和相关示例。数字签名算法(sun f)适用于商用应用中的数字签名和验证,可满足多种密码应用中的身份(shn fen)认证和数据完整性,真实性的安全需求。密钥交换协议适用于商用密码应用中的密钥交换,可满足通信双方经过两次或可选三次信息传递过程,计算获取一个由双方共同决定的共享秘密密钥(会话秘钥)。公钥加密算法适用于国家商用密码应用中的消息加解密,消息发送者可以利用接收者的公钥对消息进行加密,接收者用对应的私钥进行解,获取消息。数字签名算法,密钥交换协议以及公钥加密算法都使用了国家密管理局批准的SM3密码杂凑算法和随机数发生器。数字签名算法,密钥交换协议以及公钥加密算法根据总则来选

11、取有限域和椭圆曲线,并生成密钥对,具体算法,流程和示例见SM2标准。SM2算法和RSA、对称算法等强度对比如下。保密级别对称密钥长度RSA密钥长度ECC密钥长度保密年限808010241602010112112204822420301281283072256204019219276803842080256256153605122120SM9非对称算法(sun f)SM9是基于对的标识密码算法,与SM2类似,包含四个部分:总则,数字签名算法,密钥交换协议(xiy)以及密钥封装机制和公钥加密算法。在这些算法中使用了椭圆曲线上的对这一个工具,不同于传统意义上的SM2算法,可以实现基于身份的密码体制,

12、也就是公钥与用户的身份信息即标识相关,从而比传统意义上的公钥密码体制有许多优点,省去了证书管理等。密码(m m)中双线性对满足如下条件:双线性性:对任意的,以及,有;非退化性:,其中P为的生成元,Q为的生成元;可计算性:存在有效的算法计算。其中,为椭圆曲线上的加法群,而为有限域的乘法群。在椭圆曲线对中,根据与是否关系,以及椭圆曲线上的自同态,可以将对分成三种类型,需要考虑在超奇异椭圆曲线,常椭圆曲线上来选取对。常用的对有Weil对,Tate对,Ate对,以及最优对等。基于对的标识密码算法建立在一些对的难解问题,例如双线性Diffie-Hellman问题,双线性逆DH问题等。椭圆曲线上的双线性对

13、为其中k为的嵌入次数。双线性对的双线性的性质是基于对的标识密码算法的基础。SM2中的总则部分同样适用于SM9,由于SM9总则中添加了适用于对的相关理论和实现基础。椭圆曲线双线性对定义和计算在扩域上进行,总则中给出了扩域的表示和运算(yn sun),考虑和上的椭圆曲线。数据类型转换同样包括整数与字节串,比特串和字节串,字节串和域元素,点和字节串之间的转换,其中字节串和域元素之间的数据类型转换涉及到扩域。系统参数的生成比SM2复杂(fz),涉及到对的相关参数,验证也相应地复杂。并在附录B里面详细地描述了计算对的算法Miller算法,并给出了Tate对,Ate的计算,以及适合对的椭圆曲线的生成。 基

14、于总则中的椭圆曲线以及对的基本选取,给出系统参数组,系统主密钥和用户密钥的产生。用户密钥由系统的主密钥和用户标识共同产生。SM9给出了数字签名算法(包括数字签名生成算法,数字签名验证算法),密钥交换协议,以及密钥封装机制和公钥加密算法(包括密钥封装算法,加密盒解密算法)。数字签名算法适用于接收者通过签名者的标识验证数据的完整性和数据发送者的身份,也适用于第三方确定签名及所签数据的真实性。密钥交换协议可以使用通信双方通过双方的标识和自身的私钥经过两次或者可选三次信息传递过程,计算获取一个由双方共同决定的共享秘密密钥。密钥封装机制和公钥加密算法中,利用密钥封装机制可以封装密钥给特定的实体。公钥加密

15、和解密算法即基于标识的非对称秘密算法,该算法使消息发送者可以利用接收者的标识对消息进行加密,唯有接收者可以用相应的私钥对该密文进行解密,从而获取消息。基于对的算法中同样使用了国家密管理局批准的SM3密码杂凑算法和随机数发生器,密钥封装机制和公钥加密算法中使用了国家密码管理局批准的对称密码算法和消息认证码函数。基于对的数字签名算法,密钥交换协议以及密钥封装机制和公钥加密算法的具体算法,流程图和示例(shl)见SM9标准。 RSA算法RSA HYPERLINK /view/355291.htm t /_blank 公钥 HYPERLINK /view/155969.htm t /_blank 加密

16、算法是1977年由 HYPERLINK /view/2838988.htm t /_blank 罗纳德李维斯特(Ron Rivest)、 HYPERLINK /view/10475292.htm t /_blank 阿迪萨莫尔(Adi Shamir)和 HYPERLINK /view/11580236.htm t /_blank 伦纳德阿德曼(Leonard Adleman)一起提出的。1987年首次(shu c)公布,当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。RSA是目前(mqin)最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已

17、被ISO推荐为公钥 HYPERLINK /view/1519129.htm t /_blank 数据加密(ji m)标准。今天只有短的RSA钥匙才可能被强力方式解破。到2008年为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥匙的长度足够长,用RSA加密的信息实际上是不能被解破的。但在 HYPERLINK /view/30655.htm t /_blank 分布式计算和 HYPERLINK /view/18645.htm t /_blank 量子计算机理论日趋成熟的今天,RSA加密安全性受到了挑战。RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但是想要对其乘积进行因

18、式分解却极其困难,因此可以将乘积公开作为加密密钥。基本含义RSA公开密钥密码体制。所谓的公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。在 HYPERLINK /view/696428.htm t /_blank 公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。 HYPERLINK /view/155969.htm t /_blank 加密算法E和解密算法D也都是公开的。虽然解密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK。正是基于这种理论,1978年出现了著名

19、的RSA算法,它通常是先生成一对RSA 密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在 HYPERLINK /view/813.htm t /_blank 网络服务器中注册。为提高保密强度,RSA密钥至少为500位长,一般推荐使用1024位。这就使加密的计算量很大。为减少计算量,在传送信息时,常采用传统加密方法与 HYPERLINK /view/1145160.htm t /_blank 公开密钥加密方法相结合的方式,即信息采用改进的DES或IDEA对话密钥加密,然后使用RSA密钥加密对话密钥和信息摘要。对方收到信息后,用不同的密钥解密并可核对信息摘要。RSA算法

20、(sun f)是第一个能同时用于加密和 HYPERLINK /view/7626.htm t /_blank 数字签名的算法,也易于理解和操作。RSA是被研究(ynji)得最广泛的 HYPERLINK /view/355291.htm t /_blank 公钥算法,从提出到现今的三十多年里,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前(mqin)最优秀的公钥方案之一。SET(Secure Electronic Transaction)协议中要求 HYPERLINK /view/23691.htm t /_blank CA采用2048 HYPERLINK /view/1260953.htm t /_blank bits长的密钥,其他实体使用1024比特的密钥。RSA密钥长度随着保密级别提高,增加很快。下表列出了对同一安全级别所对应的密钥长度。保密级别对称密钥长度(bit)RSA密钥长度(bit)ECC密钥长度(bit)保密年限808010241602010112112204822420301281283072256204019219276803842080256256153605122120这种算法1978年就出现了,它是第一个既能用于数据加密也能用于 HYPERLINK /view/7626.h

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论