第十一讲 SM2加密 武汉大学密码学

合集下载

密码学SM2,SM3,SM4加密标准

密码学SM2,SM3,SM4加密标准

课外实践五SM2、SM3及SM4加密标准一、概述1.SM2椭圆曲线公钥密码算法加密标准SM2算法就是ECC椭圆曲线密码机制,但在签名、密钥交换方面不同于ECDSA、ECDH等国际标准,而是采取了更为安全的机制。

SM2-1椭圆曲线数字签名算法,SM2-2椭圆曲线密钥交换协议,SM2-3椭圆曲线公钥加密算法,分别用于实现数字签名密钥协商和数据加密等功能。

SM2算法与RSA算法不同的是,SM2算法是基于椭圆曲线上点群离散对数难题,相对于RSA算法,256位的SM2密码强度已经比2048位的RSA密码强度要高。

椭圆曲线算法公钥密码所基于的曲线性质:椭圆曲线多倍点运算构成一个单向函数。

在多倍点运算中,已知多倍点与基点,求解倍数的问题称为椭圆曲线离散对数问题。

对于一般椭圆曲线的离散对数问题,目前只存在指数级计算复杂度的求解方法。

与大数分解问题及有限域上离散对数问题相比,椭圆曲线离散对数问题的求解难度要大得多。

因此,在相同安全程度要求下,椭圆曲线密码较其他公钥密码所需的秘钥规模要小得多。

2.SM3哈希算法加密标准SM3是一种密码散列函数标准。

密码散列函数是散列函数的一种。

它被认为是一种单向函数,也就是说极其难以由散列函数输出的结果,回推输入的数据是什么。

这种散列函数的输入数据,通常被称为消息,而它的输出结果,经常被称为消息摘要。

SM3适用于商用密码应用中的数字签名和验证消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。

为了保证杂凑算法的安全性,其产生的杂凑值的长度不应太短,例如MD5输出128比特杂凑值,输出长度太短,影响其安全性SHA-1算法的输出长度为160比特,SM3算法的输出长度为256比特,因此SM3算法的安全性要高于MD5算法和SHA-1算法。

一个理想的密码散列函数应该有这些特性:对于任何一个给定的消息,它都很容易就能运算出散列数值;难以由一个已知的散列数值,去推算出原始的消息;在不更动散列数值的前提下,修改消息内容是不可行的;对于两个不同的消息,它不能给与相同的散列数值。

武汉大学《密码学》课件第六讲 工作模式

武汉大学《密码学》课件第六讲 工作模式
z 设T1,T2 ,…,Tn-1,Tn 是一给定的计数序列,
M1 , M2 , … , Mn-1 , Mn 是 明 文 , 其 中 M1 , M2,…,Mn-1是标准块,Mn 的可能是标准块,也 可能是短块。设其长度等于u,u小于等于分组长 度。
29
二、分组密码的工作模式
6、CTR(Counter Mode Encryption)模式
z 2000年美国学者J0hn Black和Phllip Rogaway提出 X CBC模式,作为CBC模式的扩展,被美国政府 纳作为标准。
z X CBC主要是解决了CBC要求明文数据的长度是 码分组长度的整数倍的限制,可以处理任意长的数 据。如果用分组密码是安全的,则密钥序列就是安 全的。
23
二、分组密码的工作模式
z X CBC模式的主要缺点: 有填充,不适合文件和数据库加密。
使用3个密钥,需要传输填充长度,控制复杂。
28
二、分组密码的工作模式
6、CTR(Counter Mode Encryption)模式 z CTR模式是Diffie和Hellman于1979年提出的,在征
集AES工作模式的活动中由California大学的Phillip Rogaway等人的推荐。
CTR模式的优点是安全、高效、可并行、适合任意长度 的数据;
Oi的计算可预处理高速进行; 由于采用了摸2加实现加密,是对合运算,解密运算与加
密运算相同。 适合随机存储数据的解密。
z CTR模式的缺点:
没有错误传播,因此不易确保数据完整性。
33
三、短块加密
z分组密码一次只能对一个固定长度的明文
(密文)块进行加(解)密。
z称长度小于分组长度的数据块为短块。 z必须采用合适的技术解决短块加密问题。 z短块处理技术:

密码学SM2,SM3,SM4加密标准

密码学SM2,SM3,SM4加密标准

课外实践五SM2、SM3及SM4加密标准一、概述1.SM2椭圆曲线公钥密码算法加密标准SM2算法就是ECC椭圆曲线密码机制,但在签名、密钥交换方面不同于ECDSA、ECDH 等国际标准,而是采取了更为安全的机制.SM2-1椭圆曲线数字签名算法,SM2-2椭圆曲线密钥交换协议,SM2-3椭圆曲线公钥加密算法,分别用于实现数字签名密钥协商和数据加密等功能。

SM2算法与RSA算法不同的是,SM2算法是基于椭圆曲线上点群离散对数难题,相对于RSA算法,256位的SM2密码强度已经比2048位的RSA密码强度要高。

椭圆曲线算法公钥密码所基于的曲线性质:椭圆曲线多倍点运算构成一个单向函数.在多倍点运算中,已知多倍点与基点,求解倍数的问题称为椭圆曲线离散对数问题。

对于一般椭圆曲线的离散对数问题,目前只存在指数级计算复杂度的求解方法。

与大数分解问题及有限域上离散对数问题相比,椭圆曲线离散对数问题的求解难度要大得多。

因此,在相同安全程度要求下,椭圆曲线密码较其他公钥密码所需的秘钥规模要小得多。

2.SM3哈希算法加密标准SM3是一种密码散列函数标准.密码散列函数是散列函数的一种。

它被认为是一种单向函数,也就是说极其难以由散列函数输出的结果,回推输入的数据是什么。

这种散列函数的输入数据,通常被称为消息,而它的输出结果,经常被称为消息摘要。

SM3适用于商用密码应用中的数字签名和验证消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。

为了保证杂凑算法的安全性,其产生的杂凑值的长度不应太短,例如MD5输出128比特杂凑值,输出长度太短,影响其安全性SHA-1算法的输出长度为160比特,SM3算法的输出长度为256比特,因此SM3算法的安全性要高于MD5算法和SHA—1算法。

一个理想的密码散列函数应该有这些特性:对于任何一个给定的消息,它都很容易就能运算出散列数值;难以由一个已知的散列数值,去推算出原始的消息;在不更动散列数值的前提下,修改消息内容是不可行的;对于两个不同的消息,它不能给与相同的散列数值。

国密SM2加密算法的RCCA安全设计

国密SM2加密算法的RCCA安全设计

国密SM2加密算法的RCCA安全设计国密SM2加密算法的RCCA安全设计摘要:随着互联网的快速发展,信息安全成为了重要的关注领域。

作为一种新兴的密码算法,国密SM2被广泛应用于加密通信领域。

然而,随着计算机技术的不断发展,攻击者的攻击手段也越来越复杂。

为了提高SM2算法的安全性,本文提出了一种RCCA安全设计策略,旨在进一步保护SM2算法免受不同类型的攻击。

1. 引言SM2算法是我国自主设计的一种椭圆曲线公钥密码算法,具有高效、安全等特点,在我国加密通信中被广泛应用。

然而,随着计算机技术和密码分析的发展,SM2算法的安全性也面临着新的威胁。

2. SM2算法简介SM2算法基于椭圆曲线离散对数问题,主要包括密钥生成、加密和解密三个过程。

其中,密钥生成过程中使用了随机数生成算法;加密过程使用了随机数生成算法和点压缩算法;解密过程使用了椭圆曲线点恢复算法。

3. RCCA安全设计策略为了进一步提高SM2算法的安全性,本文提出了RCCA (Random Oracle ConvIncability against Chosen-Ciphertext Attacks)安全设计策略。

该策略主要包括以下几个方面的设计:3.1 随机数的生成与保密在SM2算法的密钥生成、加密和解密过程中,随机数的生成非常重要。

为了保证随机数的安全性,可以采用硬件随机数生成器和伪随机数生成器相结合的方式。

同时,需要确保生成的随机数在传输和存储过程中的保密性,可以采用加密传输和存储等措施。

3.2 密钥的保护与管理密钥是SM2算法安全性的关键因素,因此密钥的保护与管理非常重要。

可以采用密钥集中存储和密钥分散存储相结合的方式,将密钥分散存储在多个地方,以提高密钥的安全性。

同时,还可以使用密码学方法对密钥进行加密和保护。

3.3 对抗选择密文攻击选择密文攻击是一种常见的密码攻击方法,为了对抗这种攻击方式,可以采用密文检验和验证机制。

密文检验可以通过对密文的合法性和完整性进行验证,以识别篡改的密文。

武汉大学《密码学》课件第十四讲 认证

武汉大学《密码学》课件第十四讲 认证

26
四、报文认证
3、报文内容的认证
z 报文内容认证使接收方能够确认报文内容的真实 性,这可以通过验证消息认证码 的正确性来实现。
z 消息认证码MAC(Message Authentication Code) 是消息内容和密钥的公开函数,其输出是固定长度 的短数据块:
MAC=C(M,K)
27
四、报文认证
12
二、身份认证
1. 口令
z 利用数字签名方法验证口令 : ④ 份当有且效仅。当IDi= IDi*, Ni*=Ti+1时系统才确认用户身 ⑤ 它安不全存性储分于析系:统口中令,是所用以户任的何保人密都的不解可密能密得钥K到d;i ,
由虽于然K从e终i存端储到于系系统统的中通,道但上是传由输K的ei不是能签推名出数K据di ;而 播K不Tid,攻是i;且K击由d仅。i本于当但身系N必,统i*须=所为T对以每i+T1攻用i是实击户才施者设接保也置收护不了访。能已问通访,过问所截次以取数可获标以得志抗重
2
内容简介
第十讲 公钥密码(2) 第十一讲 数字签名(1) 第十二讲 数字签名(2) 第十三讲 HASH函数 第十四讲 认证 第十五讲 密码协议 第十六讲 密钥管理(1) 第十七讲 密钥管理(2) 第十八讲 复习
3
教材与主要参考书
教材
参考书
4
一、认证的概念
z 认证(Authentication)又称鉴别,确认,它是证实 某人某事是否名符其实或是否有效的一个过程。
① 采用传统密码 z 设A为发送方,B为接收方。A和B共享保密的密
钥KS。A的标识为IDA,报文为M,在报文中增加 标识IDA ,那么B认证A的过程如下:
A→B:< IDA ,E(IDA||M ,KS) > z B收到报文后用KS解密,若解密所得的发送方标

DES

DES

z 结论:S盒的密码学特性确保了DES的安全!
29
五、加密函数 f
⑤置换运算P
z 把数据打乱重排。 z 在保密性方面,起扩散作用: 因为S盒是6位输入,4位输出,其非线性作用是局部的 因此,需要把S盒的混淆作用扩散开来 z S盒与P置换的互相配合,共同确保DES的安全。 z 矩阵: 16 1 2 19 7 20 21 29 12 28 15 23 26 5 18 31 8 24 14 32 27 3 13 30 6 22 11 4 17 10 9 25
12
二、DES加密过程
⑷ 第二次加密迭代至第十六次加密迭代分别用子密 钥K2 ,...,K16进行,其过程与第一次加密迭代相同。 ⑸ 第十六次加密迭代结束后,产生一个64位的数据 组。以其左边32位作为R16 ,以其右边32位作为L16 。 ⑹ R 16与L16合并,再经过逆初始置换IP –1,将数据重 新排列,便得到64位密文。 ⑺ DES加密过程的数学描述: Li = Ri-1 Ri =Li-1⊕f (Ri-1, Ki) i = 1,2,…,16
26
五、加密函数 f
10 0 1 2 3 0 1 2 3 4 5 14 4 13 1 2 15 0 15 7 4 14 2 4 1 14 8 13 6 15 12 8 2 4 9
111010
6 7 8 9 10 11 8 3 10 6 13 1 10 6 12 2 11 15 12 9 1 7 5 11 3 11 12 11 7 14 12 5 9 3 10
注意:
•IP中的置 换是规律的 •这对保密 是不利的
20
四、初始置换IP和IP-1
2、逆初始置换IP-1
①、作用
把64位中间密文打乱重排。 形成最终的64位密文。

安全的两方协作SM2签名算法

安全的两方协作SM2签名算法

安全的两方协作SM2签名算法SM2是一种基于椭圆曲线密码体制的数字签名算法,适用于安全的两方协作签名方案。

在SM2算法中,有两个主要参与者:密钥生成中心(KGC)和签名者。

KGC负责生成密钥对,并将公钥广播给所有签名者。

签名者使用自己的私钥和KGC的公钥来生成签名,而验证者则使用KGC的公钥和签名者的公钥来验证签名的有效性。

SM2算法的安全性主要基于椭圆曲线密码学的难解性和随机性。

在椭圆曲线密码体制中,找到一个合法的密钥对是计算上困难的,因此攻击者很难伪造签名者的私钥。

SM2算法还使用了随机数来增加签名的随机性和不可预测性,使得攻击者更难预测签名的结果。

与其他数字签名算法相比,SM2算法具有较高的安全性和效率。

SM2算法的签名长度固定,因此比RSA等算法更适合用于网络传输等场景。

SM2算法还具有良好的抗量子计算攻击能力,因此在未来量子计算环境下也具有较好的应用前景。

SM2是一种高效安全的两方协作数字签名算法,适用于需要数字签名的各种场景,特别是在需要保证数据完整性和安全性的网络传输中具有广泛的应用前景。

随着移动互联网的飞速发展,人们对于安全、便捷的数据传输和数字签名需求日益增长。

在这篇文章中,我们将探讨轻量级SM2两方协同签名的概念、特点、优点及应用场景,以此应对移动互联网环境下的安全挑战。

轻量级SM2两方协同签名是一种基于椭圆曲线密码学的数字签名技术,其安全性高、计算量小、部署方便等特点使其在移动互联网环境中备受。

轻量级SM2两方协同签名的优点主要表现在以下几个方面。

它采用了非对称加密算法,确保了消息的机密性和完整性。

由于其算法优化,计算量相对较小,能够在移动设备上快速处理,使得用户体验更加流畅。

该技术部署方便,对设备资源要求较低,适合在各种类型的移动设备上运行。

在移动互联网环境下,轻量级SM2两方协同签名有着广泛的应用场景。

例如,在安全电子邮件中,可以利用该技术确保邮件的来源和内容不被篡改,保护用户的隐私和安全。

SM2算法简介

SM2算法简介

SM2算法简介SM2算法简单介绍2009年11月目录1SM2算法和RSA算法有什么关系? (1)2为什么要采用SM2算法替换RSA算法? (1)3SM2和椭圆曲线算法是什么关系? (3)4椭圆曲线算法是什么原理? (3)5SM2算法可以进行哪些密码应用? (4)6SM2算法速度快吗? (4)7SM2签名算法支持多大的数据量,签名结果为多少字节? (5)8SM2加密算法支持多大的数据量,加密结果增加多少字节? (5)9SM2相关算法有哪些? (5)国家密码管理局于2010年12月17日发布了SM2椭圆曲线公钥密码算法,并要求为对现有基于RSA算法的电子认证系统、密钥管理系统、应用系统进行升级改造。

关于算法标准,请参见《国家密码管理局公告(第21 号)》,网址为/。

SM2算法是一种什么样的加密算法,有什么特点,如何进行应用?本文整理在SM2应用实践中遇到的问题,供大家分享。

1 SM2算法和RSA算法有什么关系?SM2算法和RSA算法都是公钥密码算法,SM2算法是一种更先进安全的算法,在我们国家商用密码体系中被用来替换RSA算法。

2 为什么要采用SM2算法替换RSA算法?随着密码技术和计算技术的发展,目前常用的1024位RSA算法面临严重的安全威胁,我们国家密码管理部门经过研究,决定采用SM2椭圆曲线算法替换RSA算法。

SM2算法在安全性、性能上都具有优势,参见表1算法攻破时间,表2算法性能。

表1 算法攻破时间表2 算法性能3 SM2和椭圆曲线算法是什么关系?一提起曲线,大家就会想到方程,椭圆曲线算法是通过方程确定的,SM2算法采用的椭圆曲线方程为:y2 = x3 + ax + b在SM2算法标准中,通过指定a、b系数,确定了唯一的标准曲线。

同时,为了将曲线映射为加密算法,SM2标准中还确定了其它参数,供算法程序使用。

4 椭圆曲线算法是什么原理?本文不探讨椭圆曲线的数学理论,仅通过图示展示算法原理。

请参见下图:图1 椭圆曲线算法原理上图为方程:y2 = x3–x的曲线。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
18
一、椭圆曲线
4、 GF(2m)上的椭圆曲线
z 除了 GF(p) 上的椭圆曲线,还有定义在 GF(2m) 上的 圆曲线。 z 基于这两种椭圆曲线都可以设计出安全的椭圆曲线 密码。 z 定义:设m是正整数,且b ≠0,称曲线 y2 +xy =x3 +ax2+b ,a,b∈GF(2m) 为GF(2m)上的椭圆曲线。 z 注意:GF(2m)上的椭圆曲线与GF(p)上的椭圆曲线 加法定义不同。
160 位的椭圆曲线密码的安全性相当于 1024 位的 RSA 密 码, 而且运算速度也较快。
27
三、椭圆曲线公钥密码
1、椭圆曲线密码概况
19
一、椭圆曲线
z 举例:g(x)=x4+x+1是GF(2)上的既约多项式,用g(x)构造扩域 GF(24)。取a =α3,b =α14,考虑GF(24)上的椭圆曲线多项式 y2 +xy=x3 +ax2+b=x3 +α3x2+α14 通过穷举,求出其全部解点如下: P1= (0000,1011) P2= (0001,0000) P3= (0001,0001) P4= (0010,1101) P5= (0010,1111) P6= (0011,1100) P7= (0011,1111) P8 = (0101,0000) P9= (0101,0101) P10= (0111,1011) P11= (0111,1100) P12= (1000 , 0001) P13= (1000,1001) P14= (1001,0110) P15= (1001,1111) P16= (1011,0010) P17= (1011,1001) P18= (1100,0000) P19= (1100,1100) P20= (1111,0100) P21= (1111,1011)
17
一、椭圆曲线
G =(2,7) 2G =(5,2) 3G =(8,3) 4G =(10,2) 6G =(7,9) 5G =(3,6) 7G =(7,2) 8G =(3,5) 9G =(10,9) 10G =(8,8) 11G =(5,9) 12G =(2,4) 13G =O( ∞,∞ ) z 在上例中,由于p较小,使GF(p)也较小,故可以利用穷举的 方法求出所有解点。但是,对于一般情况要确切计算椭圆曲 线解点数N的准确值比较困难。 z N满足以下不等式 P+1-2P 1/2≤N≤P+1+2P 1/2 。
22
二、椭圆曲线离散对数问题
③求对数 x 的运算为 x=logαy,1≤x≤p-1 由于上述运算是定义在有限域Fp 上的,所以称为离 散对数运算。 z 从 x 计算 y 是容易的。可是从 y计算 x 就困难得多,利 用目前最好的算法,对于认真选择的p,求解离散对 数问题的计算复杂性为O(p ½)。 z 据此,对于认真选择的、足够大的p,求解离散对数 问题是困难的。
密码学
第十一讲 中国商用公钥密码 SM2加密算法
张焕国 武汉大学计算机学院 空天信息安全与可信计算教育部重点实验室
目录
第一讲 第二讲 第三讲 第四讲 第五讲 第六讲 第七讲 第八讲 第九讲 信息安全概论 密码学的基本概念 数据加密标准(DES) 高级数据加密标准(AES) 中国商用密码SMS4与分组密码应用技术 序列密码基础 祖冲之密码 中国商用密码HASH函数SM3 复习
25
三、椭圆曲线公钥密码
1、椭圆曲线密码的一般情况
z 一些国际标准化组织已把椭圆曲线密码作为新的信 息安全标准。如, IEEE P1363/D4,ANSI F9.62, ANSI F9.63 等标准,分别规范了椭圆曲线密码在 Internet协议安全、电子商务、Web服务器、空间通 信、移动通信、智能卡等方面的应用。 z 我国商用密码采用了椭圆曲线密码,并颁布了椭圆 曲线密码标准算法SM2。
24
二、椭圆曲线离散对数问题
2、椭圆曲线群上的离散对数问题
z 一般情况下,椭圆曲线上的解点所构成的群 E不一 定都是循环群。于是我们希望从中找出一个循环子 群E1 。 z 可以证明, 当循环子群 E1 的阶 n 是足够大的素数 时,这个循环子群中的椭圆离散对数问题是困难 的。 z 基于子群E1的椭圆离散对数问题可以构造密码,并 称为椭圆曲线密码。
8
一、椭圆曲线
1、素域上的椭圆曲线
③定义加法 z 设P(x1,y1)≠Q(x2,y2),且P和Q不互逆 ,则 P(x1 ,y1)+Q(x2 ,y2)=R(x3 ,y3) 。其中 x 3 = λ2 - x1 - x2 , y3 = λ(x1 –x3) - y1 , (y2 -y1 ) λ= 。 (x2 -x1 )
10
一、椭圆曲线
1、素域上的椭圆曲线
z 作集合E={全体解点,无穷点O }。 z 可以验证,如上定义的集合E和加法运算构成加法交 换群。 z 复习:群G的定义
G是一个非空集,定义了一种运算,且运算是自封闭的; 运算满足结合律; G中有单位元; G中的元素都有逆元;
11
一、椭圆曲线
z 结果说明,这个群是循环群,P5是群的一个生成元。 z 注意:并不是所有非零元素都是群的生成元,如P12= (1000,0001)的阶为11。
21
二、椭圆曲线离散对数问题
1、对比素域上的离散对数问题
①设p为素数,则模p的剩余构成有限域: Fp= GF(p) ={0,1,2 ,… , p-1} Fp 的非零元素构成乘法循环群Fp*: Fp* ={1,2 ,…, p-1} ={α,α2,α3,… ,αp-1}, 则称α为Fp*的生成元或模 p 的本原元。 ②求α的摸幂运算为: y =αx mod p,1≤x≤p-1,
13
一、圆曲线
3、举例
z 求出mod 11 的平方剩余。
12=1 mod 11 32=9 mod 11 52=25=3 mod 11 72=49=5 mod 11 92=81=4 mod 11 22=4 mod 11 42=16=5 mod 11 62=36=3 mod 11 82=64=9 mod 11 102=100=1 mod 11
所以,mod 11的平方剩余为: {1,3,4,5,9}
14
一、椭圆曲线
x 0 1 2 3 4 5 6 7 8 9 10 x3+x+6 mod 11 6 8 5 3 8 4 8 4 9 7 4 是否是模11平方剩余? No No Yes Yes No Yes No Yes Yes No Yes y
9
一、椭圆曲线
1、素域上的椭圆曲线
③定义加法 z 当P (x1 ,y1) = Q(x2,y2)时 P(x1 ,y1)+ Q(x2,y2) =2 P(x1 ,y1) =R(x3 ,y3)。 其中 x3 = λ2 - 2x1 , y3 =λ(x1 –x3) - y1 , (3x12 +a ) λ= 。 (2y1 )
16
一、椭圆曲线
z 由于是加法群,n个元素G相加表示为: G+G+...+G = nG , 并称为倍点运算。 z 我们取G =(2,7)为生成元,2倍点计算如下: 2G =(2,7)+(2,7)=(5,2) z 因 为 λ= ( 3×22+1 ) ( 2×7 ) -1 mod 11 =2×3-1 mod 11=2×4 mod 11=8 。于是, x3 =82-2×2 mod 11=5 , y3 =8(2-5)-7 mod 11=2 。
4,7 5,6 2,9 2,9 3,8 2,9
15
一、椭圆曲线
z 根据上表可知椭圆曲线 y2=x3+x+6 mod 11 的全部解 点集为: (2,4), (2,7), (3,5), (3,6), (5,2), (5,9), (7,2), (7,9), (8,3), (8,8), (10,2), (10,9)。 再加上无穷远点O,共13的点构成一个加法交换群。 z E={全体解点 ∪ 无穷远点O} z 由于群E的元素个数为13,而13为素数,所以群E是 循环群,而且任何一个非0元素都是生成元。
6
一、椭圆曲线
1、素域上的椭圆曲线
为了利用解点构成交换群,需要引进一个 0 元素,并 定义如下的加法运算: ①定义单位元O 引进一个无穷点 O (∞,∞), 简记为 O ,作为 0 元 素。 O(∞,∞)+O(∞,∞)=0+0=0 。 并定义对于所有的解点P(x ,y), P(x ,y)+O=O + P(x ,y)=P(x ,y)。
一、椭圆曲线 二、椭圆曲线离散对数问题 三、椭圆曲线公钥密码 四、中国商用椭圆曲线公钥密码SM2
5
一、椭圆曲线
人们对椭圆曲线的研究已有100多年的历史
1、素域上的椭圆曲线
z 设p是大于3的素数,且4a3+27b2 ≠0 mod p ,称 y2 =x3 +ax+b , a, b∈GF(p) 为GF(p)上的椭圆曲线。 z 由椭圆曲线可得到一个同余方程: y2 =x3 +ax+b mod p z 其解为一个二元组<x, y>,x, y∈GF(p),将此二元组 描画到椭圆曲线上便为一个点,故 称其为一个解 点。
23
二、椭圆曲线离散对数问题
2、椭圆曲线群上的离散对数问题
z 设G是椭圆曲线上的一个解点,它的阶为n,t 为一 正整数,且1≤t <n。对于给定的G和t,计算tG=Q 是容易的。但若已知 G 和 Q 点,要计算出 t则是困难 的。这便是椭圆曲线群上的离散对数问题,简记为 ECDLP。 z 除了几类特殊的椭圆曲线外,对于一般ECDLP目前 尚没有有效求解方法。因子分解和DLP问题都有亚 指数求解算法,而ECDLP尚没有亚指数求解算法。 z 据此,对于认真选择的、足够大的解点群,椭圆曲 线离散对数问题是困难的。
相关文档
最新文档