第6章 椭圆曲线密码体制PPT课件
椭圆曲线公钥密码体制(ECC)
F2m上椭圆曲线的点的加法逆元
• P = (xP, yP)的加法逆元 -P = (xP, xP + yP) • P + (-P) = O • P+O=P
F2m上椭圆曲线不同的点的加法运算
P = (xP, yP) 。如果 P和 Q是不同的点并且P不等于 -Q, 则P + Q = R
s = (yP - yQ) / (xP + xQ) xR = s2 + s + xP + xQ + a yR = s(xP + xR) + xR + yP
F上的椭圆曲线 2m
定义: 对于曲线
y2 +xy= x3 + ax2 + b b不为0,a,b 属于 F2 m
的解的集合构成
F2m 上的椭圆曲线群。记为 E ( F m )
2
F2m上的椭圆曲线举例
• 作为一个简单的例子, 考略 F2 4 , 其上的不可约多项式为 f(x) = x4 + x + 1. • 元素g = (0010)是生成元. • g的幂为: g0 = (0001) g1 = (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) g15 = (0001)
例题
椭圆曲线T=(m=4,f(x)=x4+x+1,g=0010,a=g4,b=g0) 点P=(g6,g8) 求点R=2P
椭圆曲线密码ppt课件
⑴ 密钥生成
• 用户随机地选择一个整数d作为自己的秘密的解 密钥,2≤d≤p-2 。
• 计算y=αd mod p,取y为自己的公开的加密钥。 • 由公开钥y 计算秘密钥d,必须求解离散对数,
由于上述运算是定义在模p有限域上的,所以称为 离散对数运算。
③从x计算y是容易的。可是从y计算x就困难得多, 利用目前最好的算法,对于小心选择的p将至少 需用O(p ½)次以上的运算,只要p足够大,求解 离散对数问题是相当困难的。
篮球比赛是根据运动队在规定的比赛 时间里 得分多 少来决 定胜负 的,因 此,篮 球比赛 的计时 计分系 统是一 种得分 类型的 系统
要小,所以ELGamal密码的加解密速度比RSA稍快。 ②随机数源
由ELGamal密码的解密钥d和随机数k都应是高质量 的随机数。因此,应用ELGamal密码需要一个好的随机 数源,也就是说能够快速地产生高质量的随机数。 ③大素数的选择
为了ELGamal密码的安全,p应为150位(十进制数) 以上的大素数,而且p-1应有大素因子。
三、椭圆曲线密码
2、椭圆曲线
②定义逆元素
设P(x1 ,y1)和Q(x2 ,y2)是解点,如果 x1=x2 且y1=-y2 ,则
P(x1 ,y1)+Q(x2 ,y2)=0 。
这说明任何解点R(x ,y)的逆就是
R(x ,-y)。
注意:规定无穷远点的逆就是其自己。
O(∞,∞)=-O(∞,∞)
篮球比赛是根据运动队在规定的比赛 时间里 得分多 少来决 定胜负 的,因 此,篮 球比赛 的计时 计分系 统是一 种得分 类型的 系统
三、椭圆曲线密码
最新椭圆曲线公钥密码体制(ECC)ppt课件
群
群(G, *)是由集合G和集合上的二元运算* 组成的代数系统,群应满足如 下的性质 :
1、封闭性 : 对于任意的 x,y ∈G,满足 x * y G 2、结合律 :对于任意的 x,y, z ∈G, 满足:
(x * y) * z = x * (y * z) 3、有单位元素 : 存在单位元素 e ∈ G ,满足:
例题
仍以E23(1,1)为例,设P=(3,10),Q=(9,7),求P+Q
710 3 111mod23
93 6 2 x3 112 3910917mod23 y3 11(317)1016420mod23
所以P+Q=(17,20),仍为E23(1,1)中的点。
求点P的2倍
若 P = (xP , yP) 若 yP 不为 0 2P = R 按如下方法计算:
g5 = (111) g6 = (101) g7 = (001) = 1 1.方程 y2 + xy = x3 + g5x2 + g6是否定义了F(23)上的 一个椭圆曲
线? 2. 问点 P(g3, g6)和 Q(g5, g2) 是否位于F(23)上的椭圆曲线 y2 + xy
= x3 + g2 x2 + g6 之上? 3. 求F(23)上的如下椭圆曲线的点的加法逆元?
椭圆曲线E23(1,0) 的点的构造
满足条件的23个点是: (0,0) (1,5) (1,18) (11,10) (11,13) (13,5) (15,20) (16,8) (16,15) (18,10) (18,13) (19,1) (20,19) (21,6) (21,17)
(9,5) (13,18) (17,10) (19,22)
13椭圆曲线密码体系
Weierstrass方程被称为光滑的或非奇异的是指对所有适合 以下方程的射影点P=(X:Y:Z) ∈ P2(K)来说, F(X,Y,Z)=Y2Z+a1XYZ+a3YZ2-X3-a2X2Z-a4XZ2-a6Z3=0 F F F 在P点的三个偏导数 X , Y , Z 之中至少有一个不 为 0若否称这个方程为奇异的。 椭圆曲线E的定义: 椭圆曲线E是一个光滑的Weierstrass方程在P2(K)中 的 全部解集合。 Y2Z+a1XYZ+a3YZ2=X3+a2X2Z+a4XZ2+a6Z3 注: a) 在椭圆曲线E上恰有一个点,称之为无穷远点。即(0:1:0) 用θ表示。
RSA/DS A ECC 512 106 768 132 1024 160 2048 211 2100 0 600
椭圆曲线基础知识
1 有关的基本概念
(1) 无穷远元素(无穷远点,无穷远直线) 平面上任意两相异直线的位置关系有相交和平行两 种。引入无穷远点,是两种不同关系统一。 L2 L1 A
Q
B
有限域上的椭圆曲线点集产生方 法
对每一x(0≤x<p且x为整数),计算x3+ax+b
mod p 决定求出的值在模p下是否有平方根,如果没有则 椭圆曲线上没有与这一x对应的点;如果有,则求 出两个平方根。
Ep(a,b)上加法
如果P,Q∈ Ep(a,b)
P+O=P 如果P=(x,y),则(x,y)+(x,-y)=O
3*. 全体无穷远点构成一条无穷远直线。 注:欧式平面添加上无穷远点和无穷远直线,自然构成射 影平面。 L1 L2 A P∞
(2) 齐次坐标 解析几何中引入坐标系,用代数的方法研究欧氏空 间。这样的坐标法也可推广至摄影平面上,建立平面摄影 坐标系。 平面上两相异直线L1,L2,其方程分别为: L1: a1x+b1y+c1=0 L2: a2x+b2y+c2=0
椭圆曲线密码体制
椭圆曲线密码体制
椭圆曲线 有限域上的椭圆曲线 椭圆曲线上的密码算法 椭圆曲线密码体制的安全性
椭圆曲线
椭圆曲线方程的一般形式是
y2 axy by x3 cx2 dx e
式
其中,a,b,c,d,e是满足一些简单条件的实数。椭圆曲线 的图形并非椭圆,只是其方程与计算椭圆周长的方程类似。 椭圆曲线除了所有满足曲线方程的点之外还包括一个特殊的 点,即无穷远点,记为O。
A选小于n的整数nA作为秘密钥,并计算PA=nAG作为公钥。 B类似选取自己的秘密钥nB和公开钥PB=nBG。 A和B分别计算K=nAPB和K=nBPA产生共享的秘密钥。
椭圆曲线上的密码算法
ECC实现ElGamal密码体制
选取一条椭圆曲线,得到Ep(a,b),将明文消息通过编码嵌入曲线上得到点pm。 取Ep(a,b)的生成元G,Ep(a,b)和G为公开参数。设用户A的秘密钥为nA,公开 钥为PA=nAG
椭圆曲线密码体制
椭圆曲线 有限域上的椭圆曲线 椭圆曲线上的密码算法 椭圆曲线密码体制的安全性
有限域上的椭圆曲线
定义 椭圆曲线上的加法:如果椭圆曲线上的三个点位于同一直线上,
那么它们的和为O。从本定义导出一系列椭圆曲线上点的加法规则。
O为加法单位元,即对ECC上任一点P,有P+O=P。 1)设P1=(x,y)是ECC上一点,加法逆元定义为P2= -P1=(x,-y)。 2)P1,P2连线延长到无穷远,得到ECC上另一点O,即P1,P2,O三点共线,所以有 P1+P2+O=O,P1+P2=O,P2= -P1,O+O=O,O= -O。 3)设Q,R是ECC上x坐标不同的两点,Q+R定义为:画一条通过Q,R的直线与ECC交于 P1(交点是唯一的,除非做的Q,R点的切线)。由Q+R+P1=O,得Q+R= -P1。椭圆曲线 及Q+R的示意如图所示。
第6章 椭圆曲线密码系统
橢圓曲線範例二
質數體為GF(11)且橢圓曲線公式 y2 = x3 + x + 1 這個橢圓曲線上的點,除無限遠點∞外, 另有13個點: (0,1),(0,10),(1,6),(1,5),(2,0),(3,8),(3,3),(4,6),(4,5), (6,6),(6,5),(8,2),(8,9) 點的座標值屬於GF(11) 因為共有14點,所以此曲線的級數(order)為14
橢圓曲線點的級數
加法公式的計算(加法、減法、乘法、除法/反元素) 須在相關的有限體進行,若選取質數體時僅需進行模 算術(modular arithmetic),若選取二元體則需進行 多項式計算(polynomial arithmetic) 點乘法計算k․P,其中k為正整數而P為橢圓曲線上 的一個點 如果橢圓曲線上的一個點P我們找到最小的正整數n 滿足n․P = ∞ (無限遠點),則n稱為點P的級數 (order) 橢圓曲線上點的級數一定是曲線級數的因數
如果採用有限體gfq0104212431344342gf501015203833464566658289如果如果如果如果modulararithmeticpolynomialarithmeticg012g423g2gg424g345g316g247g438g049g019gg212g243gg213gg01652g333g664g655g386g0107gg017gmathematicamathematicamod3x1g2powermod2y1modslopex1x3fromt1downto相同點相加pointdoublng相異點相加pointadditi如果係數k可用位元的二進制數字來代表通常其中平均有半數為次相同點相加pointdoubling的相異點相加pointaddition由左向右二元演算法12345141234511000000111001下表為stepq3p11q6p2344次點相加有效率由右向左二元演算法計算t1do相同點相加pointdoublng相異點相加pointadditinonadjacentformnafnaf演算t1downto先將相同點相加pointdoubling則再進行相異點相加pointpointubtractio的減法與加法工作量幾乎相同
椭圆曲线密码ECC
旺旺:旺我旺:能我过能软过软考考主要内容 ﻫ公钥密码使用的几个单向性很好的函数 ﻫElGamal密码回顾 ﻫ椭圆曲线概述 ﻫ椭圆曲线及解点 ﻫ椭圆曲线的几何意义 ﻫ椭圆曲线的解点等计算 ﻫ椭圆曲线密码体制 ﻫ利用椭圆曲线密码加解密实例旺旺:我能过软考公钥密码使用的几个单向性很好的函数版权所有:我能过软考1)大合数的因子分解问题: 大素数的乘积容易计算,如(p*q=n),而大合数 的因子分解困难(n推出p和q) 代表:RSA密码2)有限域上的离散对数问题: 有限域上大素数的幂乘容易计算(ab对数计算困难(logac b) 乘法群: ElGamal密码加法群:ECC密码c),而3 旺旺:我能过软考ElGamal密码回顾版权所有:我能过软考ElGamal密码是建立在有限域GF(p)之上,其中p是一个大素数, 选取有限域GF(p)的一个本原元α ,并将GF(p)和α公开。
注意:p是大素数,且p-1有大素数因子。
1、密钥生成 用户随机选取一个整数d: 1≤d ≤p-2,并计算出 y= αd mod p将y作为公开的加密密钥,将d作为保密的解密密钥。
由公钥y求出私钥d,必须求解离散对数,非常困难4 旺旺:我能过软考椭圆曲线概述版权所有:我能过软考 受ELGamall密码启发,在其它离散对数问题难解的群中,同样可以构成ELGamal 密码 有限域GF(p)上的椭圆曲线的解点构成交换群,而且离散对数问题是难解的,于是 可在此群上建立ELGamal密码,并称为椭圆曲线密码 它密钥短、签名短、软件实现规模小、硬件实现电路省电。
应用:基于智能卡的多种应用,如电子商务中的数字签名与认证,移动通讯中的安 全保密等方面 普遍认为160位长的椭圆曲线密码的安全性相当于1024位的RSA密码,而且运算速 度也较快。
6 旺旺:我能过软考椭圆曲线公钥密码与其他密码算法的对比对称算法的密 钥长度56破解所需时间 (MIPS年)104RSA密钥 大小51264108768版权所有:我能过软考ECC的密钥 106 132RSA/ECC 密钥大小之比 5:16:180101210241607:11121020204821010:1MIPS年:表示每秒钟执行一百万条指令的计算机计算一年的时间7 旺旺:我能过软考椭圆曲线及解点版权所有:我能过软考设p是大于3的素数, 且4a3+27b2≠0 mod p , 称y2=x3+ax+b ,a,b∈GF(p)为GF(p)上的椭圆曲线。
椭圆曲线密码体制E
2021/4/21
2
2
4.4.1 一般椭圆曲线
椭圆曲线并非椭圆,这么命名是因为它们是 由三次方程描述的,而这些三次方程类似于计算椭 圆周长的方程。一般的,描述椭圆曲线方程的形式 是
y2 + axy + by = x3 + cx2 + dx + e
其中a、b、c、d和e是满足一些简单条件的实数 一般来说,椭圆曲线还包含了一个特殊的点,
2021/4/21
16
16
利用椭圆曲线进行加密通信的过程:
1、用户A选定一条椭圆曲线Ep(a,b),并取椭圆曲线上一点, 作为基点G。
2、用户A选择一个私有密钥nA,并生成公开密钥PA=nAG。
3、用户A将Ep(a,b)和点PA,G传给用户B。
4、用户B接到信息后 ,将待传输的明文编码到Ep(a,b)上一点
2021/4/21
15
15
发送者通过对Pm加上kPA来保护Pm。除
了发送者之外没有人知道k的值,因此即便
PA是公开密钥也没有人能去掉kPA,当然只 有知道nA的人才可以去掉kPA。攻击者在不 知道nA的情况下要想得到报文只能在知道G
和kG的情况下计算出k,这归结为求解椭圆 曲线离散对数问题,是非常困难的。
(2) 一条与x轴垂直的线和曲线相交于两个x坐标 相同的点P1=(x,y)和P2=(x,-y),同时它也和曲 线相交于无穷远点,因此P1+P2+O=O。因而一个 点的负值是与其有着相同x坐标和相反的y坐标的 点,如图4.1(a)所示。
2021/4/21
4
4
2021/4/21
5
5
(3)要对具有不同x坐标的两个点Q与R进行相加, 先在它们之间画一条直线并求出第三个交点P1。 容易看出这种交点是惟一的。
椭圆曲线
例如,若E是 F7上椭圆曲线 y2 = x3 + 2x + 4 则 E7 (a,b) 上的点是 E7 (2,4) = {O,(0,2),(0,5),(1,0),(2,3),(2,4),(3,3),(3,4),
(6,1), (6, 6)}
(1) ElGamal密码体制的原理 密钥产生过程: 首先选择一素数p以及两个小
这里 ∞ 为无穷远点.
一条椭圆曲线E指的是由韦尔斯特拉斯(Weierstrass)方程: y2 + axy + by = x3 + cx2 + dx + e
所确定的平面曲线,它是由方程的全体解(x, y)再加上 一个无穷远点∞ 构成的集合。其中系数a,b,c,d, e 是满足一些简单条件的实数。亦即:椭圆曲线
• A的私钥取为nA=121,公钥为 PA=121(2,2)=(115,48)。 • B的秘密钥取为nB=203,公开钥 PB=203(2,2)=(130,203)。 • 由此得到的共享密钥为
121(130,203)=203(115,48)=(161,169)
如果选整数作为共享密钥,则可简单地取其中的一 个,如取 x 坐标,或取 x 坐标的某一简单函数。
在椭圆曲线构成的Abel群Ep(a,b)上考虑方程 Q=kP,其中P,Q∈ Ep(a,b) ,k<p,则由k和P易求 Q,但由P、Q求k则是困难的,这就是椭圆曲线上 的离散对数问题,可应用于公钥密码体制。DiffieHellman密钥交换和ElGamal密码体制是基于有限 域上离散对数问题的公钥体制,下面考虑如何用椭 圆曲线来实现这两种密码体制。
9P = (4, 7) 10P = (22, 5) 11P = (10, 5) 12P = (17, 9)
椭圆曲线密码体制所使用的域的参数
椭圆曲线密码体制(ECC)是一种基于椭圆曲线离散对数问题的公钥加密算法,它具有在小比特长度下提供同等安全性的优势。
在椭圆曲线密码体制中,域的参数是非常重要的一部分,它直接影响到密码系统的安全性和效率。
我们将从基础概念开始,深入探讨椭圆曲线密码体制所使用的域的参数。
1. 基础概念在椭圆曲线密码体制中,域的参数指的是有限域的特征和模数。
有限域通常用GF(p)表示,其中p是一个素数,GF(p^m)表示特征为p的扩域。
在ECC中,椭圆曲线的定义需要选择一个合适的有限域作为基础,常用的有限域包括素域GF(p)和二元扩域GF(2^m)。
2. 选择域的参数选择合适的域的参数对于构建安全且高效的椭圆曲线密码体制至关重要。
一般来说,域的参数需要满足以下几个条件:- 模数的大小要足够大,以抵抗各种攻击,如离散对数攻击和椭圆曲线上的移动攻击。
- 模数的选择应该尽量避免特殊结构,以增加密码系统的难度。
- 特征的选择也会影响计算的效率,一般来说,选择特征为素数的域可以更好地适应硬件实现,而选择特征为二的扩域可以简化一些运算。
3. 安全性分析域的参数对于密码系统的安全性有着直接的影响。
模数的大小和特征的选择都会影响到密码系统的安全性。
较小的模数很容易受到穷举搜索的攻击,而特殊结构的模数也容易遭受特定的攻击。
在选择域的参数时,需要进行仔细的安全性分析,以确保密码系统具有足够的安全性。
4. 效率分析除了安全性外,选择合适的域的参数还会影响到密码系统的计算效率。
合适的域的参数可以使得加密和解密的运算更加高效。
特征为素数的域通常适用于软件实现,而特征为二的扩域则适用于硬件实现。
在设计密码系统时,需要综合考虑安全性和效率的因素,选择合适的域的参数。
总结椭圆曲线密码体制所使用的域的参数对于密码系统的安全性和效率都起着至关重要的作用。
正确地选择域的参数可以保证密码系统具有足够的安全性,并且能够高效地进行加密和解密运算。
在设计椭圆曲线密码体制时,需要进行深入的域参数分析,并根据具体的应用场景选择合适的域的参数。
ECC课件3
例如: GF (23) 上的一个椭圆曲线为: y 2 x 3 4 x +1mod 23 ,令 P (4, 7), Q (10,31) , 求(1) R ( x3 , y3 ) P Q (2) 2 P (3) 3P 解:(1)计算斜率 l
y2 y1 31 7 24 24 4 mod 23 4 ; x2 x1 10 6 6
4.椭圆曲线在模 p 下的 Abel 群 椭圆曲线上的点集合 E p (a, b) 对于如下定义的加法规则构成一个 Abel 群。 加法规则:
(1) O O O ; (2)对于所有的点 P( x, y ) E p (a, b) ,有 P O O P P ; (3)对于所有的点 P( x, y ) E p (a, b) ,有 P ( P) O ,即点 P 的逆为 P ( x, y ) ; (4)点 P( x1 , y1 ) E p (a, b) , Q( x2 , y2 ) E p (a, b) ,且 P Q ,则 P Q R ( x3 , y3 ) E p (a, b) 其中:
以上加法规则体现在椭圆曲线图形上的含义: (1) O 加法单位元; (2) P ( x, y ) ,Q ( x, y ) , P, Q 两点确定的直线垂直于 X 轴,它与曲线相交于无穷远点 O , 因此 Q P
P ( P) O
(3) P( x1 , y1 ) E p (a, b) , Q( x2 , y2 ) E p (a, b) ,且 P Q , l
一、 椭圆曲线 1.椭圆曲线的定义 椭圆曲线是指由魏尔斯特拉斯(Weierstrass)方程:
E: y 2 + axy +by = x3 + cx 2 + dx + e
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(Elliptic Curve Cryptography)
二、 McEliece
椭圆曲线公钥密码ECC
1. 简要历史
椭圆曲线(Elliptic curve)作为代数几何中的重要问题已有 100多年的研究历史
1985年,N. Koblitz和V. Miller独立将其引入密码学中,成 为构造双钥密码体制的一个有力工具。
椭圆曲线加密算法
背景 – RSA中用到了因子分解的困难性,而为了增加困难 得加大数的位数,从而导致计算速度变慢。 – ECC可以用较小的密钥长度达到较高的计算难度
获得同样的安全性,密钥长度较RSA短得多 被IEEE公钥密码标准P1363采用
椭圆曲线公钥密码ECC
椭圆曲线上一个点P的k倍表示表示P+P+…(k个点P “相加”),记为kP。
有限域上的椭圆曲线点集产生方法
对每一x(0≤x<p且x为整数),计算
x3+ax+b mod p 决定求出的值在模p下是否有平方根,如果没
有则椭圆曲线上没有与这一x对应的点;如果 有,则求出两个平方根。
Ep(a,b)上加法
如果P,Q∈ Ep(a,b)
–P+O=P
–如果P=(x,y),则(x,y)+(x,-y)=O
利用有限域GF(2n )上的椭圆曲线上点集所构成的群上定义 的离散对数系统,可以构造出基于有限域上离散对数的一 些双钥体制--椭圆曲线离散对数密码体制(ECDLC ),如 Diffie-Hellman,ElGamal,Schnorr,DSA等。
10余年的研外最重要的公 钥密码之一。与RSA算法相比它也有很多独 特的优点。出于国家安全战略考虑,国内学 术界和管理部门一直希望能够在国内一些应 用场合使用椭圆曲线密码。在推广和使用椭 圆曲线密码的过程中,相应的芯片是必不可 少的。然而,由于椭圆曲线密码算法是一种 很复杂的数学算法,如何将椭圆曲线密码算 法芯片化,国内外没有成熟技术。
y2+a1xy+a3xy=x3+a2x2+a4x+a6 (1) 刻划的F-上曲线再添加上一点O,其中ai∈F且满足判别式不
为零。椭圆曲线的有理点即为点O及坐标在F中的点(x,y)。 方程(1)称为该椭圆曲线的Weierstrass方程。当F的特征不 是2或3时,这个方程可化为特别简单的形式
y2=x3+ax+b 并要求判别式 Δ=4a3+27b2≠0
的另一个交点S,于是Q+Q=2Q=-S
椭圆曲线加法的定义
–Q,R是ECC上x坐标不同的两点,Q+R定义 为:画一条通过Q,R的直线与ECC交于P1(交 点是唯一的,除非做的Q,R点的切线,此时 分别取P1=Q或P1=R)。由Q+R+P1=O,得 Q+R=-P1
–点Q的倍数定义如下:在Q点做ECC的一条 切线,设切线与ECC交于S,定义 2Q=Q+Q=-S。类似可定义 3Q=Q+Q+Q,…,
y2=x3+ax+b mod(p) (a,b∈GF(p),4a3+27b2≠0 mod p) 例:p=23,a=b=1, 4a3+27b2=8 ≠0 (mod23),方程
为y2=x3+x+1 mod(p),图形为连续图形。我们感兴趣 的是在第一象限的整数点。设Ep(a,b)表示ECC上点集 {(x,y)|0≤x<p,0 ≤y<p,且x,y均为整数}并上O.
–P=(x1,y1),Q= (x2,y2),P≠-Q,P+Q= (x3,y3)
x3=l2-x1-x2(mod p)
y3=l(x1-x3)-y1 (mod p)
y2 y1
l
x2 x1 3x12 a
PQ PQ
2 y1
例:E23(1,1)
P=(3,10),Q(=9,7)
l 7 10 3 1 22 11 mod 23 93 6 2 2
椭圆曲线密码示意图
椭圆曲线密码介绍
运算定义:
– 若曲线三点在一条直线上,则其和为O – O用作加法的单位:O = -O; P+O = P – 一条竖直线交X轴两点P1、P2,则
P1+P2+O=O,于是P1 = -P2 – 如果两个点Q和R的X轴不同,则画一连线,得到
第三点P1,则Q+R+P1=O,即Q+R=-P1 – 2倍,一个点Q的两倍是,找到它的切线与曲线
–上述加法满足加法的一般性质,如交换律、 结合律等
椭圆曲线上不同坐标点相加
椭圆曲线上相同坐标点相加
椭圆曲线上一坐标点与无穷远点相加
椭圆曲线上两对称点相加
A+B=A+(-A)=O
B
EC: P+Q=R
素域上的EC
在有限域Zp上的简化EC
y2≡x3+ax+b mod p
其中4a3+27b2 mod p ≠ 0 (这是一个离散点的集合)
y2+axy+by=x3+cx2+dx+e
其中a、b、c、d、e是满足某个简单条件的 实数
另有O点被定义为无穷点/零点
椭圆曲线的定义
1.1 椭圆曲线的定义 设F是域,F-是F的代数闭包。椭圆曲线的一般定义为F-
上亏格为1的光滑的代数曲线。这个定义涉及很多代数几何 中的概念。实际上,定义在F上的椭圆曲线可等价地看作由方 程
举例
y2≡x3+18x+15 mod 23 y2≡x3+17x+15 mod 23
/research/ec33_example.html
EC-1
EC-2
有限域上的椭圆曲线
曲线方程中的所有系数都是某一有限域GF(p)中的元素 (p为一大素数),最为常用的曲线方程为
x 3 11 2 3 9 109 17 mod 23 y 3 11 ( 3 17 ) 10 164 20 mod 23 P Q (17 , 20 ) E 23 (1,1 ) 2 P : l 3 • 3 2 1 5 1 6 mod 23
椭圆曲线上一个点P的所有倍数点组成了椭圆曲线的子 集,该子集是该椭圆曲线关于该“加法”的循环子群。
给定“椭圆曲线”上的点P,给定整数k,计算 “kP=?”是容易的。(折半相加)
给定“椭圆曲线”上的两个点P和Q,求整数“?P=Q” 是困难的。这个问题称为椭圆曲线上的离散对数问题。
椭圆曲线方程
Elliptic Curve