当前位置:文档之家› 椭圆曲线密码

椭圆曲线密码


群和域的相关概念
定义5(二进制域)阶为2m的域称为二进制域或特征为2的有限域。构成F2m的一 种方法是采用多项式表示法。在这种表示法当中,域F2m 的元素是次数最多为m1次的二进制多项式(多项式的系数取自F2={0,1})
F2 {am-1Z m-1 am-2 Z m-2 a2 Z 2 a1Z a0 : a {0,1}}
椭圆曲线密码的优势


带宽要求低 。对长消息进行加密时,几种公钥系统有相 同的带宽。但是应用于短消息时,ECC对带宽的要求要低 得多,而公钥系统又多用于短消息,所以这一特点使得 ECC在无线网络领域具有广泛的应用前景。 灵活性好。有限域上的椭圆曲线可以通过改变曲线参数, 得到不同的曲线,因而椭圆曲线具有丰富的多选择性
谢谢!
椭圆曲线密码制研究
内容安全研究室 朱潜
报告的主要内容
群和域的相关概念 椭圆曲线的定义和运算法则 椭圆曲线离散对数问题 椭圆曲线密码体制 椭圆曲线密码的优势 曲线密码体制的应用

为什么要在有限域上研究椭圆曲线密码?
密码学常在有限域的基础上研究椭圆密码曲线,在有限域的椭圆 曲线主要是基于Fp和F2m基础上。基于有限域Fp,而不是使用实数域、 是因为实数计算时会产生截段误差,无法满足密码算法的精确性,而 且实数运算的速度很慢。基于F2m是由于可以在计算机处理时大大提 高处理速度。
椭圆曲线密码体制
密码分析者 明文 加密 A PKB SKB 密文 解密 B 原始明文
加密模型
密码分析者 消息 签名 A SKA 签名—消息对 PKA 验证 B 消息
认证模型
椭圆曲线加密和解密过程
为方便于椭圆曲线密码体制的计算,需要把明文嵌入作为曲线E上的一个 点就是对明文信息进行编码。如果明文较长,可分段处理。 加密前,首先要把明文信息分组为有限域上的明文信息块m,而后对m编码 使之变换为椭圆曲线上的对应点Pm
m
Eg2:
F23
的元素为
0,1,z,z+1,z2,z2+1,z2+z+1
椭圆曲线的定义
1985年,Koblitz,Miller ,提出用椭圆曲线构造密码体制。 提出利用有限域上的椭圆曲线的点集构成Abel群,利用这类点群上离散对数 问题的难解性来建立椭圆曲线密码体制。 椭圆曲线是一个具有两个变元的方程,椭圆曲线密码体制使用的是变元和 系数均为有限域中元素的椭圆曲线。
P=(16,5);2P=(20,20);3P=(14,14);4P=(19,20); 5P=(13,10);6P=(7,3);7P=(8,7);8P=(12,17); 9P=(4,5);因为9P=(4,5)=Q,所以,以P=(16,5)为底的Q=(4,5)的离 散对数k=9。 但是在实际应用当中,k的值非常大,使用穷举法并不可行。在构造椭圆曲 线密码体制时,要求有理点群的阶必须足够大,且含有长度不小于160bit的大 素因子。
椭圆曲线密码的优势



安全性能高。和其他几种公钥系统相比,其抗攻击性更具 有绝对的优势,更安全。在同等安全条件下,安全要求越 高,其短密钥的优势越明显。 计算量小,处理速度快。虽然RSA可以选取较小的公钥提 高公钥处理速度,使其在加密和签名验证速度域ECC有可 比性,但是在私钥的处理速度上,ECC远远要比其他公钥 系统快得多, 存储空间占用小。ECC的密钥长度和系统参数与其他公钥 系统相比要小得多,这意味着它所需的存储空间要小得多。
y
图像如下所示:
2
xy x
3
1
有限域上椭圆曲线的加法原理
为了简化起见,我们可以将P+P记为2P,以此类推 mP=P+P+……+P 称为椭圆曲线上点P的m倍加。当P≠Q时,称为椭圆曲线上点的点加或者普加。 下面给出椭圆曲线上 y
2
xy x 3 1 上点P的3倍加的几何意义。
椭圆曲线离散对数问题
ECDLP---Elliptic Curve Discrete Logarithm Problem
椭圆曲线离散对数问题
考虑由方程y2mod23=(x3+9x+17)mod23所定义的群E23(9,17).以P=(16,5) 为底的Q=(4,5)的离散对数k为多少?穷举攻击是通过计算P的倍数来寻求Q。
基于椭圆曲线的数字签名方案
假设Alice发送信息m给Bob, m可简单认为是明文信息的二进制形式(假 设曲线参数同加解密的情形),Bob的公钥为Q。私钥为d, Bob希望对消息m 进行签名并将签名对发送给Alice, Alice验证签名是否正确。 签名生成: (1)随机选择k∈[1,n-1],计算R=[k]G=[x1,y1]; (2)计算r=x1modn,若r=0,则返回(1); (3)利用sk=(Hash(m)+dr)modn,计算s,若s=0,则返回(1); Hash是一种Hash算法,如:MD5等。 (4)(r,s)即是Bob对消息m的签名。将(m,(r,s))发给Alice 验证算法: 1、验证r和s是不是在[1,n-1]区间的正整数,如果不是,则(r,s)不是有效的签名。 2、计算e=H(m)。 3、计算w=s-1modn,u1=emodn,u2=rw modn; 4、计算T=u1G+u2Q,T≠0; 5、计算v=Txmodn(Tx是T的横坐标); 6、如果v=r,签名验证通过,否则拒绝。
椭圆曲线密码体制的应用
在智能卡领域应用广泛,其存储空间小,短密钥所带来的优点弥补了智能卡的各 种局限,有效地降低了生产成本,也提高了智能卡的实用性。 在信息隐藏,身份认证方面也有一些应用 SET(Secue Electronic Transactions)协议的制定者已把它作为下一代SET 协议中缺省的公钥密码算法。 在无线移动网络安全中的应用 WTLS(无线传输层安全协议)、PKI(公钥信息基础设施)、WPKI、 WAPI(无线局域网鉴别域保密基础结构)等。 目前在无线局域网及移动通信网络中已经有相关协议将其纳入标准。加拿大 Certicom公司是国际上最煮面的ECC密码技术公司,已经授权300多家企业使用 ECC密码技术,包括Cisco,摩托罗拉,索尼等公司。
椭圆曲线的定义
设F是一个域,域F上的Weierstrass方程是:
y 2 a 1 xy a 3 y x 3 a 2 x 2 a 4 x a 6
满足Weierstrass方程的数偶(x,y)称为域F上椭圆曲线E的点。域F可以是 有理数域,也可以是复数域,还 可以是有限域。除了曲线E上的所有点外,还 需要加上一个特殊的无穷点“O”。点集与定义在它上面运算共同构成了一个域 ,这个域就是椭圆曲线密码体制(ECC)的基础。 ECC----Elliptic Curve Cryptography 在对域F上的椭圆曲线E的研究,我们经常使用的有如下两种情况:
群和域的相关概念
定义3:有限域,如果域F中的元素个数有限,则称F为有限域或伽罗华域,其 中F中的元素个数称为有限域F的阶,记为∣F ∣。 对有限域而言,其元素的个数必为一素数的方幂。即存在一个q阶有限域F, 当且仅当q是一个素数的幂,即q=pm,其中,p是一个素数,并称为域F的特征, m是一个正整数。若m=1,则域F就称为素域。 定义4:设p是一个素数,以p为模,则模p的全体余数的集合{0,1,2,……, p-1}关于模p的加法和乘法构成一个p阶有限域,简称素域,并且用符号Fp表示。 我们称p为Fp的模。 Eg1:(素数F29)F29的元素是{0,1,2, …… ,28}.下面是该域上的一些算术运算 的例子。 a)加法:17+20=8,因为37mod29=8 b)减法:17-20=26,因为-3mod29=26 c)乘法:17*20=21,因为340mod20=21 d)求逆:17-1=12,因为17*12mod29=1
椭圆曲线的定义
(1)当域的特征不为2,3时,也就是大素数域 Fp 时,我们通常取如下形式 的Weierstrass方程: y x ax b (2)当域的特征为2的有限域
2 3
F2 n 时,我们通常取如下形式的Weierstrass方程
y 2 xy x 3 a2 x 2 a6
举一个比较简单的椭圆曲线的例子:
y2=x3-x
有限域上椭圆曲线的加法原理
运算法则:设P,Q是E上的两个点,L是过P和Q的直线(过P点切线,如果P=Q ),R是L与曲线E相交的第三点。设L’是过R和O的直线,则P+Q就是L‘与E相交 的第三点。
(a)
(b)
有限域上椭圆曲线的加法原理
注意:点P+Q与点R不一定关于x轴对称,原因是椭圆曲线不一定关于x轴对称 ,例如R上的椭圆曲线
(密钥对的产生)假设椭圆曲线E(F(p))已经确定,基点为G=(xG, yG) ,则密钥对的产生非常简单:随机产生d∈[2,n-2](其中n为椭圆曲线的阶 )作为用户的私钥,计算Q=[d]G,Q作为用户的公钥。
椭圆曲线加密和解密过程
用户A向用户B传数据:
1、选取椭圆曲线Ep(a,b)和基点G。A随即选取一个整数nA(nA<n) 作为私钥保存,B随即选取一个整数nB(nB<n)作为私钥保存,并 分别产生自己的公钥PA=nA×G,PB=nB×G。 2、随机选取一个正整数k,并产生密文Cm={kG, Pm+kPB},在这里 A使用了B的公钥。 3、B要解密,需要做以下运算:Pm+kPB-nB(kG)=Pm+k(nBG)nB(kG)=Pm+k(nBG)-k(nBG)=Pm。A通过KPB与Pm相加来对Pm进 行伪装。因为只有A知道k,即使PB是公钥,除了A之外均不能伪 装kPm。
群和域的相关概念
定义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,+,*)是域。
相关主题