第10章 椭圆曲线和密码学

合集下载

椭圆曲线加密算法

椭圆曲线加密算法

椭圆曲线加密算法椭圆曲线密码学(英语:Elliptic curve cryptography,缩写为 ECC),一种建立公开密钥加密的算法,基于椭圆曲线数学。

椭圆曲线在密码学中的使用是在1985年由Neal Koblitz和Victor Miller分别独立提出的。

ECC的主要优势是在某些情况下它比其他的方法使用更小的密钥——比如RSA 加密算法——提供相当的或更高等级的安全。

ECC的另一个优势是可以定义群之间的双线性映射,基于Weil对或是Tate对;双线性映射已经在密码学中发现了大量的应用,例如基于身份的加密。

不过一个缺点是加密和解密操作的实现比其他机制花费的时间长1.椭圆曲线在数学上,椭圆曲线(英语:Elliptic curve,缩写为EC)为一代数曲线,被下列式子所定义y2=x3+ax+b其是无奇点的;亦即,其图形没有尖点或自相交。

满足此条件的a b满足:4a3+27b2≠0图1在基础上需要定义一个无穷远的点,将此点作为零点:此时椭圆曲线定义为:{(x,y)∈ℝ2|y2=x3+ax+b,4a3+27b2≠0}∪{0}在椭圆曲线中的群的运算律:1. 所有的点都在椭圆曲线上2. 0点作为群上的单元点即P+0=P3. P点关于X轴的对称点为P点的逆即P+(−P)=04.对于位于同一条直线上的三个点P,Q,R.则有P+Q+R=0图2P+Q+R=0(无限远点P Q R三个点的位置是任意的,他们满足加法的结合律,因为这个群是一个阿贝尔群。

2.椭圆曲线加法当P和Q不相等时(x P≠x Q)由于是在阿贝尔群上可以将P+Q+R=0改写为P+Q=−R所以在椭圆曲线上的加法定义为P Q 两点加法为P,Q两点连线与曲线的交点R的关于X轴对称点−R图2-3P+Q=-RP Q两点的直线的斜率为:m=y P−y Q x P−x Q这条线与曲线的交点为:R=(x R,y R)x R=m2−x P−x Qy R=y P+m(x R−x P)因此(x P,y P)+(x Q,y Q)=(x R,−y R)如果在图上表示即为上述的P+Q=−R当P 和Q 不相等时(x P =x Q )( y P =−y q )因为p +(−p )=0图 3 P Q 两点相同时直线的斜率为m =3x P 2+a 2y P 经计算的m =3x P 2+a 2y P x R =m 2−x P −x Q y R =y P +m(x R −x P )图 43.椭圆曲线标量乘法通过上面的加法运算我们可以得出其标量乘法运算可以得出nP=P+P+⋯+P⏟n times从上式可以看出当我们计算nP的时候需要做n次加法,如果n有k位那么的计算时间复杂度变为O(2k),这显然不是快捷的方式。

椭圆曲线密码(PDF)

椭圆曲线密码(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表示。

椭圆曲线在密码学中的应用

椭圆曲线在密码学中的应用
其中 。
序列密码体制进行加密的是一个比特或者一个字符,分组密码体制则是对一个明文块进行加密[3]。
对称密码中使用最为广泛的算法就是DES及AES算法了,DES算法的全称是Data Encryption Standard,它是由美国国家标准局公布的一种加密标准[4]。从这种加密标准公布开始就成为了世界各大领域尤其是金融领域关注的焦点。DES算法是对称密码中最为显著的代表,DES的出现使得人们的生活也发生了改变,尤其体现在POS机,ATM以及高速公路收费站等领域的应用,同时DES也是世界上第一个被公布使用的标准加密算法。DES算法使用了近三十年,期间致力于破译密码的学者通过计算机来对其进行破解,但实际上并没有取得真正意义上的成功。这种算法存在的主要缺点是密钥短。所以之后在美国就出现了征集评选新的加密密码体制,而其中加密思想和运算方法都与DES基本一致的一个算法脱颖而出,与DES所不同的是AES资料加密算法所需要的密钥长度是能够自主选择的,分别可以使用128、192和256位的密钥。通过对这两种算法的比较,从算法的安全性能以及实现的效率上考虑就能够发现AES是优于DES的数据加密算法。
代替密码的加密需要使用一个或多个密文的字母表,也就是说先架构一个这样的密文字母表,然后使用这个表将明文中的字母替换成表中的字母形成密文。密文中字母及其组成的字母组都不再是原来明文中的字母和字母组,但是字母及其组成的字母组的位置并没有改变,只是本身改变了。根据构架出的并使用的密文字母表的个数,将代替密码分为单表代替密码和多表代替密码,其中单表代替密码就是通过使用一个密文的字母表将需要加密的字母替换形成密文,由此又可以分为四种密码,首先是加法密码,利用密文字母表把明文中的字母按照密文字母表循环的向某个固定方向移动某个固定的位数之后得到密文[3];其次是乘法密码,就是通过某个映像函数将二十六个字母互相替换后得到相应的密文字母表;第三种是仿射密码,就是将前两种替换密码组合在一起,使加法密码和乘法密码结合在一起,可以构造更多更复杂的多项式密码;最后一种就是密钥词语代替密码,选择一个词语或者词组作为密钥,然后将密钥中一样的字母删除,将剩余的字母放在矩阵的第一行,再从明文字母表中删去密钥,即现在矩阵的第一行字母,余下字母也写入矩阵的其它行,再按照某一个顺序将构造的矩阵中的字母输出构成密文字母表[3]。而多表代替密码就是不再单一的使用一个密文字母表而是转而使用多个密文字母表,同时也就提高了密码强度。而多名代替密码的出现则是为了抵抗分析攻击中的频率攻击,显而易见的方法就是讲密文中字母的频率拉平。通常使用的有用字母替换的Vigenre方阵以及使用数字替换字母的方法,因为选取是随机的,所以替换后密文的字符频率将会是持平的也就是说增强了密码的强度及安全性。

椭圆曲线密码ppt课件

椭圆曲线密码ppt课件
地选择一个大素数p,且要求p-1有 大素数因子。再选择一个模p的本原元α。将p 和α公开。
⑴ 密钥生成
• 用户随机地选择一个整数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(∞,∞)
篮球比赛是根据运动队在规定的比赛 时间里 得分多 少来决 定胜负 的,因 此,篮 球比赛 的计时 计分系 统是一 种得分 类型的 系统
三、椭圆曲线密码

信息安全导论课程-ch10-密钥管理及其他公钥体制

信息安全导论课程-ch10-密钥管理及其他公钥体制
• Pohlig-Hellman algorithm – 如果p-1是小素数的乘积,则易求 – 因此,p-1应含有大素因子
B
Diffie-Hellman密钥交换协议
• DH76,Diffie-Hellman • 步骤
– 选取大素数q和它的一个生成元g,这些数Xb
B
密码编码学与网络安全
电子工业出版社 2006 - 2007
B
第10章 公钥密钥管理及其他公钥体制
• • * * • • 10.1 密钥管理 10.2 Diffie-Hellman密钥交换 10.a PKCS#3 & RFC 10.b ElGamal 10.3 椭圆曲线 10.4 椭圆曲线密码学ECC ↓ ↓ ↓ ↓ ↓ ↓
B
RFC 5114
B
10.b ElGamal加密
• 准备
– 素数p,Zp*中本原元g,公开参数 – 私钥a,公钥b=ga mod p
• 加密
– 对明文1<=m<=p-1,选随机数k – 密文(c1, c2) c1=gk mod p, c2=mbk mod p
• 解密
– m=c2 (c1a)-1=mbk ((gk)a)-1 =m(ga)k (g-ka) =m mod p
• 在线中心容易成为单点故障和性能瓶颈
B
公钥授权:在线中心

B
4. 证书:离线中心
Certificate Authentication
• CA是受信任的权威机构,有一对公钥私钥。 • 每个用户自己产生一对公钥和私钥,并把公钥提交 给CA申请证书。 • CA以某种可靠的方式核对申请人的身份及其公钥, 并用自己的私钥“签发”证书。 • 证书主要内容:用户公钥,持有人和签发人的信息 ,用途,有效期间,签名等。 • 证书在需要通信时临时交换,并用CA的公钥验证。 • 有了经CA签名保证的用户公钥,则可进行下一步的 身份验证和交换会话密钥等。

贝尔曲线与椭圆曲线密码学

贝尔曲线与椭圆曲线密码学

密码学是研究保护信息安全的科学,其中的一个分支是椭圆曲线密码学。

椭圆曲线密码学通过利用椭圆曲线上的离散对数问题,实现了高强度的加解密算法。

而贝尔曲线则是椭圆曲线密码学的重要组成部分。

贝尔曲线是以Elwyn R. Berlekamp的名字命名的,他是一位在代数编码理论领域有显著成就的科学家。

贝尔曲线之所以成为椭圆曲线密码学的关键要素,是因为它具有良好的性质,可在加解密算法中得到应用。

在椭圆曲线密码学中,贝尔曲线被用作椭圆曲线上的一个点的生成器。

通过选择适当的贝尔曲线方程和椭圆曲线上的基点,我们可以构建出一个加密强度很高的密码体系。

与其他加密算法相比,椭圆曲线密码学具有许多优势。

首先,它使用的曲线方程相对简单,计算效率较高,能够在有限的资源下完成加解密操作。

其次,椭圆曲线密码学还具有极高的安全性。

由于椭圆曲线上的离散对数问题在目前的计算能力下非常难以解决,因此攻击者很难通过破解椭圆曲线密码系统来获取加密信息。

椭圆曲线密码学在现代密码学中的应用非常广泛。

它被用于互联网安全传输协议(SSL/TLS)、数字签名、密钥交换等领域。

比特币等大型数字货币系统也广泛使用椭圆曲线密码学来保护交易的安全性。

尽管椭圆曲线密码学具有许多优势,但它也存在一些挑战和限制。

首先,生成适合用于密码学的椭圆曲线需要高度的数学和计算技术。

其次,在处理大量数据时,椭圆曲线计算的效率较低。

此外,椭圆曲线密码学也受到量子计算的威胁。

一旦量子计算机问世,它们可能能够更有效地解决椭圆曲线上的离散对数问题,从而破解现有的椭圆曲线密码系统。

为了应对这些挑战,研究人员正在努力开发新的密码学算法,以防止量子计算机对椭圆曲线密码学的攻击。

其中一种方法是使用更高强度的曲线,以增加安全性。

另一种方法是开发基于其他数学问题的密码学算法,能够抵御量子计算的攻击。

总结而言,贝尔曲线与椭圆曲线密码学是现代密码学中不可或缺的部分。

它们通过利用椭圆曲线上的离散对数问题,提供了高强度的加解密算法。

椭圆曲线加密算法(一)

椭圆曲线加密算法(一)

椭圆曲线加密算法(⼀)椭圆曲线加密和签名算法简述椭圆曲线密码学,简称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利⽤“⼤数质因数分解”⼀样。

椭圆曲线密码学

椭圆曲线密码学

知:p+1-2p1/2≤#E(Fp) ≤ p+1+2p1/2 集合E(Fp)对应下面的加法规则,且对加法形成 一个Abel群: (i) θ θ=θ (单位元素) (ii) (x,y) θ=(x,y), 任给(x,y) ∈E(Fp) (iii) (x,y) (x,-y)=θ,任给(x,y) ∈E(Fp),即点(x,y)的逆元 为(x,-y). (iv) 令(x1,y1),(x2,y2)为E(Fp)中非互逆元,则 (x1,y1) (x2,y2)=(x3,y3),其中 x3=α2-2x1,y3= α(x1-x3)-y1 且α=(y2-y1)/(x2-x1) (3) (v)(倍点运算规则) 设(x1,y1) ∈E(Fp),y1≠0,则2(x1,y1)=(x3,y3),其中
椭圆曲线密码学
• 椭圆曲线密码是研究基于某个域的椭圆曲线 上的密码。这个地方的椭圆曲线,不是我们 以前解析几何中的一般二次椭圆曲线,而是 由满足一些性质的曲线方程所确定的,可能 是大于二次的方程。 • 由于密码学的一些要求,我们一般只讨论一 些特定域的上的椭圆曲线。 • 在了解椭圆曲线密码的之前,先了解相关概 念。
本文来自网络请不要使用盗版文档尊重作者的辛苦劳动谢谢gaoqscom我爱朱丹老婆中华人民共和国20100808080808080808080808080808080808080808080808080808080808080本文来自网络请不要使用盗版文档尊重作者的辛苦劳动谢谢gaoqscom我爱朱丹老婆中华人民共和国20100808080808080808080808080808080808080808080808080808080808080
1 有关的基本概念
(1) 无穷远元素(无穷远点,无穷远直线) 平面上任意两相异直线的位置关系有相交和平行两种。 引入无穷远点,是两种不同关系统一。 L2 L1 B AB⊥L1, L2∥L1,直线AP由AB起绕A点依逆时针方向转 动,P为AP与L1的交点。 A

椭圆曲线密码算法

椭圆曲线密码算法

基本椭圆曲线解密
输入:椭圆曲线参数组(p,E,P,n),私钥d ,密文(C1,C2) 输出:明文m 1. 计算M=?,并从点M取出明文m 2. 返回(m)
椭圆曲线在软件注册保护的应用
将简介一种利用Fp(a,b)椭圆曲线进行软件注册的方法。
s(tP) (st ) P
如果椭圆曲线上一点P,存在最小的正整数n,使得数乘nP =O,则将n称为P的阶,若n不存在,我们说P是无限阶的. 事实上,在有限域上定义的椭圆曲线上所有的点的阶n都 是存在的.

例1:有限域F23之下,点P (0, 1) 是椭圆曲线 E: y 2 x 3 12 x 1 的生成数。求nP
(iii)
如果
s, t Z p
,则对所有的点 P E(F2 ) 而言 ( s t ) P sP tP
n

例子4:在有限域 F2 之下,取椭圆曲线
4
y2+xy=x3+g8x2+g2 上的两点P=(g3,g9) 及Q=(g,g5) ,其中 g=(0010) 为F 4的 2 生成数,且不可约多项式为f(x)=x4+x+1 若 P+Q=R=(x3,y3) 则R = ?


密钥对生成
输入:椭圆曲线参数组(p,E,P,n) 输出:公钥Q和私钥d 选择d[1,n] 计算Q=dP 返回(Q,d)
1.
2.
3.
基本椭圆曲线加密
输入:椭圆曲线参数组(p,E,P,n),公钥Q,明文m 输出:密文(C1,C2) 1. 将明文m表示为E(FP)上的点M 2. 选择k[1,n] 3. 计算C1=kP 4. 计算C2=M+kQ 5. 返回(C1,C2)
P = (0, 1) 2P = (13, 13) 3P = (5, 5) 4P = (3, 15) 5P = (6, 17) 6P = (19, 2) 7P = (17, 9) 8P = (18, 0)

第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确定其为联邦数字签名标准FIPS186-2。

1.椭圆曲线椭圆曲线并非椭圆,之所以称为椭圆曲线是因为它的曲线方程与计算椭圆周长的方程类似,一般来计,椭圆曲线的曲线方程是以下形式的三次方程:y2+axy+by=x3+cx2+dx+e (1)其中a,b,c,d,e是满足某些简单条件的实数。

其中包括称为无穷远点的元素。

椭圆曲线密码算法

椭圆曲线密码算法

安全协议的发展
标准化进程
推动椭圆曲线密码算法的标准化进程,制定相关的安全标准和规范 ,促进其在安全协议中的应用。
混合加密方案
将椭圆曲线密码算法与其他加密算法相结合,形成更为强大的混合 加密方案,提高安全协议的整体安全性。
安全协议的演进
随着网络威胁的不断变化,椭圆曲线密码算法将在安全协议的发展中 发挥重要作用,助力安全协议的不断演进和升级。
THANKS
感谢观看
椭圆曲线密码算法的优势
01
02
03
安全性高
由于椭圆曲线离散对数问 题的难解性,椭圆曲线密 码算法被认为是目前最安 全的公钥密码算法之一。
密钥长度短
相对于其他公钥密码算法 ,椭圆曲线密码算法使用 的密钥长度更短,提高了 加密和解密的效率。
适用于多种应用
椭圆曲线密码算法适用于 多种安全应用,如数字签 名、密钥协商和数据加密 等。
对称加密算法
与对称加密算法相比,椭圆曲线密码算法的安全性更高,因为它们基于更复杂的数学问题。然而,对称加密算法的加 密和解密速度更快。
哈希函数
与哈希函数相比,椭圆曲线密码算法具有更高的安全性,并且可以用于数字签名和身份验证等场景。然而,哈希函数 是不可逆的,不能用于加密和解密。
公钥基础设施(PKI)
与PKI相比,椭圆曲线密码算法的安全性更高,并且具有更小的密钥长度。然而,PKI已经得到了广泛的 应用和标准化,具有更高的兼容性和互操作性。
06
CATALOGUE
椭圆曲线密码算法的实际应用案例
数字签名
01 02 03
数字签名
椭圆曲线密码算法可用于生成数字签名,确保数据完整性 和来源可追溯性。通过使用私钥对数据进行加密,生成数 字签名,接收者可以使用公钥进行验证,确认数据是否被 篡改或伪造。

第10章 椭圆曲线密码 信息理论《密码学:加密演算法》(邓安文)(免费)

第10章 椭圆曲线密码  信息理论《密码学:加密演算法》(邓安文)(免费)
Q = [k]P 的k值。
定理
令E为定义在FP上的椭圆曲线,则E(FP)的个数满足 为定义在F 上的椭圆曲线,则E(F
# E( Fp ) = p + 1 + t其中误Leabharlann 项| t |< 2 p
定理
令椭圆曲线 E : y2 = x 3 + ax + b (mod p),则 p),则
x 3 + ax + b g = # E(Fp ) = p + 1 + p x =0

p −1
1.11
© 2006
第10章 10章
椭圆曲线密码
加权投影坐标
10.3 加权投影坐标
♫性质
令椭圆曲线 E : y2 = x 3 + ax + b 令 P1 = [x1 , y1 , z1 ] ,P2 = [x 2 , y 2 , z 2 ] 为E上的点(加权投影坐标表达式)。 而点 P3 = [x 3 , y3 , z3 ] = P1 + P2 若P1、P2≠0,且P1≠±P2,则加法公式为 ≠0,且P
1.16
h=
# E(Fp ) ord(P)
=3 。
© 2006
第10章 10章
椭圆曲线密码
椭圆曲线版的Diffie-Hellman密钥交换 椭圆曲线版的Diffie-Hellman密钥交换
۩算法椭圆曲线版的Diffie-Hellman密钥交换
Alice与Bob要用椭圆曲线密码共同约定密钥。 Alice与Bob要用椭圆曲线密码共同约定密钥。 (曲线参数约定)约定 (E/Fq,P)。 ,P)。 Alice选择一正整数A,计算P =[A]P,将点P 传送给Bob。 Alice选择一正整数A,计算PA=[A]P,将点PA传送给Bob。 Bob选择一正整数B,计算P =[B]P,将点P 传送给Alice。 Bob选择一正整数B,计算PB=[B]P,将点PB传送给Alice。 Alice收到P ,计算P Alice收到PB,计算PK=[A]PB,PK即共同约定的密钥。 Bob收到P ,计算P Bob收到PA,计算PK=[B]PA,PK即共同约定的密钥。

椭圆曲线密码学24页PPT

椭圆曲线密码学24页PPT
椭圆曲线密码学
11、获得的成功越大,就越令人高兴 。野心 是使人 勤奋的 原因, 节制使 人枯萎 。 12、不问收获,只问耕耘。如同种树 ,先有 根茎, 再有枝 叶,尔 后花实 ,好好 劳动, 不要想 太多, 那样只 会使人 胆孝懒 惰,因 为不实 践,甚 至不接 触社会 ,难道 你是野 人。(名 言网) 13、不怕,不悔(虽然只有四个字,但 常看常 新。 14、我在心里默默地为每一个人祝福 。我爱 自己, 我用清 洁与节 制来珍 惜我的 身体, 我用智 慧和知 识充实 我的头 脑。 15、这世上的一切都借希望而完成。 农夫不 会播下 一粒玉 米,如 果他不 曾希望 它长成 种籽; 单身汉 不会娶 妻,如 果他不 曾希望 有小孩 ;商人 或手艺 人不会 工作, 如果他 不曾希 望因此 而有收 益。-财富 ❖ 丰富你的人生
71、既然我已经踏上这条道路,那么,任何东西都不应妨碍我沿着这条路走下去。——康德 72、家庭成为快乐的种子在外也不致成为障碍物但在旅行之际却是夜间的伴侣。——西塞罗 73、坚持意志伟大的事业需要始终不渝的精神。——伏尔泰 74、路漫漫其修道远,吾将上下而求索。——屈原 75、内外相应,言行相称。——韩非
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
E上的点的坐标在Fp中,记为:
例子:域F13上的椭圆曲线E:Y2=X3+3X+8。
我们将所有可能的X=0,1,2,…,12代入X3+3X+8并检查哪些 值是模13的二次剩余。例如,将X=0代入,得到8,而8不 是模13的二次剩余;再将X=1代入,得到12,由于 52≡12(mod 13)和82≡12(mod 13),所以(1,5)和(1,8)在E(F13) 中。依此计算最终得到:
(600,2449)
0
3
(3529,2158) (3247,2849)
1
1
(2742,3254)
(932,1204)
1
0
(1814,3480)
(3492,60)
1
程序演示
10.1 椭圆曲线 10.2 有限域上椭圆曲线 10.3 椭圆曲线上离散对数问题 10.4 椭圆曲线密码
(1) Diffie-Hellman密钥交换:
程序演示
很明显,因为X和Y坐标只有有限多种取值,E(Fp)是有限 集。更准确的说,X有p种取值,对于每一个X,方程 Y2=X3+AX+B表明Y有至多两种取值。加上点O,E(Fp)最 多有2p+1个点。但这个估计要比实际的数量大很多。
指定一个X的值,X3+AX+B的值有三种情况: 首先,它可能为模p的二次剩余,我们得到在E(Fp)中的两
(c) 否则,记P1=(x1,y1)且P2=(x2,y2)。
(d) 如果x1=x2且y1=-y2,则P1+P2=O。
(e) 否则,定义λ为
并设 则P1+P2=(x3,y3)
证明:(a)和(b)是显然的。(d)为过P1和P2的直线是垂直线 的情况,所以P1+P2=O(注意如果y1=y2=0,切线是垂直的, 所以在此情况下仍然成立)。对于(e),注意到:如果
10.1 椭圆曲线 10.2 有限域上椭圆曲线 10.3 椭圆曲线上离散对数问题 10.4 椭圆曲线密码
先讨论了有限域Fp*上的离散对数问题:Alice公布两个数g 和h,她的秘密数字是x,x满足:
此时敌手Eve解决离散对数问题就需要找到这样一个x,即 g自乘了多少次得到h:
现在考虑有限域Fp*上的椭圆曲线E,Alice在椭圆曲线上选 择两个点P和Q,和一个秘密数字n:
们得到:s=k-j,满足该条件最小的s(s≥1)称为P的阶,且P
的阶整除#E(Fp) 。
因此设s是P的阶,n0满足Q=n0P,那么Q=nP的解为: n=n0+is,i∈Z。logP(Q)的解为Z/sZ中的一个元素。logP(Q) 是模s的整数,s是P的阶。
将解定义成Z/sZ中元素的好处是:椭圆曲线上的离散对数
例子:域F13上的椭圆曲线E:Y2=X3+3X+8。我们使用加法 算法(定理2)在E(F13)中将P=(9,7)和Q=(1,8)两点相加。 算法的步骤(e)告诉我们首先计算
注意所有的计算都在域F13上,所以-8=5且1/5=5-1=8。下一 步我们计算
最后,加法算法告诉我们计算 这样就完成了计算
相似地,我们可以使用加法算法将P=(9,7)自身相加。注意
所有的计算都在域F13上,我们得到
λ
3x12 2 y1
Α
392 3 27
246 14
12,
y1
x1
7
12 9
3,
x3 2 x1 x2 122 9 9 9, y3 (x3 ) (12 9 3) 6
所以在域F13上P+P=(9,7)+(9,7)=(9,6)。相似地,我们计算 E(F13)上每一对点的和。结果在下表列出。
满足:对于所有的Q1,Q2∈E(Fp) ,
logP(Q1+Q2)=logP(Q1)+logP(Q2),这也就意味着群E(Fp)中的 元素可以映射到群Z/sZ,我们称logP定义了一个群同态, 即:logP:E(Fp)->Z/sZ。
1、倍增相加算法 需要高效的从给定的n和P中算出nP。如果当n很大时,
椭圆曲线的一个特点是能够用椭圆曲线上的两个点“相加” 生成第三个点。
之所以用“相加”来表示,是因为这个操作在某些方面类 似于加法操作。
用几何学来描述“相加”操作,设P和Q为椭圆曲线E上的 两个点。
例子:设椭圆曲线E为 Q为(1,2)。
由两点可以得出直线L: 我们计算
,点P为(7,16),点 ,为得到E和L的交点,
通过X2的系数相等,我们可以知道
且L与
E第三个交点的Y坐标为 将Y坐标取负。
,最后为了得到P1+P2,需要
10.1 椭圆曲线 10.2 有限域上椭圆曲线 10.3 椭圆曲线上离散对数问题 10.4 椭圆曲线密码
为了将椭圆曲线应用到密码学中,需要这样一种椭圆曲线, 其上的点的坐标在有限域Fp中。我们定义一种在有限域上 的椭圆曲线:E:Y2=X3+AX+B,A,B∈Fp满足4A3+27B2≠0。
个点,这种情况发生的概率约为50%。 其次,它可能为模p的非二次剩余,我们舍去X,这种情
况发生的概率也约为50%。 最后,它可能为0,我们得到在E(Fp)中的一个点,但这种
情况极少发生。 从而#E(Fp)≈50%·2·p+1=p+1。
定理3 (Hasse):E为Fp上的椭圆曲线,则: tp满足: 定义 称为E(Fp)的Frobenius迹。
程序演示
定理3 :设E是Fp上的椭圆曲线,P和Q是E(Fp)中的点。 (a) 对P和Q应用椭圆曲线加法算法(定理2)可以得到一个
E(Fp)中的点,记为P+Q。 (b) E(Fp)上的加法满足定理1列举的所有性质。也就是说,
加法使E(Fp)成为一个有限群。 证明:定理2 (e)的公式是通过将过P和Q直线的方程代入E
我们需要得到方程式的根,由于我们已经知道X=7和X=1, 所以有
从而得到
那么当我们想要得到
时,应该怎么做呢?
例子:设椭圆曲线为 算。
通过隐式微分方程求解:
,点P为(7,16) 。计
由于P=(7,16),得到斜率
,所以
注意P的X轴坐标X=7为3次多项式的2重根,得到
当然椭圆曲线上的“相加法则”也存在着一个潜在的问题。 如果我们尝试做P=(a,b)点关于x轴的对称点P’=(a,-b)。那 么通过P和P’的直线L是垂直线x=a,这条线与E的交点只 有P和P’。
我们当然不希望这么计算nP:1P,2P,3P,4P,…… 高效计算nP的算法类似于之前计算an:
(1)首先将n写成二进制的形式:
, 其中
(2)同时假设nr=1。然后我们计算 Q0=P,Q1=2Q0,Q2=2Q1,...,Qr=2Qr-1。注意到Qi是Qi-1的两倍, 所以Qi=2iP。这些点都是2的幂与P的乘积,因此计算它们需 要r次倍增运算。最终,我们计算 nP=n0Q0+n1Q1+n2Q2+...+nrQr最多需要2r次点运算。由于n≥2r, 所以计算nP至多需要2[log2(n)]次点的运算。
(2521,3601)
(6,730)
1
236
(2277,502)
(2149,196)
1
118
(3375,535)
(2149,196)
059ຫໍສະໝຸດ (1610,1851)(2149,196)
0
29
(1753,2436) (2838,2175)
1
14
(2005,1764)
(600,2449)
1
7
(2425,1791)
第10章 椭圆曲线密码
10.1 椭圆曲线 10.2 有限域上椭圆曲线 10.3 椭圆曲线上离散对数问题 10.4 椭圆曲线密码
10.1 椭圆曲线 10.2 有限域上椭圆曲线 10.3 椭圆曲线上离散对数问题 10.4 椭圆曲线密码
椭圆曲线是形如
的方程的解集,这种方
程式被叫做Weierstrass方程。例如:
基于 ,有一种解决办法就是创造一个额外的点O
(无穷远处),这个点不存在在XY平面中,但是我们假
设它存在在每一垂直线上。所以有
,从而可以
得出
,所以O在椭圆曲线加法中相当于零。
定义:椭圆曲线E为Weierstrass方程 的所有解以及点O所构成的集合,其中常量A和B满足:
(1)P,Q为椭圆曲线E上的两个点,直线L过P和Q两点,或
(2) 椭圆曲线Diffie-Hellman密钥交换:
例子: 1.选取公共参数:p=3851,E:Y2=X3+324X+1287,
P=(920,303)∈E(F3851)。 2.Alice和Bob分别选取秘密数字:nA=1194,nB=1759。 3.Alice计算:QA=1194P=(2067,2178)∈E(F3851)。 4.Bob计算:QB=1759P=(3684,3125)∈E(F3851)。 5.Alice将QA发送给Bob,Bob将QB发送给Alice。 6.Alice计算nAQB=1194(3684,3125)=(3347,1242)∈E(F3851),
现在敌手Eve就需要找到这样一个n,即P自加了多少次得 到Q。虽然记为加法,但E上的加法实际上是一个很复杂 的运算,所以椭圆曲线离散对数问题可能非常难以解决。
定义:设E为有限域Fp上的椭圆曲线,P和Q是E(Fp)中的点。 椭圆曲线离散对数问题是寻找一个整数n满足Q=nP。与Fp* 上的离散对数问题相似,我们将n记为:n=logP(Q)。n称为 Q关于P的椭圆曲线离散对数。
求解X而导出的,从而加法的结果必然是E上的点,也就 是方程所定义的E的解,所以(a)为真;对于(b),存在单位 元由加法算法的步骤(a)和(b)得到,可逆由加法算法的步 骤(d)得到,满足交换律很容易得到,因为可以很简单的验 证:如果将两点交换,加法算法会得到相同的结果。但满 足结合律不是很容易说明。可以通过加法算法公式直接验 证,但要考虑很多特殊情况。
相关文档
最新文档