一种椭圆曲线密钥交换方法在manet网络中的应用的制作方法

文档序号:7965039阅读:389来源:国知局
专利名称:一种椭圆曲线密钥交换方法在manet网络中的应用的制作方法
技术领域
本发明涉及一种椭圆曲线密钥交换方法在MANET网络中的应用,属于信息安全保护领域背景技术MANET网络的应用扩展了网络用户的自由度,但是MANET网络的自由也同样对系统的安全性带来了挑战。MANET网络的安全要求体现在访问控制和机密性两个方面,访问控制要确保敏感数据仅由经过授权的用户来访问;机密性则要确保传送的数据只被期望的接收方所接收和理解。MANET网络安全威胁体现在如下几个方面1,常规安全威胁依旧存在由于MANET网络与传统有线网络的最大差别在于传输方式,作为一种网络,传统网络中诸如病毒、恶意攻击、非授权访问等安全风险也都存在于MANET网络。因此,在设计和使用MANET网络时要求对这些问题给出考虑。
2,容易受到非授权访问威胁MANET网络没有固定边界限制,也没有包括防火墙等安全设备在内的接入控制技术。同时,大多数无线局域网所使用的都是ISM频段,在该频段范围内工作的设备非常多,存在同信道和临信道以及其它设备相互之间的干扰问题。在MANET网络安全方面需要特别关注未经授权的访问问题,未经授权的非法访问会带来严重后果。首先,未经授权的网络用户可以进入网络非法浏览存放在MANET网络上的信息,或者让网络感染上病毒;其次,未经授权的用户进入网络后可以利用该网络作为攻击第三方的跳板,并可能误导对方;第三,入侵者可以对移动终端发动攻击。
3,密钥管理问题MANET网络密钥管理是保证MANET网络安全非常重要的一个措施,目前还没有针对MANET网络非常有效的密钥管理与分配机制。在设计MANET密钥管理方案时,必须考虑到MANET网络自身特性和移动终端的特性,在系统计算量和通信量等方面给出充分考虑,以适应不断提升的系统安全需求。
4,缺少交互认证
MANET网络设计的另一个缺陷就是移动终端和MANET网络之间认证过程的异步性。根据标准要求,只有成功认证后,认证端口才会处于受控状态。但对用户端来讲并非如此,用户端端口实际上总是处于认证成功后的受控状态。而整个认证只是MANET系统对移动用户端的单向认证,攻击者可以处于用户和MANET系统之间,对用户来说,攻击者充当MANET网络管理者,而对于MANET网络管理者来讲,攻击者又充当合法移动终端。
针对上述MANET网络存在的安全威胁,目前在MANET网络中使用的常规安全控制技术包括1,服务集标识符对多个MANET网络中设置不同的SSID,要求移动终端只有在提供正确的SSID时才可接入网络,以此实现对网络用户的接入控制,并实现对访问权限的区别控制。由于该方式仅采用简单的口令实现安全接入,而且系统SSID非常容易泄漏,因此该方法只能提供较低级别的安全保障。
2,物理地址过滤由于每个以计算机作为接入移动终端的网卡在制造时就拥有一个唯一的物理地址,因此可以在MANET网络中以手工方式来维护一组允许访问的MAC地址列表,以此实现物理地址过滤。该方案要求MANET网络对所有终端的MAC地址列表随时更新,因此系统可扩展性较差,无法实现移动终端在不同子群之间的漫游;同时,由于移动终端的MAC地址在可以伪造,因此这种方法的安全级别也较低。
3,有线对等加密在链路层采用RC4对称加密技术,只有用户的加密密钥与网络密钥相同才能被批准接入网络,以此来防止未经授权非法用户对网络的监听以及非法用户对网络的访问。WEP算法根据需要能提供40位、64位或者128位长度的密钥,但该加密算法仍存在许多安全缺陷。例如,在MANET子集内的所有终端用户都必须要共享同一个密钥,只要某个用户丢失或者泄漏了密钥将会造成整个MANET网络的不安全。
4,虚拟专用网络VPN是指在一个公共IP网络平台上通过隧道以及加密技术保证专用数据的网络安全性,它不属于IEEE 802.11标准的定义范围,但是用户可以借助VPN来抵抗无线网络的不安全因素,同时还可以使用基于Radius的用户认证方案。
5,端口访问控制技术端口访问控制技术也是用于MANET网络的一种增强性安全解决方案。当移动终端与MANET网络建立关联之后,是否可以使用MANET网络所提供的服务就取决于认证之后的结果。如果通过认证,则MANET网络会为移动终端用户打开这个逻辑端口,否则就不允许该接入用户所提出的服务。
6,扩频技术与窄带射频相反,扩频发送器用一个非常弱的功率信号在一个很宽的频率范围内发射。扩频通信技术最早在军方用来实现保密通信,最初的设计目的是实现抗噪音、抗干扰并实现对未经授权接入的检测。扩频技术的实现方式有多种,最常用的是直接序列扩频、跳频扩频和跳时以及这些方法的组合。扩频通信系统的主要优点包括抗干扰性强、隐蔽性好、可实现码分多址、抗多径干扰及能实现精确定时和测距等。
虽然采取了相应的安全保护措施,但是在MANET网络中不能与传统网络一样使用过于复杂的算法,因为那样做会增大系统的处理负荷,不但达不到提高系统安全的目的,反而会适得其反,造成系统性能的丧失。鉴于此,本文对在传统网络中较为有效的椭圆曲线密码体制进行分析,找出适合于MANET网络要求的加解密方法和对应的密钥交换方法。

发明内容
本发明的目的在于找到一种将椭圆曲线应用于MANET网络进行安全保护的方法,以满足MANET在移动终端处理能力较弱,并且具有较高安全需求下的安全需求。
本发明的主要内容是针对如何将高效的椭圆曲线密码体制应用到对MANET网络的安全保护,给出安全加解密和密钥管理方案。
椭圆曲线离散对数问题EDLP的特征在于E(Fq)上的椭圆曲线离散对数等价(reduces意为具有相同的计算复杂性)到Fqk(Fq的扩域)上的离散对数问题,这就是所谓的对椭圆曲线离散对数问题的MOV攻击方法。
在对EDLP的实际计算时,首先分解n,利用此分解可以容易地检测α的阶是否为n,随机地在E[n]中选取点Q,直至α的阶为n。如果利用数域筛法分解n,其运行时间为L[1/3,n]。
基于椭圆曲线的密钥交换协议取决于EDLP的安全性。对EDLP的求解包括两部分一是将Fq上的EDLP规约(reduce)到Fqk上的DLP;二是解Fqk上的DLP。所以,基于EDLP的密码系统在安全方面应考虑使reduction和DLP二者在计算上尽量难。
在构造安全的椭圆曲线密码系统时,首先应选用non-supersingular型椭圆曲线,然后利用3种确定系数a2和a6。其中计算#E(Fq)可在多项式时间内得到结果。在确定椭圆曲线后,需要在该椭圆曲线上选取一个安全的点P(阶为素数或含大的素因子)。建立在non-supersingular型椭圆曲线上的密码系统,如果满足上述构造条件,对其进行攻击的方法只能利用PH方法进行reduce和解DLP。
为提高E(Fq)上密码方案的实现算法(点乘法)的运算速度,通常将E定义在GF((2n)m)或GF(2k)上,GF((2n)m)上的倍点、逆和乘法相对速度较快。
本发明的技术方案对椭圆曲线离散对数问题进行分析,找出安全椭圆曲线的生成方法,提出构造椭圆曲线的算法并选取安全点,然后对椭圆曲线在MANET网络中的快速实现算法和密钥交换协议进行分析。
公钥密码体制是建立在单向陷门函数基础上的。本节首先描述了传统的基于有限乘法群上离散对数和整数分解问题的密码体制,分析其在安全方面所面临的问题和其在运算性能上的不足,进而给出基于椭圆曲线的公钥密码体制的应用前景。Diffie-Hellman密钥交换协议的安全性建立在群上离散对数问题上,公钥为gx、gy、p和g,私钥为x和y,通信双方以群上运算结果(gy)x=(gxy)作为短期密钥。离散对数问题定义为已知由g生成的循环群G和y∈G,且G是有限域GF(P)上的乘法群,求x∈GF(P),使得y=gx(y=loggx)。
在理论上,RSA建立在对大整数n的分解难题上,即,已知合数n,求p和q,使得n=pq。目前,对大于100位十进制整数的有效分解方法是二次筛法QS、数域筛NFS和椭圆曲线分解等算法。利用NFS可在数月时间分解512位RSA合数。基于椭圆曲线的整数分解方法ECM是当前最有效的方法,Peter Montgomery成功地从一个449二进制位的合数分解出一个157二进制位的素因子,这是已知最好的结果。
从对RSA算法的直接攻击考虑,当Φ(n)=(p1-1)(p2-1)仅由小的素因子组成时,则很容易在小的范围内攻击密文。当gcd(p1-1,p2-1)较大时,设p1-1和p2-1的最小公倍数为u,则u<Φ(n),对于a,b∈ZΦ(n)且a,b∈Zu,如果,ab≡1modΦ(n),则ab≡1mod u,此时较容易发现解密密钥b。
由于用户对安全要求的提高,而提高素数和公钥位数(1024二进制位)时,基于乘法群上的公钥算法运行速度以指数数量下降,如对于目前离散对数攻击方法而言,要求D-H方案的素数模P的长度应大于512二进制位,通常情况下,当P取1024位时,密钥交换时间至少为4秒。1985年Koblitz和Miller提出利用椭圆曲线上的点构成的abelian加法群构造离散对数问题,从已有的攻击算法表明基于有限域椭圆曲线上的对数问题的难度(reduce)在复杂性上与乘法群上的离散对数难度相同,且椭圆曲线所基于的域的运算位数远小于传统离散对数的运算位数,其加法运算很容易用计算机的硬件和软件实现,特别是基于GF(2n)的椭圆曲线。如基于GF(2255)的密钥交换时间通常为几十毫秒。从安全方面考虑,用户可随意地选择安全的椭圆曲线,如对基于K=GF(p)上的椭圆曲线,p=2n,y2+xy=x3+a2x2+a6,用户可在GF(p)上随机选取a2和a6。在应用方面,利用基于有限域的椭圆曲线可实现数据加密、密钥交换、数字签名等密码方案。
本发明首先对椭圆曲线的离散对数问题进行分析,然后给出构造安全椭圆曲线的有效方法,给出椭圆曲线快速实现算法并找出有效的密钥分配方案。


下面结合附图和具体实施方式
对本发明作进一步说明。
图1为椭圆曲线密钥交换方法在MANET网络中的应用;图2描述了在一种有限域上密钥交换的时间和在Web客户-服务器环境下SSL的握手建立共享会话密钥的时间;图3描述了在另一种有限域上密钥交换的时间和在Web客户-服务器环境下SSL的握手建立共享会话密钥的时间;图4描绘了在Sun-SPARC10上椭圆曲线倍点xP和乘法群模指数gx运算的时间比较,在安全上(MOV攻击算法)通常认为GF(2155)椭圆曲线的倍点问题与gx≈1024一样难,而运行时间前者比后者快10倍以上。
具体实施例方式
一、椭圆曲线安全算法分析1,椭圆曲线离散对数问题EDLPMenezes将E(Fq)上的椭圆曲线离散对数等价(reduces意为具有相同的计算复杂性)到Fqk(Fq的扩域)上的离散对数问题,这就是所谓的对椭圆曲线离散对数问题的MOV[11]攻击方法。
任何一个有限abelian群G都可以表示为由它分解成的若干循环群的和。当这种分解是唯一时,即G=Zn1Zn2Zn3...Zns,其中ni+1|ni,i=1,2,3,..,s-1,ns>2,Zn(或Z/n)表示阶为n的群,则可引出以下定义。
算法1求k的部分信息输入P0∈E(Fq),P0的最大阶为n1,同时,已知R,且R=l×P0。
输出一个整数l`,l`≡l(mod n`),其中n`是n2的因子。
1随机选取一个点T∈E(Fq)。
2计算α=en1(P,T),]]>β=en1(P,T).]]>3计算l`(Fqk上β的离散对数,基是α,即,l`=logαβ)。
算法2EDLP到Fqk上的DLP的等价方法输入P0∈E(Fq),P0的阶为n,R∈<P>。
输出一个整整数k,且R=l×P0。
1确定最小的整数k,且E[n]∈E(Fqk).]]>2寻找Q∈E[n],且α=en(P,Q)的阶为n。
3计算β=en(R,Q)。
4计算l(Fqk上β的离散对数,基是α,即,l=logαβ,n-1>l>0)其中<P>表示由E(Fq)上具有最大阶的点P生成的子群。由于β=en(R,Q)=en(kP,Q)=en(P,Q)l=αl,所以,算法2的输出是正确的。当k非常大时,利用算法2求解(l=logR)通常运行指数时间,但对于Supersingular形椭圆曲线的EDLP则不然。
2,Supersingular形椭圆曲线的Reduction算法对于Supersingular形椭圆曲线文献11和62给出了可在多项式时间运行的算法6.3。Supersingular形椭圆曲线的EDLP到Fqk上DLP的等价算法。
输入P0∈E(Fq),P0的阶为n,R∈<P>,E(Fq)定义在supersingular形椭圆曲线上。输出一个整整数k,且R=l×P0。
1确定最小的整数k和c,从6类supersingular形椭圆曲线信息表中[2]2随机选取点Q`∈E[Fqk],]]>设置Q=(cn1/n),Q有n阶。
3计算α=en(P,Q),β=en(R,Q)。
4计算l`(Fqk上β的离散对数,基是α,即,l`=logαβ)。
5检查R=l`×P0是否成立?如果不成立,α必须小于n,转向2;如果成立,则结束。
如果E(Fq)是一个supersingular形椭圆曲线,则,将E(Fq)上的离散对数问题reduce到Fqk上的离散对数问题是一个概率多项式时间的reduction。
在对EDLP的实际计算时,首先分解n,利用此分解可以容易地检测α的阶是否为n,随机地在E[n]中选取点Q,直至α的阶为n。如果利用数域筛法分解n,其运行时间为L[1/3,n]。算法3的reduction时间为概率多项式时间,当考虑有限域离散对数问题的亚指数时间时,如果q是素数或q=pm,其中P是素数,则可以得出推论3,Non-supersingular形椭圆曲线的EDLP难度设non-supersingular上的E(Fq)的特征为p,P是E(Fq)上阶为n的点,R∈<P>,如果gcd(n,q)=1,则可以利用算法2正确地计算logPR。
算法2可以容易地推广到gcd(n,q)≠1的情况。设n=psn`,s>=1,gcd(n`,p)=1,令P`=psP,R`=psR,R`∈<P`>,则利用算法2可得logp`R`≡logpR mod(n`)设P``=n`P,R``=n`R,则ord(P``)=ps,R``∈<P``>,利用Pohlig-Hellman方法可以计算logP``R``,观察logP``R``≡logPR mod(ps)。
利用中国剩余定理可以求出logpR。
对于多数non-supersingular上的EDLP的求解时间为完全指数时间。设gcd(n,q)=1,Fq上离散对数的运行时间为L(q,c,1/3)。算法6.2规约(reduce)EDLP到Fqk上的DLP的运行时间为L(qk,c,1/3),算法2中E[n]∈E(Fqk)]]>或立的条件是n|qk-1,对于随机地选取阶为n的点,n≈q,不可能出现k<=(lnq)2,即,只要n和q同时是素数,则可以满足条件n|qk-1。这对于多数non-supersingular椭圆曲线是容易满足的。
二、构造安全的椭圆曲线1,EDLP安全理论安全是指在目前已知的对椭圆曲线离散对数攻击算法的攻击下,椭圆曲线应满足的条件,这主要包括选取安全的椭圆曲线,如何从椭圆曲线上选取安全的点P。首先,由第3章可知,安全椭圆曲线的构造应选取non-supersingular椭圆曲线,即当q=2n时a6≠0,当q是素数时a23+27a62≠0且#E(Fq)≠q+1。更进一步,当前最有效的攻击算法Pollard-ρ方法解离散对数问题需要 步,其中r是n的最大素因子,n是点P的阶,n-1>l>0,为抵御PH的离散对数攻击(求解l),n必须满足包含大的素因子的条件。而对于Menezes的归约(MOV reduction)算法的攻击,必须保证k>c,c足够大。
定理1 E(Fq)上对数问题是完全指数运算时间问题,当且仅当#E(Fq)的素因子r不能整除qv-1,其中v=1,2,3,..,10,定理2 E(Fq)上对数问题是完全指数运算时间问题,当且仅当#E(Fq)能被一个形如2ip+1的素数整除,且 定理3 设p是一素数,D是一个正整数,则4p=x2+Dy2有解(x,y),当且仅当-D是模p的二次剩余,同时多项式HD(x)有模p的根。
定理4 给定D,设p是一素数,且4p=x2+Dy2,则存在一椭圆曲线E(Fq),满足4#E(Fq)=(x-2)2+Dy2,即椭圆曲线E(Fq)可以由HD(x)模p的根得到。
2,Non-supersingular椭圆曲线加法群的点计数#E(Fq)构造安全椭圆曲线密码系统首先是要选择一条安全的椭圆曲线,即确定椭圆曲线方程的各项系数,a2和a6。由第3节MOV攻击算法可知E(Fq)的阶的确定对安全是重要的。所以,首先必须计算#E(Fq)。根据Hasse定理,|#E(Fq)-q-1|<=2q.]]>定义在F2n的non-supersingular椭圆曲线E(F2n)的点计数的方法是#E(F2n)=2n+1-t,|t|<22n.---(1)]]>E(Fq)的基m(cardinality)定义为m=2n+1-t,其中t是一个整数,|t|<22n.]]>传统的计数方法[11]是利用baby setps giant steps(Schoof,1985)方法测试所有可能的t,直至满足(1)。该方法的运算时间为O(2n/4),即,多项式时间。
Schoof算法利用Forbenius的特性E将 影射到自己;发送点(x,y,1)到(xq,yq,1)。
由自同态特征方程2-t+q=0 (2)其中,t满足基m=2n+1-t。
取素数l,当E作用在tarsion群E[l]时,式(2)可写成2-t+q≡O mod l(3)发现足够多的l(tl),且所有的l满足Πl>4q;]]>tl≡t(mod l),利用中国剩余定理可求出t,从而得到#E(Fq)。0<k<l,设k≡q(mod l),寻找τ,0<τ<l,则有(xq2,yq2)+k(x,y)=τ(xq,yq)=t(xq,yq)---(4)]]>(t-τ)(xq,yq)=O,O是E的自同态,由于(xq,yq)是阶为1的点,所以τ≡t(mod l)。
三、构造安全椭圆曲线的算法安全椭圆曲线的生成方法有以下三种1,随机选取椭圆曲线(a)随机选取a2和a6,且a2,a6∈Fq,构成椭圆曲线E(Fq);(b)计算#E(Fq);(c)检验E(Fq)是否包含大素因子r,否则转(a);(d)检验r是否满足定理6.3或6.4;(e)E(Fq)是安全椭圆曲线。
2,给定阶m求曲线E(Fq)当q是一个素数时,E(Fq)的计算方法如下(a)随机选取一整数m,且q+1-2q≤m≤q+1+2q,]]>同时m包含的大素因子r满足定理6.3或6.4;(b)利用定理6.5和6.6(文献64 Francois Morain)算法计算a2和a6,且a2,a6∈Fq;(c)E(Fq)是安全椭圆曲线。
当q=2n时,利用Lay-Zimmer算法计算E(Fq)。
(a)选择一小整数cmax;(b)利用Lay-Zimmer算法计算a2和a6,其中椭圆曲线E(F2n)的阶m=cr,r是素数,c<cmax;(c)如果r能整除(2n)v-1,则转(a);其中v=1,2,3,....,10;(d)E(F2n)是安全椭圆曲线。
3,Weil定理方法设F2n上,n的小素因子为k。
(a)随机选取一椭圆曲线Ey2+xy=-x3+a2x2+a6,a6≠0,,a2,a6∈F2k,]]>由于F2k是F2n的子域,所以,a2,a6∈F2n,]]>E是F2n上的椭圆曲线;
(b)计算w=#E(F2k);]]>(c)设t=qk+1-w,c=m/k,定义数列{Vn},V1=2,V2=t,Vn=t Vn-1-2k Vn-2,n>2,计算Vc,u=#E(F2n)=2n+1-Vc;]]>(d)如果u不能被一个大素数r整除,则转(a);(e)如果r能整除(2n)v-1,则转(a);其中v=1,2,3,...10;(f)E(F2n)是安全椭圆曲线。
四、选取安全点对于基于离散对数问题的密码放案的攻击是从点lP的倍数l。对于Pollard-ρ攻击方法而言,最安全点P的阶应为素数。
P的阶的计算方法是测试一些a和b,直至aP=bP,且b>a,则最小的c即为点P的阶,且cp=(b-a)P=OE。
五、椭圆曲线的快速实现算法为实现有限域上的快速逆和乘法,椭圆曲线的实现可以在复合域GF((2n)m)和GF(2k)两种有限域上,其中GF((2n)m)≌GF(2nm)如n=16,m=素数或gcd(m,n)=1。使用符合域的好处在于其基本域GF(2n)可以预计算{22,23,..,2nm+1),从而提高速度。本节主要内容参照文献65和66。
1,乘法nP和倍点算法设P=(x,y),传统的倍点2P=(x1,y1)算法是利用E(Fq)群加法x1=(x+yx)2+(x+yx)+α---(1)]]>y1=x2+(x+yx)x1+x1---(2)]]>由上式可知,倍点需要有限域Fq上的7次加法、2次乘法、1次平方及1次逆(1/x)运算。而nP的计算是反复倍点运算。模拟有限域上的模指数运算可以提高速度,如平方乘,k-ary,window等方法。文献9给出了E(Fq)的k-ary乘法算法。
P∈E(Fq),n=(et,et-1,..,e1,e0)b,b=2k,k>=1(或称为窗口长度,如k=5),则Q=nP可由以下算法求出nP算法(输入P∈E(Fq),输出Q=nP)1预计算
P0←OE;Fori=1 to 2k-1Pi=Pi-1+P;(Pi=iP)2 Q←OE;3 for i=t to 0Q←2kQ;/*k-ary t次点加*/Q←Q+Pei;4 return(Q).
为进一步提高速度,文献65给出了直接计算2k的方法,该方法较反复倍点运算快。更进一步,文献66-4.3节给出滑动窗口方法,并在第7章给出了一种改进的算法,预计算2iP(2P,4P,8P,..)。
2,有限域GF((2n)m)元素的逆椭圆曲线乘法运算中最耗费时间的运算是逆运算。为提高效率,考虑在有限域GF((2n)m)上的椭圆曲线,GF((2n)m)和GF(2n)/P(x))同构,如GF((216)11)≌GF(2176),P(x)=x11+x2+1。其中P(x)=xm+Σi=0m-1pixi,pi∈GF(2n),]]>如果gcd(m,n)=1,则P(x)是定义在GF(2n)上度为m的不可约首一多项式。设A∈GF((2n)m),则A(x)=am-1xm-1+am-2xm-2+..+a1x+a0(6.3)其中ai∈GF(2n)。利用Fermat小定理A2nm-1=AA2nm-2=1 mod P(x),可得A-1=A2nm-2A的逆可以通过加法链22nm-2=2+22+23+..+2nm+1预计算提高运算速度。
Ar=Ar-1A,r-1=2mn-12n-1-1=2n+22n+23n+..+2(m-1)n]]>A-1=(Ar)-1Ar-1。
3,有限域GF((2n)m)元素的加法C(x)=A(x)+B(x),系数相加,由于系数是n(8、16或32)位二进制,所以速度较快。
4有限域GF((2n)m)元素的乘法乘法是E(GF((2n)m))中第2费时的运算。设A,B∈GF((2n)m),并表示为(6.3)式,C(x)=A(x)B(x)mod P(x)。令m=2tl-1,t是整数,k=2m+1,C(x)的度<2m-1,A和B可以表示为以下形式。
A(x)=xk2(0xk2-1+ak-2xk2-2+...+ak2)+(ak2-1xk2-1+...+a0)=Ahxk2+Al]]>B(x)=xk2(0xk2-1+bk-2xk2-2+...+bk2)+(bk2-1xk2-1+...+b0)=Bhxk2+Bl]]>5点的阶与安全点设点P,对于任意a,b,当b>a时,如果a*P=b*P成立,则c*P=OE,其中c=b-a.。最小的c即为点P的阶。因为c能够整除椭圆曲线的阶,所以,只要已知椭圆曲线的阶包含大素因子,利用Weil方法,确定椭圆曲线E,就能够容易地找到阶为素数的安全点。
本文在有限域GF(2255)=GF((215)17),y2+xy=x3+161,阶为素数的安全点P为const ecPoint curve_point={/*P.x=*/{17,0x38cc,0x052f,0x2510,0x45aa,0x1b89,0x4468,0x4882,0x0d67,0x4feb,0x55ce,0x0025,0x4cb7,0x0cc2,0x59dc,0x289e,0x65e3,0x56fd,},/*P.y=*/{17,0x31a7,0x65f2,0x18c4,0x3412,0x7388,0x54c1,0x539b,0x4a02,0x4d07,0x12d6,0x7911,0x3b5e,0x4f0e,0x216f,0x2bf2,0x1974,0x20da,},};/*curve_point*/P的阶为一个255位的素数1026dd85081b82314691ced9bbec30547840e4b0e4bf72d8b5e0d258442bbcd31。
六、密钥交换协议及实现密钥交换是通信实体A和B建立本次会话密钥的协议,设A和B已知椭圆曲线公钥信息,即椭圆曲线E基于的域GF(q)、椭圆曲线E、椭圆曲线上的点P和点P的阶n。在本文的安全WWW环境中,A方作为Web服务器,B方是Win95客户浏览器,Web在收到浏览器的握手Hello信息后,向浏览器发送椭圆曲线公钥信息,主要包括ECParameters ::=SEQUENCE {versionINTEGER -- 版本号,fieldIDFieldID -- 定义E的有限域GF(q)curve Curve, -- 椭圆曲线a和b的系数base ECPoint,-- 用于密钥交换的点Porder INTEGER,-- P的阶cofactor INTEGER, … }
A的私钥为dA,公钥为QA=dAP=(xA;yA)。B的私钥为dB,公钥为QB=dBP=(xB;yB)。
模拟Diffie-Hellman协议可得出基于椭圆曲线的基本密钥交换协议,即,实体B收到QA后,计算会话密钥K=QAdB,同理,A计算会话密钥K=QBdA。下面是一个具有鉴别功能的密钥交换过程(1)实体A(a)选择随机整数KA,KA∈GF(q),1≤KA≤n-1;(b)计算点P的倍数,(x1;y1)=RA=KAP;(c)A发送RA至B。
(2)实体B(a)选择随机整数KB,KB∈GF(q),KB∈{1,2,..,n-1};(b)计算点P的倍数,(x2;y2)=RB=KBP;(c)B发送RB至A。
(3)实体A计算共享的会话密钥(a)计算SA=KA+x1dAxAmod n;(b)计算会话密钥K=sA(RB+x2xBQB)。
(4)实体B计算共享的会话密钥(a)计算sB=KB+x2dBxBmod n;(b)计算会话密钥K=sB(RA+x1xAQA)。
上述协议的安全性依赖于椭圆曲线离散对数问题,在实体A已知QB和实体A已知QB的情况下,双方可以对收到的RB和RA数据源进行鉴别。表6.1和6.2描述了在两种有限域上密钥交换的时间和在Web客户-服务器环境下SSL的握手建立共享会话密钥的时间。
权利要求
1.一种椭圆曲线密钥交换方法在MANET网络中的应用,其特征是分析椭圆曲线密码体制的安全性和在MANET网络使用的可行性,设计符合要求的MANET网络椭圆曲线生成算法,给出椭圆曲线安全点的选取方法以及对椭圆曲线密码体制密钥分配方法。
2.根据权利要求1所述的一种椭圆曲线密钥交换方法在MANET网络中的应用,其椭圆曲线离散对数问题EDLP的特征在于E(Fq)上的椭圆曲线离散对数等价(reduces意为具有相同的计算复杂性)到Fqk(Fq的扩域)上的离散对数问题,这就是所谓的对椭圆曲线离散对数问题的MOV攻击方法。
3.根据权利要求1所述的一种椭圆曲线密钥交换方法在MANET网络中的应用,其特征在于在对EDLP的实际计算时,首先分解n,利用此分解可以容易地检测α的阶是否为n,随机地在E[n]中选取点Q,直至α的阶为n。如果利用数域筛法分解n,其运行时间为L[1/3,n]。
4.根据权利要求1所述的一种椭圆曲线密钥交换方法在MANET网络中的应用,其特征在于基于椭圆曲线的密钥交换协议取决于EDLP的安全性。对EDLP的求解包括两部分一是将Fq上的EDLP规约(reduce)到Fqk上的DLP;二是解Fqk上的DLP。所以,基于EDLP的密码系统在安全方面应考虑使reduction和DLP二者在计算上尽量难。
5.根据权利要求4所述椭圆曲线密码体制应用,在构造安全的椭圆曲线密码系统时,首先应选用non-supersingular型椭圆曲线,然后利用3种确定系数a2和a6。其中计算#E(Fq)可在多项式时间内得到结果。在确定椭圆曲线后,需要在该椭圆曲线上选取一个安全的点P(阶为素数或含大的素因子)。建立在non-supersingular型椭圆曲线上的密码系统,如果满足上述构造条件,对其进行攻击的方法只能利用PH方法进行reduce和解DLP。
6.根据权利要求5所述的将椭圆曲线密码体制应用到MANET网络中的情况,为提高E(Fq)上密码方案的实现算法(点乘法)的运算速度,通常将E定义在GF((2n)m)或GF(2k)上,GF((2n)m)上的倍点、逆和乘法相对速度较快。
全文摘要
本发明属于无线网络安全保护领域,特别涉及到对MANET网络安全保护过程的新型加解密体制和密钥管理方法研究,针对MANET网络特性,分析了可将椭圆曲线密码体制应用到MANET网络的可行性,分析了安全椭圆曲线应满足的条件,给出了安全椭圆曲线密码系统的构造方法和在有安全需求的MANET网络中的密钥交换实现方法。
文档编号H04L29/06GK1913433SQ200610103449
公开日2007年2月14日 申请日期2006年7月21日 优先权日2006年7月21日
发明者王顺满, 陶然, 王越, 周四永 申请人:北京理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1