椭圆与超椭圆曲线公钥密码的理论与实现(王学理,裴定一著)思维导图
椭圆曲线密码学知识简介
(3)
设(x1,y1) ∈E(Fp),y1≠0,则2(x1,y1)=(x3,y3),其中
x3= α2-2x1, y3=α(x1-x3)-y1
这里α=(3x12+a)/(2y1)
(4)
注:若#E(Fp)=p+1,曲线E(Fp)称为超奇异的,否则称为
其中a1,b1不同时为0;a2,b2也不同时为0。 设
D= a1 b1
Dx= b1 c1 Dy= c1 a1
a2 b2
b2 c2
c2 a2
若D≠0,则两直线L1,L2相交于一平常点P(x,y),其坐标为 x=Dx/D,y=Dy/D.
这组解可表为:x/Dx=y/Dy=1/D
(约定:分母Dx,Dy有为0时,对应的分子也要为0)
令Fq表示q个元素的有限域,用E(Fq)表示定义在Fq上 的一个椭圆曲线E。
定理1.(Hass定理) E(Fq)的点数用#E(Fq)表示,则
| #E(Fq)-q-1|≤2q1/2
(1) Fp(素域,p为素数)上椭圆曲线 令p>3,a,b∈Fp,满足4a3+27b2≠0,由参数a和b定
义的Fp上的一个椭圆曲线方程为:
椭圆曲线E是一个光滑的Weierstrass方程在P2(K)中的 全部解集合。
Y2Z+a1XYZ+a3YZ2=X3+a2X2Z+a4XZ2+a6Z3 注:
a) 在椭圆曲线E上恰有一个点,称之为无穷远点。即(0:1:0) 用θ表示。
b) 可用非齐次坐标的形式来表示椭圆曲线的Weierstrass 方程:
AP → L2
可设想L1上有一点P∞,它为L2和L1的交点,称之为无穷远 点。
现现代密学 第10讲ECC
2019/11/11
6
ECC上的密码
应用
Diffie-Hellman密钥交换
Elgamal密码体制
安全基础
ECC 本身还有许多需要研究提高的地方如高速ECC 密码算法芯片的研
制等.
2019/11/11
16
ECC未来主要研究
快速算法的研究 ECC的离散对数问题 ECC上编码方法的研究 超椭圆曲线
2019/11/11
17
对ECC的 攻击
至今没有发现比较有效的计算ECDLP 的方法, 目前计算ECDLP 的最好算法仍然是指数时间的 并行Pollard-rho 方法.
ECC上的离散对数问题是困难问题
在ECC构成的交换群Ep(a,b)上考虑方程 Q=kP,P,Q∈Ep(a,b),k<p.由k和P求Q 容易,由P,Q求k则是困难的。
2019/11/11
7
Diffie-Hellman密钥交换
取Ep(a,b),生成元G(x1,y1) (p≈2180, |G|大素数) Ep(a,b)和G公开
GF(P)上ECC点的个数?个数越多,越安全. Hasse定理
如果E是定义在GF(p)域上的椭圆曲线,N是E 上的点的个数,则:
N(p1)2 p
椭圆曲线加法的定义
Q+R: Q、 R连线与E交点关于x轴对称点
Q+R=-P
O为加法单位元 P+O=P
P (x,y)加法逆元-P(x,-y) P+(-P)否=则O导致加
椭圆曲线密码(PDF)
内容安全研究室朱潜报告的主要内容⏹群和域的相关概念⏹椭圆曲线的定义和运算法则⏹椭圆曲线离散对数问题⏹椭圆曲线密码体制⏹椭圆曲线密码的优势⏹曲线密码体制的应用为什么要在有限域上研究椭圆曲线密码?密码学常在有限域的基础上研究椭圆密码曲线,在有限域的椭圆m基础上。
基于有限域Fp,而不是使用实数域、曲线主要是基于Fp和F2是因为实数计算时会产生截段误差,无法满足密码算法的精确性,而m是由于可以在计算机处理时大大提且实数运算的速度很慢。
基于F2高处理速度。
群和域的相关概念定义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为有限域或伽罗华域,其中F中的元素个数称为有限域F的阶,记为∣F ∣。
对有限域而言,其元素的个数必为一素数的方幂。
即存在一个q阶有限域F,当且仅当q是一个素数的幂,即q=p m,其中,p是一个素数,并称为域F的特征,m是一个正整数。
若m=1,则域F就称为素域。
定义4:设p是一个素数,以p为模,则模p的全体余数的集合{0,1,2,……,p-1}关于模p的加法和乘法构成一个p阶有限域,简称素域,并且用符号Fp表示。
椭圆曲线密码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)
椭圆曲线加密算法(一)
椭圆曲线加密算法(⼀)椭圆曲线加密和签名算法简述椭圆曲线密码学,简称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。
当P=Q时候,则是过P点的切线交于椭圆曲线于R',此时R=2P,如图所⽰:当有k个相同的点P相加时,记做kP,如:P+P+P=2P+P=3P,如图:椭圆曲线密码利⽤上述“运算”中的“椭圆曲线上的离散多数问题”,就像RSA利⽤“⼤数质因数分解”⼀样。
区块链中的密码学(三)-椭圆曲线加密算法分析
区块链中的密码学(三)-椭圆曲线加密算法分析在⽬前密码学的⾮对称加密算法中,RSA算法依然是⼀种主流,但是随着⽐特币中对于⼀种之前不太流⾏的算法:椭圆加密算法(ECC)的成功应⽤后,这种算法得到了很⼤的关注和普及。
有⼀种说法是中本聪不信任RSA算法,认为美国⼈在其中留有后门,⽽据斯诺登的爆料也确实如此。
相较RSA,ECC不仅在某种程度上杜绝所谓留有后门的情况,⽽且加密性能/安全性都有提⾼。
本⽂就带⼤家⼀窥ECC算法的天地。
鉴于ECC算法对数学知识要求⽐较⾼,不像RSA依赖于中学数学的⽔平,ECC⽤到了许多《近世代数基础》,《初等数论》的知识,本⽂将从⼀个密码学爱好者并区块链的⾓度,讲述⼀下ECC在区块链中的应⽤。
什么是椭圆曲线加密(ECC)?椭圆曲线可以简单的理解为公式:这是⼀个数学公式,它的理论基础要从平⾏线谈起。
数学上⼈们认为的平⾏线永不相交,这在某种程度上是⽆法验证的,因为没有⼀个⽆限远处的概念,假设平⾏线在⽆限远处相交,这样的好处是所有的直接都有且只有⼀个焦点,那么基于这个事实,我们中学学过的笛卡尔平⾯直⾓坐标系可以映射出另外⼀个平⾯坐标系:假设平⾯直⾓坐标系中有点A(x,y),我们定义 X= x/z,Y = y/z,Z=z;那么联⽴⽅程:aX+bY+c1Z =0; aX+bY+c2Z =0 可以计算出z=0;所以我们新的坐标系中的点可以表⽰为:(X:Y:0);这是椭圆曲线建⽴的坐标系基础。
下⾯在看椭圆曲线的定义:数学把满⾜Weierstrass⽅程的曲线称为椭圆曲线这个⽅程的曲线⽣成的图像有很多,基于⽂章的⽬的,这⾥指介绍形如:y2=x3+ax+b的公式,因为这种情况下的椭圆曲线才适合加密,例如y^2=x^3-10x+12的曲线如下:感兴趣的读者可以去模拟⼀下,通过修改a,b的值观看曲线变化。
需要注意的是并不是所有椭圆曲线都是关于X轴对称的。
读者可以改变多改变a1的值来发现。
数学家在这个曲线上定义了⼀种椭圆曲线的加法,在上⾯定义的公式曲线图中:显然这并不是传统的数学上的加法,运算法则:任意取椭圆曲线上两点P、Q (若P、Q两点重合,则做P点的切线)做直线交于椭圆曲线的另⼀点R,过R做y轴的平⾏线交于R’。
现代密码学_第10讲ECC
Elliptic Curve Cryptography
2011-1-16
1
椭圆曲线
椭圆曲线的曲线方程是以下形式的三次方程 y2+axy+by=x3+cx2+dx+e a,b,c,d,e是满足某些简单条件的实数 是满足某些简单条件的实数。 a,b,c,d,e是满足某些简单条件的实数。定义中包含一个 称为无穷远点的元素, 称为无穷远点的元素,记为O.
Hasse定理 定理
如果E是定义在 域上的椭圆曲线, 是 如果 是定义在GF(p)域上的椭圆曲线,N是E 是定义在 域上的椭圆曲线 上的点的个数, 上的点的个数,则:
N − ( p + 1) ≤ 2 p
椭圆曲线加法的定义
Q+R: Q、 R连线与 交点关于 轴对称点 连线与E交点关于 、 连线与 交点关于x轴对称点 Q+R=-P O为加法单位元 P+O=P 为加法单位元 P (x,y)加法逆元 加法逆元-P(x,-y) P+(-P)=O 加法逆元 否则导致加 法运算无意 当4a3+27b2≠0 mod p Ep(a,b)构成加法交换群 构成加法交换群 2011-1-16
2011-1-16
3
28个点 个点
点集如何产生方法? 点集如何产生方法
对每一x(0≤x<p且x为整数),计算x3+ax+b mod p 0≤x<p且 为整数),计算x 0≤x<p ),计算 决定求出的值在模p下是否有平方根 下是否有平方根, 决定求出的值在模 下是否有平方根,如果没有则椭 圆曲线上没有与这一x对应的点 如果有, 对应的点; 圆曲线上没有与这一 对应的点;如果有,则求出两 个平方根。 个平方根。 对应每个x,都有 个点. 除(4,0),对应每个 都有 个点 对应每个 都有2个点 GF(P)上ECC点的个数?个数越多 越安全 个数越多,越安全 上 点的个数 个数越多 越安全.
(4.13)第4章 公钥密码6
1
4.6.2 有限域上的椭圆曲线
密码中普遍采用的是有限域上的椭圆曲线,有 限域上的椭圆曲线是指曲线方程定义式(4.1)中,所 有系数都是某一有限域GF(p)中的元素(其中p为 一大素数)。其中最为常用的是由方程 y2≡x3+ax+b(mod p) (a,b∈GF(p),4a3+27b2(mod p)≠0) (4.2) 定义的曲线。
1、椭圆曲线密码体制的基础知识;
22
所以P+Q=(17,20),仍为E23(1,1)中的点。
8
若求2P则
3 3 1 5 1 6 mod 23 2 10 20 4 x3 62 3 3 30 7 mod 23
2
y3 6(3 7) 10 34 12 mod 23
所以2P=(7,12)。
6
③ 设P=(x1,y1),Q=(x2,y2),P≠-Q,则P+Q=(x3,y3) 由以下规则确定: x3≡λ2-x1-x2(mod p) y3≡λ(x1-x3)-y1(mod p) 其中
y2 y1 PQ x x 2 1 2 3x1 a P Q 2 y1
7
例4.13 仍以E23(1,1)为例,设P=(3,10),Q=(9,7),则
7 10 3 1 (1) 21 22 12 11mod 23 93 6 2 2 x3 11 3 9 109 17 mod 23 y3 11(3 17) 10 164 20 mod 23
第04章椭圆曲线密码体制ECCppt课件
软件验证过程如下: (软件中存有椭圆曲线Ep(a,b),和基点G,公开密钥PA)
1、从用户输入的序列号中,提取sn以及Hash; 其2值、等计于算软点件R作≡sn者*G签+名H过ash程*P中A (点mRo(dx,py))的,坐如标果,sn、因H为ash正确,
sn≡k-Hash*nA (mod n) 所以 sn*G + Hash*PA
困难的。因此,H无法得到A、B间传送的 明文信息。
16
注意到以上的过程并没有说明怎样将 作为字符串(当然可以看成分段的整数)的消 息编码嵌入到椭圆群的点中(将明文嵌入椭 圆曲线),实际中的转化方式多种多样,关 键的步骤与其正确性证明都涉及到复杂的 数学推导,可以参看相关文献。
17
4.4.4 椭圆曲线密码体制的安全性
ELGamal密码体制能够在任何离散对数难处 理的有限群中实现。我们已经使用了乘法群Zp*, 但其他群也是合适的候选者,如椭圆曲线群。
椭圆曲线在代数学和几何学上已广泛研究了 150多年之久,有丰富而深厚的理论积累。椭圆曲 线密码体制(Ellipse Curve Cryptosystem,ECC) 在l 985年由Koblitz和Miller提出,不过一直没有像 RSA等密码系统一样受到重视。纵观目前的发展 趋势,椭圆曲线已经逐渐被采用,很可能是一 (mod p) ≠ 0 用Ep(a,b)表示如下模p的椭圆群中的点(或如 下有限域Fp上的椭圆曲线的点),再加上一个无穷 远点O。 设(x,y)是Ep(a,b)中的点,x和y是小于p的 非负整数,则有如下椭圆曲线方程:
y2≡ x3 + ax + b (mod p)
6
如取p=23,a=b=l,有
椭圆曲线密码体制的安全性依赖于求解椭圆 曲线离散对数问题的困难性,即已知椭圆曲线上 的点P和kP计算k的困难程度。
椭圆曲线技术工作原理解析
椭圆曲线技术工作原理解析
大多数加密资产使用与比特币完全相同的椭圆曲线,称为secp256k1 。
这使得重新使用比特币的许多椭圆曲线库和工具成为可能。
椭圆曲线密码学(英语:Elliptic Curve Cryptography,缩写为ECC)是一种基于椭圆曲线数学的公开密钥加密算法。
下图示例大多数加密资产使用与比特币完全相同的椭圆曲线,称为secp256k1 。
这使得重新使用比特币的许多椭圆曲线库和工具成为可能。
椭圆曲线技术用于创建由私钥派生出来的公钥。
椭圆曲线技术工作原理
以一个随机生成的数字_k_的私钥开始,我们通过将它乘以称为_generator point_ G_的曲线上的预定点,在曲线上的其他位置产生另一个点,这是相应的公钥_K。
生成点被指定为+secp256k1+标准的一部分,对于+secp256k1+的所有实现始终相同,并且从该曲线派生的所有密钥都使用相同的点_G_:
K = k * G
k 是私钥
G 是预定点
K 是生成的公钥,曲线上的某一点
由于所有比特币用户曲线上的预定点总是相同的,私钥k乘以G将得到的公钥K始终相同.k和K之间的关系是固定的,但这种情况只存在于单向运算,即只能从k到K。
这就是比特币地址(从K派生)可以与任何人共享并且不会泄露用户的私钥(k)的原因。
为了将一个点与整数相乘可视化,我们将使用比实数更简单的椭圆曲线来描述,旨在找到曲线上的预定点G的多个kG。
这个运算逻辑与将G自身连续相加k次相同。
在椭圆曲线中,向自身添加一个点相当于在点上绘制切线并再次找到它与曲线相交的位置,然后在x轴上反映该点。
椭圆曲线密码体制所使用的域的参数
椭圆曲线密码体制所使用的域的参数(原创实用版)目录1.椭圆曲线密码体制的背景和基本原理2.椭圆曲线上的有理点和 Abel 群3.椭圆曲线离散对数问题 (ECDLP) 与一般离散对数问题 (DLP) 的异同4.椭圆曲线密码体制在安全性相当的前提下使用较短密钥的优势5.标准安全模式与随机 Oracle 模式的比较6.基于随机 Oracle 模式提出的新身份认证算法及其相应的数字签名变形7.改进的可否认认证协议8.结论与展望正文椭圆曲线密码体制是一种公钥密码体制,其基于椭圆曲线上的有理点构成的 Abel 群。
自 20 世纪 80 年代中期被引入以来,椭圆曲线密码体制逐渐成为公钥密码学领域的一个重要课题,并在 1997 年以来形成了一个研究热点。
椭圆曲线上的有理点可以表示为 P(x, y),其中 x、y 为整数,且满足椭圆曲线方程。
Abel 群是椭圆曲线上的点加法群,其群元素为椭圆曲线上的点 P1、P2、…、Pn,群的乘法满足 (P1 + P2) + P3 = P1 + (P2 + P3)。
在 Abel 群中,离散对数问题 (DLP) 和椭圆曲线离散对数问题(ECDLP) 是两个重要的问题。
DLP 是指在给定公钥和签名的情况下,找到一个私钥使得签名与公钥的乘积等于给定的消息。
而 ECDLP 是指在给定椭圆曲线上的点 P 和已知公钥 G 的情况下,找到一个私钥 K 使得 P =GK。
ECDLP 的难度要高于 DLP,因此在安全性相当的前提下,椭圆曲线密码体制可以使用较短的密钥。
在椭圆曲线密码体制中,通常采用标准安全模式或随机 Oracle 模式。
标准安全模式要求椭圆曲线上的点加法和标量乘法运算满足一定的安全性要求,如椭圆曲线上的点加法和标量乘法运算应该具有可逆性、双线性性等。
而随机 Oracle 模式则引入了随机性,使得椭圆曲线密码体制在面对特定攻击时具有更好的安全性。
基于随机 Oracle 模式,本文提出了一种新的身份认证算法及其相应的数字签名变形。
第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确定其为联邦数字签名标准FIPS186-2。
1.椭圆曲线椭圆曲线并非椭圆,之所以称为椭圆曲线是因为它的曲线方程与计算椭圆周长的方程类似,一般来计,椭圆曲线的曲线方程是以下形式的三次方程:y2+axy+by=x3+cx2+dx+e (1)其中a,b,c,d,e是满足某些简单条件的实数。
其中包括称为无穷远点的元素。
第9-10章 公钥密码(2)_8236_4284_20141203110741
六、椭圆曲线密码体制
1、椭圆曲线密码的基本情况
六、椭圆曲线密码体制
从平行线谈起
假如平行线在很远很远的地方相交了?即平行线相交 于无穷远点P∞:
•无穷远点与平常点 • 与无穷远点相区别把原来平面上的点叫做平 常点
由此出现了射影坐标系
六、椭圆曲线密码体制
射影平面坐标系 •射影平面坐标系是对普通平面直角坐标系的扩展: • 增加无穷远点P∞ •构造方法: • 对普通平面直角坐标系上的点A的坐标(x , y) 做如下改造: 令x=X/Z ,y=Y/Z(Z≠0);则A点可以 表示为(X:Y:Z)。 变成了有三个参量的坐标点,这就对平面 上的点建立了一个射影平面坐标体系。
离散对数困难性回顾: 素数p的本原根定义:如果a是素数p的本原根,则数 a mod p, a2 mod p, … , ap-1 mod p 是不同的并且包含1到p-1的整数的某种排列。 对任意的整数b,我们可以找到唯一的幂I满足 b=ai mod p 0<=i<=(p-1) i 在离散对数算法中称为模p下以a为底b的离散对数(指 标),记为i=inda,p(b)。 离散对数的计算: Y=gX mod p – 已知g,x,p,计算y是容易的 – 已知y,g,p,计算x是困难的,当p很大时,该算法是不 可行的。
y 2 x3 ax b
实数域上的两个曲线
4 P1 Q -2 -1 -2 - P1 -4 -4 -P1 2 R Q 0 1 2 3 -2 -1 -2 2 R 0 1 2 3 4 P1
(a) y2=x3-x
(b) y2=x3+x+1
椭圆曲线的两个例子
从图可见,椭圆曲线关于 x 轴对称。 椭圆曲线上的加法运算定义如下:如果其上的 3 个点位于同 一直线上,那么它们的和为 O。 进一步可如下定义椭圆曲线上的加法律(加法法则) : ① O 为加法单位元,即对椭圆曲线上任一点 P,有 P+O=P。 ② 设 P1=(x,y)是椭圆曲线上的一点(如上图) ,它的加法逆元 定义为 P2= -P1=(x, -y)。 这是因为 P1、P2 的连线延长到无穷远时,得到椭圆曲线上 的另一点 O ,即椭圆曲线上的 3 点 P1 、 P2 , O 共线,所以 P1+P2+O=O,P1+P2=O,即 P2= -P1。 由 O+O=O,还可得 O= -O
精品课件-现代密码学(杨晓元)第6章
第6章 公钥密码体制
1. 多重数字签名方案及其分类 在网络通信中,有时要求多个用户对同一消息进行签名与认 证(如几位领导或当事人签署同一份文件)。能够实现这种多个协 议方对同一消息进行签名的数字签名协议就称为多重数字签名 (Digital Multisignature)。根据签名协议过程的不同,多重数 字签名又可以分为有序多重数字签名 (Sequential Multisignature)与广播多重数字签名(Broadcasting Multisignature)。 1) 有序多重数字签名 有序多重数字签名协议过程如图6-1所示。
y=gx mod p,将p、g、y公开,x保密。 加密时,假设明文被编码为整数m,加密者随机选择整数k,
满足gcd(k,p-1)=1,再计算 c1=gk mod p c2=myk mod p
则密文为c=(c1,c2)。 接收方收到密文组(c1,c2)后,进行如下的解密运算:
c2 (c1x )1 myk (gkx )1 mgkx (gkx )1 mmod p
第6章 公钥密码体制
Alice收到密文后,利用秘密密钥d,计算: d(x1,y1)=dkP=k(dP)=kQ=(x2,y2)
再计算 cx21 m ,得到明文m。
这里Q=dP是公开的,若破译者能够解决椭圆曲线上的离 散对数问题,就能从dP中恢复d,完成解密[21]。
第6章 公钥密码体制
6.2.3 基于椭圆曲线公钥密码体制的密码协议 计算机网络技术正以前所未有的速度渗入到我们工作生活的
第6章 公钥密码体制
6.2 椭圆曲线密码 6.2.1 椭圆曲线(Elliptic Curve)
椭圆曲线的图像轨迹并不是椭圆,而是一个平面上的三次曲 线,是人们在研究如何计算椭圆的弧长时发现的问题。