椭圆曲线密码总结大全

合集下载

椭圆曲线密码(PDF)

椭圆曲线密码(PDF)

内容安全研究室朱潜

报告的主要内容

⏹群和域的相关概念

⏹椭圆曲线的定义和运算法则

⏹椭圆曲线离散对数问题

⏹椭圆曲线密码体制

⏹椭圆曲线密码的优势

⏹曲线密码体制的应用

为什么要在有限域上研究椭圆曲线密码?

密码学常在有限域的基础上研究椭圆密码曲线,在有限域的椭圆

m基础上。基于有限域Fp,而不是使用实数域、曲线主要是基于Fp和F

2

是因为实数计算时会产生截段误差,无法满足密码算法的精确性,而

m是由于可以在计算机处理时大大提

且实数运算的速度很慢。基于F

2

高处理速度。

群和域的相关概念

定义1:任意给定一个非空集合F和其上的二元运算“*”,如果满足

(1)封闭性:对任意a,b∈F,存在c ∈F,使得c=a*b ∈F;

(2)结合律:对于任意a,b∈F,都有(a*b)*c=a*b*c;

(3)单位元e存在:即存在e ∈F,对于任意a ∈F,都有a*e=e*a;

(4)逆元存在:对于任意a ∈F,存在b ∈F,使得a*b=b*a=e;则称集合F关于二元运算“*”构成群,记为(F,*)。

在群(F,*)中,如果对于任意a ,b∈F,都有a*b=b*a,则称群(F,*)是交换群,也称为阿贝尔(Abel)群。

定义2:设“+”,“*”是G上的二元运算,如果满足:

(1)(G,+)是一个交换群,其单位元记为0;

(2)(G-{0},*)是交换群,其单位元记为1;

(3)运算“*”对“+”可分配,即对任意a ,b,c∈G,都有

a*(b+c)=a*b+a*c

(a+b)*c=a*c+b*c

则称(G,+,*)是域。

群和域的相关概念

定义3:有限域,如果域F中的元素个数有限,则称F为有限域或伽罗华域,其

加密常用的椭圆曲线名称

加密常用的椭圆曲线名称

加密常用的椭圆曲线名称

加密技术一直是信息安全领域的关键问题之一。在加密算法中,椭圆曲线加密(Elliptic Curve Cryptography,ECC)因其安全性高、计算量小而备受青睐。在实际应用中,椭圆曲线的选择非常重要。下面介绍几种常用的椭圆曲线名称。

首先是SECP256K1,这是比特币所采用的椭圆曲线。由于其高度安全性和效率,SECP256K1已成为比特币网络的标准。许多其他加密货币也在采用该曲线,因此它是当前最流行的椭圆曲线之一。

其次是SECP256R1(也称为NIST P-256),这是美国国家标准与技术研究所(NIST)推荐的椭圆曲线之一。SECP256R1广泛用于Web 加密协议(如TLS)和数字签名算法(如ECDSA)等领域,被认为是安全性与效率的良好平衡选择。

另外,还有Curve25519,它是由丹尼尔·J·伯恩斯坦(Daniel J. Bernstein)开发的一种高度安全的椭圆曲线。该曲线目前被广泛应用于各种加密协议和系统中,例如SSH、OpenVPN等。由于其高度的

安全性和计算效率,Curve25519成为了密码学界备受关注的研究对象。

此外,Brainpool曲线家族也是常用的椭圆曲线之一。Brainpool曲线由Brainpool项目组开发,旨在提供一系列安全性高且性能良好的曲线供密码学领域使用。这些曲线适用于各种加密应用,包括数字签名、密钥协商和加密算法等。

最后,Edwards曲线家族也值得一提。Edwards曲线家族是Bernstein等人提出的一系列高效、安全的曲线,被广泛应用于密码学领域。这些曲线在安全性和计算效率方面都表现出色,特别适用于数字签名和密钥交换等应用。

5-8椭圆曲线密码

5-8椭圆曲线密码

密码学原理

。kP =(k P P P 个

+++

SM 2

有限域F q 选择素域 F p (p >2191)或二元扩域 F 2m (m >192)

2

3

3

2

2322242700

) m m p p F y x ax b a,b F a b mod p F y xy x ax b a,b F b =++∈+≠+=++∈≠ 的椭圆曲线方程 ,( 的椭圆曲线方程 ,◆

弱椭圆曲线:若某椭圆曲线存在优于n 1/2级(n 是基点的阶) F q 上的超奇异曲线(有限域F q 的特征整除q+1-#E (F q ) )和F p 上的异常曲线

( #E (F q ) =p )都是弱椭圆曲线

推荐曲线参数:使用素域256位椭圆曲线 曲线方程

23y x ax b =++

ecc椭圆曲线密码算法

ecc椭圆曲线密码算法

ECC椭圆曲线密码算法来源于椭圆曲线离散对数问题(ECDLP),保证了曲线上不包含奇点,在数学上每个点代表都有切线,其计算法则如下:

•加法运算:C=A+B,交点的存在是很必要的,不能线与y轴平行(相交于无穷远点)。

•乘法运算:C=A+A,如果B无限靠近点A,做点A对椭圆曲线的切线。集合内的数字进行加减乘除运算,不会超出集合。

密码学 椭圆曲线

密码学 椭圆曲线
椭圆曲线的定义
椭圆曲线 E:K上方程 y 2 x3 bx c 表示的曲线。 Note:
2 2 3 E ( x , y ) K y x bx c 1.


2. K为某代数结构,如:R, Q, Z , Z p , Z n等。 3. 点 , E ,简记 。
例1 设椭圆曲线E:
一般椭圆曲线上的加法
模p椭圆曲线
模n椭圆曲线

用椭圆曲线因式分解
3 4. 除非特别指明,设三次多项式 x bx c
没有重根,即要求 4b3 27c2 0. 5. 方程更一般的形式: y 2 x3 ax 2 bx c.
实数域上椭圆曲线的两种形式
实数域上椭圆曲线上点的加法
具体操作:

定义P 1P 2 P 3:
过作P 1, P 2 直线L,如果 P 1, P 2 重合,作切线L;
取直线L和曲线E的第三交点 Q;

Q
P2
取Q 关于x轴的对称点,即得 P3 .
约定:过P,∞直线为垂直线,于 是 P ;
Note:

P 1
P3


如果P,Q为对称Hale Waihona Puke Baidu,则P+Q= ∞;称 Q为P的负元,记Q=-P; 减法定义:P 1P 2 P 1 P 2 .

椭圆曲线常用的三次结论专题练习

椭圆曲线常用的三次结论专题练习

椭圆曲线常用的三次结论专题练习

椭圆曲线是密码学中常用的数学工具,它具有许多有趣的性质

和结论。本文将介绍椭圆曲线常用的三次结论,并提供相关的练题。

1. 结论一:三次点倍乘法

三次点倍乘法是椭圆曲线中的基本操作,用于计算两个点之间

的乘积。其算法如下:

输入:椭圆曲线上的点P和一个整数k。

输出:点Q,满足Q = kP。

算法步骤:

1. 初始化点Q为O(标识元素)。

2. 将点P复制为R。

3. 将整数k转换为二进制形式,从高位到低位依次遍历。

4. 若遍历位为1,则执行点加法:Q = Q + R。

5. 执行点加法:R = R + R。

6. 若遍历位为0,则继续遍历下一位。

7. 若仍有未遍历的位,则返回步骤4。

8. 返回点Q。

2. 结论二:三次点的加法

椭圆曲线上的点加法是指将两个点相加得到另一个点的操作。其算法如下:

输入:椭圆曲线上的两个点P和Q。

输出:点R,满足R = P + Q。

算法步骤:

1. 若P = O,则返回Q;若Q = O,则返回P。

2. 计算斜率s:

- 若P = Q,则计算斜率s = (3 * P.x^2 + a) / (2 * P.y)。

- 若P ≠ Q,则计算斜率s = (Q.y - P.y) / (Q.x - P.x)。

3. 计算点R的x坐标:R.x = s^2 - P.x - Q.x。

4. 计算点R的y坐标:R.y = s * (P.x - R.x) - P.y。

5. 返回点R。

3. 结论三:三次点的减法

椭圆曲线上的点减法是指将两个点相减得到另一个点的操作。其算法如下:

输入:椭圆曲线上的两个点P和Q。

椭圆曲线密码算法原理及其应用

椭圆曲线密码算法原理及其应用

椭圆曲线密码算法原理及其应用密码学是保障个人信息安全的重要领域,而椭圆曲线密码算法

作为一种新的密码算法,在这方面扮演着越来越重要的角色。本

文将介绍椭圆曲线密码算法的基本原理、优势以及应用。

一、基本原理

椭圆曲线密码算法是一种基于椭圆曲线数学理论而产生的密码

算法,其基础理论是椭圆曲线离散对数问题。所谓离散对数问题

是指对于一个有限域$GF(q)$上的椭圆曲线$E$和其中的一个点$P$,在椭圆曲线上选择另一个点$Q$,求解在有限域$GF(q)$上,使得$Q=nP$的$n$的过程。而这个过程是不可逆的,即求解$Q$到

$P$的离散对数是困难的,因此椭圆曲线密码算法因此而诞生。

椭圆曲线密码算法可以参照传统公钥密码算法的框架设计,即

包含公钥和私钥两部分。一个椭圆曲线密码体制要求选择一个椭

圆曲线$E$,再分别选择两个$E$上的点$P$和$Q$,称为基点和公

钥点。基点$P$作为私钥的一部分,而公钥点$Q$仅作为公钥的一

部分,即:

- 公钥:$(E,P,Q)$

- 私钥:$P$

发送者想对一条长为$m$的消息进行加密,首先选择一个小于$q$的整数$k$作为随机数,使得$P$乘以$k$所得到的点$K=kP$不能在椭圆曲线上表达为$Q$的$n$倍。在此基础上,发送者计算:

- 加密的密文:$c=(K,m+kn)$

接收者收到密文$c$后,使用私钥$P$计算:

- 解密后的明文:$m=\frac{c_2-k \cdot H(c_1)}{k}$

其中$H(c_1)$是消息$c_1$的哈希值。

二、优势

椭圆曲线密码算法相较于传统公钥密码算法,有以下优势:

(完整版)椭圆曲线知识点总结(经典版)

(完整版)椭圆曲线知识点总结(经典版)

(完整版)椭圆曲线知识点总结(经典版)

1. 椭圆曲线简介

椭圆曲线是一种特殊类型的曲线,可以用于加密和签名算法中。它的数学性质使得椭圆曲线加密成为一种强大且安全的加密方法。

2. 关键概念

2.1 椭圆曲线方程

椭圆曲线的方程一般形式为:y^2 = x^3 + ax + b,其中a和b

是方程中的常数。

2.2 基点

基点是椭圆曲线上的一个固定点,用于构建密码算法中的公钥

和私钥。

2.3 椭圆曲线运算

椭圆曲线运算包括点的加法和乘法操作。点的加法操作用于构

建公钥,点的乘法操作用于构建私钥。

3. 椭圆曲线加密算法

3.1 密钥生成

在椭圆曲线加密算法中,首先需要生成公钥和私钥。公钥是基

点经过多次乘法运算得到的点,私钥是一个随机生成的整数。

3.2 加密和解密

加密过程中,需要选择一个随机数作为加密的短期私钥,并使

用公钥进行点乘操作。解密过程中,需要使用私钥进行点乘操作以

还原加密文本。

4. 安全性和优势

椭圆曲线加密算法相较于其他加密算法具有更高的安全性和更

小的密钥长度要求。其安全性取决于基点的选择和曲线参数的选取。

5. 应用领域

椭圆曲线加密算法广泛应用于网络通信、数字签名、支付系统

等安全领域。

6. 总结

椭圆曲线是一种数学上的强大工具,其在加密和签名领域有着广泛的应用。了解椭圆曲线的基本概念和运算规则,可以帮助我们更好地理解和应用椭圆曲线加密算法。

椭圆曲线密码及其算法研究

椭圆曲线密码及其算法研究

椭圆曲线密码及其算法研究

椭圆曲线密码及其算法研究

椭圆曲线密码(Elliptic Curve Cryptography,ECC)是近几十年来密码学领域中备受瞩目的一种公钥密码体制。相较于传统的RSA算法和椭圆曲线数字签名算法(ECDSA),ECC

在保证安全性的同时拥有更高的效率和较短的密钥长度,成为公钥密码学的新兴方向。本文旨在探讨椭圆曲线密码及其算法的研究进展和应用前景。

一、椭圆曲线密码基础知识

(一)椭圆曲线的定义与性质

椭圆曲线是由满足特定的数学方程的点所形成的集合。其方程形式为y² = x³ + ax + b,其中a和b为系数。椭圆曲线具

有封闭性、可交换性、公钥可计算性等重要性质,成为构建密码体制的理想选择。

(二)椭圆曲线点的加法与乘法

椭圆曲线上的点加法与乘法是椭圆曲线密码关键的运算操作。点加法规定了如何将两个椭圆曲线上的点相加,得到第三个点。点乘法规定了如何将一个点乘以一个整数,得到另一个点。这些运算规则体现了椭圆曲线密码的数学共性与独特性。

二、椭圆曲线密码的安全性

(一)大整数分解困难性

椭圆曲线密码依赖于大整数分解问题的难解性,即给定一个大整数n,计算出质因数p和q的乘积n的困难程度。在实践中,通过选择适当长度的密钥,使得分解n变得异常困难,以达到保护数据安全的目的。

(二)离散对数问题的困难性

椭圆曲线密码的安全性还建立在离散对数问题的困难性基础上。即对于给定的椭圆曲线上的一个点P,计算离散对数d,满足

P = dG,其中G为椭圆曲线的基点。ECC的安全性也依赖于找

到计算P = dG的困难途径。

椭圆曲线加密算法(一)

椭圆曲线加密算法(一)

椭圆曲线加密算法(⼀)

椭圆曲线加密和签名算法

简述

椭圆曲线密码学,简称ECC。是⼀种建⽴公开加密的算法,也就是⾮对称加密。和RSA类似。被公认在给定密钥长度下最安全的加密算法。应⽤范围很⼴,主要的三个技术TLS、PGP、SSH都在使⽤它,特别是以BTC为代表的数字货币。

椭圆曲线

椭圆曲线并不是我们⾼中时学习的椭圆形状,其名字的由来是应为椭圆曲线的描述⽅程,类似于计算⼀个椭圆周长的⽅程。这⾥⽤来加密的椭圆曲线的定义是⼀个特殊情况。

椭圆曲线暂时可以简单的理解为:

其中:

a和b决定了曲线在坐标系的不同形状。举个例⼦:

当b=1,a的取值从2到-3时,曲线的形状如下:

特殊曲线:当a=b=0时(左),或a=-3,b=2时(右),这两条都不是符合标准的曲线。

阿贝尔群

数学上,群是指定义了⼆元操作运算并且⽤符号“+”表⽰的⼀个集合。则必须满⾜以下要求:

封闭性:如果a和b都是群成员,那么a+b也是群成员。

组合性:(a+b)+c=a+(b+c)

单位元:存在确切的⼀个值可以保证 a+0=0+a=a成⽴,我们称之为单位元

逆元:每个成员都有⼀个相反数:对于任意值a必定存在b使得a+b=0

这样的群我们称之为阿贝尔群。另外阿贝尔群还应该满⾜交换律a+b=b+a

我们所熟知的在整数范围内的加法运算(Z,+)就是阿贝尔群

封闭性:a、b属于整数,a+b也属于整数

组合性:(a+b)+c=a+(b+c)

单位元:0值就是单位元

逆元:a的逆元就是-a

所以(Z,+)是⼀个阿贝尔群。

椭圆曲线的加法

假设我们有这样⼀条椭圆曲线y2=x3-x,曲线上有两点P、Q,过P和Q做⼀条直线,交椭圆曲线于R'点,再过R'点做垂直于X轴的直线,交椭圆曲线于另⼀点R,我们定义P+Q=R。

椭圆曲线最常用二级结论总结

椭圆曲线最常用二级结论总结

椭圆曲线最常用二级结论总结

在密码学领域中,椭圆曲线被广泛用于实现安全的加密和签名

算法。下面是对椭圆曲线最常用的二级结论的总结:

1. 加法结合律(Associative Law of Addition):对于任意三个

点P、Q和R,它们位于同一条曲线上,有(P + Q) + R = P + (Q + R)。这意味着椭圆曲线上的点相加的顺序不影响最终的结果。

2. 加法逆元(Additive Inverse):对于椭圆曲线上的任意点P,存在一个点Q,使得P + Q = O,其中O表示无穷远点。这个点Q

称为点P的加法逆元,记作-Q = -P。加法逆元的存在性保证了每个

点在椭圆曲线上都有一个相反的点。

3. 线性性质(Linearity Property):对于任意两个点P和Q以

及一个标量k,有k(P + Q) = kP + kQ。这意味着可以通过对点P进

行重复相加来计算任意标量倍数的点。

4. 点的倍乘运算(Point Multiplication):给定一个点P和一个

标量k,在椭圆曲线上可以通过连续相加点P来计算kP。这种运算

可以高效地实现加密和签名算法中的密钥生成、加密和签名验证等操作。

5. 椭圆曲线上的离散对数问题(Elliptic Curve Discrete Logarithm Problem):椭圆曲线上的离散对数问题是指给定点P和Q,求解满足kP = Q的标量k。该问题在当前的计算能力下被认为是难解的,从而保证了椭圆曲线加密算法的安全性。

以上是椭圆曲线最常用的二级结论总结。这些结论对于理解和使用椭圆曲线加密和签名算法非常重要,同时也为进一步研究和开发密码学算法提供了基础。

椭圆曲线加密的算法

椭圆曲线加密的算法

椭圆曲线加密的算法是一种基于椭圆曲线数学理论的公钥加密技术。

椭圆曲线加密的算法主要依赖于椭圆曲线离散对数问题的困难性。其加密过程主要包括以下几个步骤:

1.选择一条椭圆曲线E和椭圆曲线上的一个点P,以及一

个整数n,n大于1且n是椭圆曲线E上的阶(即E上的点的个数)。

2.选择一个随机数d,d在1到n-1之间,d作为私钥。

3.计算椭圆曲线E上的点Q=dP,Q作为公钥。

4.发送方将明文编码到椭圆曲线E上的点M上,然后选

择一个随机数k,计算椭圆曲线E上的点C1=kM和C2=kP。

5.发送方将C1和C2发送给接收方。

6.接收方收到C1和C2后,使用自己的公钥Q和接收到

的C1计算椭圆曲线E上的点S=QC1。

7.接收方再使用自己的私钥d和计算得到的点S计算椭圆

曲线E上的点M'=dS。

8.接收方将M'解码为明文,得到发送方发送的原始信息。

椭圆曲线密码学

椭圆曲线密码学

椭圆曲线密码学(Elliptic Curve Cryptography, ECC)是一种现代密码学中的公钥密码学体制。与传统的RSA体制相比,ECC在相同的安全性下可以使用较短的密钥长度,这使得ECC成为了一种更加高效和安全的密码学算法。

椭圆曲线密码学的基础是椭圆曲线。椭圆曲线是由一组满足特定方程的点构成的曲线。在密码学中,常常使用的是定义在有限域上的椭圆曲线。有限域上的椭圆曲线为计算提供了更高效的方法。

在椭圆曲线密码学中,每个用户都有一对密钥,分别是私钥和公钥。私钥由用户保密,而公钥可以被其他人获取。利用椭圆曲线上的点运算,可以实现一些特殊的加密和解密操作。

在加密过程中,发送方可以利用对方的公钥对消息进行加密。而解密过程则需要利用私钥来得到原始的明文消息。椭圆曲线密码学的特点是,即使拥有公钥和加密算法,破解密文也是相当困难的。

椭圆曲线密码学的应用广泛,它在许多安全协议中被使用,包括数字签名、身份认证、密钥交换等。例如,当一个用户要登录一个系统时,可以使用椭圆曲线密码学来进行身份认证,保证用户的电子身份的准确性。在数字支付中,椭圆曲线密码学也被广泛应用,用于保护用户的支付信息和安全交易。

相比于传统的RSA体制,椭圆曲线密码学具有更高的安全性和效率。在相同的安全水平下,所需的密钥长度更短,这减少了存储和传输成本,并提高了计算效率。这使得椭圆曲线密码学在资源受限的设备上有着广泛的应用,例如智能卡和物联网设备。

然而,椭圆曲线密码学也存在一些挑战和问题。首先,选择合适的椭圆曲线参数是很关键的,不合适的参数选择可能导致安全性降低。其次,椭圆曲线密码学的数学基础相对较复杂,使用不当易出现安全漏洞。因此,需要对椭圆曲线密码学算法进行严格的分析和评估,以确保其安全性和可靠性。

ec密码算法

ec密码算法

ec密码算法

EC密码算法,即椭圆曲线密码算法,是一种基于椭圆曲线的数学难题的公

钥密码体系。它利用椭圆曲线离散对数问题的难解性,实现加密和解密操作。

在有限域上定义的椭圆曲线上,可以定义加法运算,并满足封闭性、结合性和映射性质。基于这些性质,可以构建椭圆曲线密码算法。

在椭圆曲线密码算法中,选取椭圆曲线上的一个点作为基点,选择椭圆曲线上一点P,计算n倍的P,其中n为小于点P的阶的最小正整数。如果存在这样的n,则称n为P的阶。如果不存在这样的n,则称P为无限阶。

椭圆曲线密码算法具有较高的安全性,因为椭圆曲线离散对数问题的求解难度很高。此外,椭圆曲线密码算法还具有密钥长度小、计算量小、处理速度快等优点。

在实际应用中,椭圆曲线密码算法可以用于数字签名、密钥交换和加密等场景。例如,利用椭圆曲线密码算法实现数字签名,可以验证数据的完整性和身份认证等。

需要注意的是,椭圆曲线密码算法需要选择合适的椭圆曲线和点,以及计算n倍的P时的精度和误差控制等参数,以确保算法的安全性和可靠性。同时,也需要加强椭圆曲线密码算法的实现和保护,防止被攻击者破解和利用。

第10章椭圆曲线密码学

第10章椭圆曲线密码学

10.3椭圆曲线算术

椭圆曲线理论是一个古老而深奥的数学分支,已有100多年的历史,一直作为一门纯理论学科被少数数学家掌握。它被广大科技工作者了解要归功于20世纪80年代的两件重要的工作。第一,Weil应用椭圆曲线理论证明了著名的费尔玛大定理。第二,Neal Koblitz和ler把椭圆曲线群引入公钥密码理论中,提出了基于椭圆曲线的公钥密码体制ECC(Elliptic Curves Cryptosystem),取得了公钥密码理论和应用的突破性进展。

20世纪90年代,最通用的公钥密码体制是RSA公钥密码体制和DH公钥密码交换算法。其密钥长度一般为512比特。1999年8月22日RSA-512被攻破,所以,这些公钥不得不被加长。为了达到对称密钥128比特的安全水平,NIST推荐使用3072比特的RSA密钥。显然这种密钥长度的增长,对本来计算速度缓慢的RSA来说,无疑是雪上加霜。ECC的提出改变了这种状况,实现了密钥效率的重大突破。大有以强大的短密钥优势取代RSA成为新一代公钥标准(事实标准)之势。

ECC的安全性和优势得到了业界的认可和广泛的应用:

(1)1998年ECDSA(椭圆曲线数字签名算法)被确定为ISO/IEC数学签名标准ISO14888-3;

(2)1999年2月ECDSA被ANSI确定为数字签名标准ANSI X9.62-1998,ECDH(椭圆曲线

Diffie-Hellman)被确定为ANSI X9.63;

(3)2000年2月ECDSA被确定为IEEE标准IEEE1363-2000,同期,NIST确定其为联邦数

第14讲--ECC(密码学)

第14讲--ECC(密码学)
d ,
是公
开的加密密钥,d是保密的解密密钥。
(3)明文空间为
Zp Zp
* *
,密文空间为 E Z
* p
Zp
*
ECC上的M-V公钥密码体制
(4)加密变换:对任意明文
x ( x1 , x 2 ) Z p Z p
* *
,秘密随
0
1 机选取一个整数k, k ord ( ) 1 ,密文为 y ( y
,明文为
mod p )
其中
( c1 , c 2 ) dy 0
椭圆曲线上的M-V公钥密码体制
说明: 在M-V公钥密码体制中,密文倚赖于明文x和秘
密选取的随机整数k。因此,明文空间中的一个明
文对应密文空间中的许多不同的密文。
ECC与RSA/DSA在同等安全条件 下所需密钥长度
RSA/DSA ECC 512 106 768 132 1024 160 2048 211 21000 600
椭圆曲线上的离散对数问题
设p>3是一个素数,E是有限域
Zp
上的椭圆曲线。
设G是E上的一个循环子群, 是G的一个生成元,
已知 G
,求满足

n 和 的唯一整数n,称为椭圆曲线上的离散对数问题。
数论补充:平方剩余
a 定义(平方剩余):设p>2是一个素数, Z p 即
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

椭圆曲线密码

概述:

椭圆曲线密码学(ECC, Elliptic curve cryptography )是基于椭圆曲线数学的一种公钥密码的方法。1985年,Neal Koblitz 和Victor Miller 分别独立提出了椭圆曲线密码体制(ECC),其依据就是定义在椭圆曲线点群上的离散对数问题的难解性。

引言:

ECC 被广泛认为是在给定密钥长度的情况下,最强大的非对称算法,因此在对带宽要求十分紧的连接中会十分有用。

ECC 的主要优势是在某些情况下它比其他的方法使用更小的密钥——比如RSA ——提供相当的或更高等级的安全。ECC 的另一个优势是可以定义群之间的双线性映射,基于Weil 对或是Tate 对;双线性映射已经在密码学中发现了大量的应用,例如基于身份的加密。不过一个缺点是加密和解密操作的实现比其他机制花费的时间长。

国家标准与技术局和ANSI X9已经设定了最小密钥长度的要求,RSA 和DSA 是1024位,ECC 是160位,相应的对称分组密码的密钥长度是80位。NIST 已经公布了一列推荐的椭圆曲线用来保护5个不同的对称密钥大小(80, 112, 128, 192, 256)。一般而言,二进制域上的ECC 需要的非对称密钥的大小是相应的对称密钥大小的两倍。

椭圆曲线密码学的许多形式有稍微的不同,所有的都依赖于被广泛承认的解决椭圆曲线离散对数问题的困难性上,对应有限域上椭圆曲线的群。

引理及有关概念:

(1) 无穷远元素(无穷远点,无穷远直线)平面上任意两相异直线的位置关系

有相交和平行两种。引入无穷远点,是两种不同关系统一。AB ⊥L1, L2∥L1,直线AP 由AB 起绕A 点依逆时针方向转动,P 为AP 与L1的交点,如图1。Q=∠BAP →π /2则AP → L2,可设想L1上有一点P ∞,它为L2和L1的交点,称之为无穷远点。直线L1上的无穷远点只能有一个(因为过A 点只能有一条平行于L1的直线L2,而两直线的交点只能有一个)。

图1

结论:

1.

平面上一组相互平行的直线,有公共的无穷远点(为与无穷远点相区别,把

原来平面上的点叫做平常点)。

2. 平面上任何相交的两直线L1,L2有不同的无穷远点。原因:若否,则L1和

L2有公共的无穷远点P ∞,则过两相异点A 和P ∞有相异两直线,与公理相矛盾。

3. 全体无穷远点构成一条无穷远直线

备注:欧式平面添加上无穷远点和无穷远直线,自然构成射影平面,如图2。

图2

(2)齐次坐标,解析几何中引入坐标系,用代数的方法研究欧氏空间。这样的坐标法也可推广至摄影平面上,建立平面摄影坐标系。 平面上两相异直线L1,L2,其方程分别为:

L1: 0111=++c y b x a L2: 0222=++c y b x a

其中11,b a 不同时为0;22,b a 也不同时为0。

设:D=

2

2

11b a b a Dx=

2

2

11c b c b Dy=

2

2

11a c a c

若D ≠0,则两直线L1,L2相交于一平常点P(x,y),其坐标为x=Dx/D ,y=Dy/D. 这组解可表为:x/Dx=y/Dy=1/D 。(约定:分母Dx ,Dy 有为0时,对应的分子也要为0)上述表示可抽象为(Dx ,Dy ,D)。

若 D=0,则L1∥L2,此时L1和L2交于一个无穷远点P ∞。这个点P ∞可用过原点O 且平行于L2的一条直线L 来指出他的方向,而这条直线L 的方程就是:

022=+y b x a .

为把平常点和无穷远点的坐标统一起来,把点的坐标用(X ,Y ,Z)表示,X ,Y ,Z 不能同时为0,且对平常点(x ,y)来说,有Z ≠0,x=X/Z ,y=Y/Z ,于是有:

X / Dx = Y / Dy = Z / D ,有更好的坐标抽象(X,Y,Z),这样对于无穷远点则有Z=0也成立。 备注:

1. 若实数p ≠0,则(pX,pY,pZ)与(X,Y,Z)表示同一个点。实质上用(X:Y:Z)

表示。3个分量中,只有两个是独立的,具有这种特征的坐标就叫齐次坐标。

D

D Z Y

D Z X y x 1

==

2. 设有欧氏直线L ,它在平面直角坐标系Oxy 上的方程为:0=++c by ax .则L

上任一平常点(x,y)的齐次坐标为(X,Y,Z),Z ≠0,代入得:0=++cz by ax .给L 添加的无穷远点的坐标(X,Y,Z)应满足0=+by ax ,0=z ;平面上无穷远直线方程自然为:0=z . (3)任意域上的椭圆曲线

K 为域,K 上的摄影平面)(2K P 是一些等价类的集合{(X:Y:Z)}。考虑下面的Weierstrass 方程(次数为3的齐次方程):

36242232312z a xz a z x a x yz a xyz a z y +++=++

(其中系数ai ∈K ,或ai ∈K 为K 的代数闭域)

Weierstrass 方程被称为光滑的或非奇异的是指对所有适合以下方程的射影点P=(X:Y:Z) ∈)(2K P 来说:

=),,(z y x F 036242232312=----++z a xz a z x a x yz a xyz a z y

在P 点的三个偏导数之中至少有一个不为 0若否称这个方程为奇异的。 椭圆曲线E 的定义:

椭圆曲线E 是一个光滑的Weierstrass 方程在)(2K P 中的全部解集合。

36242232312z a xz a z x a x yz a xyz a z y +++=++

备注:

1. 在椭圆曲线E 上恰有一个点,称之为无穷远点,即(0:1:0)用θ表示。

2.椭圆曲线的研究来源于椭圆积分:

)

(x E dx

这里)(x E 是x 的三次多项式或四次多项式.这样的积分不能用初等函数来表达,为此引进所谓椭圆函数.所谓椭圆曲线指的是由韦尔斯特拉斯(Weierstrass)方程,可用非齐次坐标的形式来表示,设x=X/Z ,y=Y/Z ,于是原方程可转化为:

64223312a x a x a x y a xy a y +++=++ (1) 此时,椭圆曲线E 就是方程(1)在射影平面)(2K P 上的全部平常点解,外加一个无穷远点θ组成的集合。

3.若K a a a a a ∈64321,,,,,此时椭圆曲线E 被称为定义在K 上,用E/K 表示。如果E 能被限定在K 上,那么E 的K ——有理点集合表示为E(K),它为E 中的全体有理坐标点的集合外加无穷远点θ.

相关文档
最新文档