一种基于椭圆曲线的密钥交换方法技术

技术编号:6707881 阅读:435 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种基于椭圆曲线的密钥交换方法,在构造密钥生成函数时,充分考虑了用户身份信息、椭圆曲线方程参数信息以及用户的公钥等信息,而且在椭圆曲线点的计算时充分利用了余因子和随机数等信息,因此相比于现有技术,能够较好地提高安全性。

【技术实现步骤摘要】

本专利技术涉及信息加密技术,特别涉及。
技术介绍
信息安全一直是各国政府、企事业单位和个人在信息传递过程中所关注的焦点问 题。对信息进行加密,以防止被非法人员获取,是保障信息安全的一个核心技术手段。传统的加密方法多采用对称密钥体制,通信双方必须就密钥的秘密性和真实性达 成一致,但这种方法在实际应用中会存在一定的问题,比如由于需要借助于第三方来进行 密钥的分发,因此实现起来比较麻烦,而且也存在安全风险。为此,现有技术中又提出一种由通信双方现场协商生成共享密钥的方法,如公钥 体制下的密钥交换方法,具体包括基于RSA的Diffie-Hellman密钥交换方法和基于椭圆曲 线的密钥交换方法等。由于在安全强度、运算速度以及运算量等方面均具有优势,相比于其 它方法,基于椭圆曲线的密钥交换方法应用得更为广泛。现有基于椭圆曲线的密钥交换方法主要包括基于椭圆曲线的Diffie-Hellman密 钥交换方法和基于椭圆曲线的MQV密钥交换方法等。但这些方法中用到的密钥生成函数的 构造均不够严密,没有考虑通信双方的身份等信息,而且使用的椭圆曲线点的计算方法也 不够安全,无法防范小子群和无效曲线等攻击方式。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供,能够 提高安全性。为达到上述目的,本专利技术的技术方案是这样实现的,其特征在于,该方法包括A、通信双方预先确定一条椭圆曲线;B、作为通信发起方的用户A产生随机数rA e ,并计算椭圆曲线点& = G = (xi; yi),将所述&发送给作为通信响应方的用户B ;其中,所述G表示椭圆曲线的 基点,所述η表示G的阶,所述 G表示计算G的rA倍点;C、用户B产生随机数rB e ,并计算椭圆曲线点G = (x2, y2);从所述&中取出域元素&,将其数据类型转换为整数形式,并计算i ,所述i为& 和η的函数;计算G =(《+g、)mod 淇中,所述dB表示用户B的私钥,所述mod表示模运 算;验证接收到的&是否满足椭圆曲线方程,如果不满足,则结束流程,否则,从所述 Ra中取出域元素X1,将其数据类型转换为整数形式,并计算 ,所述$为X1和η的函数;计算椭圆曲线点K = (P,+A) = (xK,>v);其中,所述h表示余因子,h =#E (Fq) /n,所述Ftl表示包含q个元素的有限域,所述E (Fq)表示域Fq中椭圆曲线的所有有理 点组成的集合,所述#E(Fq)表示集合中元素的个数,所述Pa表示用户A的公钥;确定所述V是否为无穷远点,如果是,则结束流程,否则,将xv和yv的数据类型转 换为比特串,并计算密钥Kb = KDF (xv, yv,ZA, Zb, klen);其中,所述KDF表示密钥派生函数, 所述klen表示密钥派生函数输出数据的长度,所述Ik是由用户A的可辨别标识、椭圆曲线 方程参数以及用户A的公钥计算出的杂凑值,所述&是由用户B的可辨别标识、椭圆曲线 方程参数以及用户B的公钥计算出的杂凑值;将所述&发送给用户A ;D、用户A从所述&中取出域元素X1,将其数据类型转换为整数形式,并依次计算 和^(dA+VrrA) mod η,所述dA表示用户A的私钥;验证接收到的&是否满足椭圆曲线方程,如果不满足,则结束流程,否则,从所述 Rb中取出域元素&,将其数据类型转换为整数形式,并计算g ;计算椭圆曲线点t/ = (尺= (Xu,yv),其中,所述表示用户B的公 钥;确定所述U是否为无穷远点,如果是,则结束流程,否则,将&和yu的数据类型转 换为比特串形式,并计算密钥Ka = KDF(xu; Yu, ZA, Zb, klen)。可见,采用本专利技术的技术方案,在构造密钥生成函数时,充分考虑了用户身份信 息、椭圆曲线方程参数信息以及用户的公钥等信息,而且在椭圆曲线点的计算时充分利用 了余因子和随机数等信息,因此相比于现有技术,较好地提高了安全性。附图说明图1为本专利技术基于椭圆曲线的密钥交换方法实施例的流程图。 具体实施例方式针对现有技术中存在的问题,本专利技术中提出, 能够较好地提高安全性。为使本专利技术的技术方案更加清楚、明白,以下参照附图并举实施例,对本专利技术所述 方案作进一步地详细说明。图1为本专利技术基于椭圆曲线的密钥交换方法实施例的流程图。假设预先已确定一 条椭圆曲线,并已为通信双方用户A和用户B分别配置好公钥PA、I\和私钥dA、dB,如何确定 椭圆曲线以及如何为用户配置公钥和私钥均为现有技术,不再赘述。如图1所示,包括以下 步骤步骤11 作为通信发起方的用户A产生随机数rA e ,并计算椭圆曲线点 Ra = G = (xi; yi),将&发送给作为通信响应方的用户B。其中,G表示椭圆曲线的基点,η表示G的阶(通常为素数),G表示计算G的 rA倍点。步骤12:用户B产生随机数rBe ,并计算椭圆曲线点& = G = (x2,y2) ο6同样,G表示计算G的rB倍点。步骤13 用户B从&中取出域元素&,将其数据类型转换为整数形式,并计算 72^2W +(x2&(2w-I))。其中,W =「「k)g2(")]/2〗-1,「1表示顶函数,「纠即表示求大于或等于χ的最小整数;&表示按比特与运算。可以看出,i为&和η的函数。本实施例中,采用整数转换(IntTrans)方法将&转换为整数形式,具体实现包 括1)假设待转换的域元素为α (对应到本步骤中即为,转换后的结果为整数χ ;2)若q(椭圆曲线对应的有限域F,中的元素个数)为奇素数,则令χ = α ;3)若q = 2m,则α将为长度为m的比特串,设Snri, sm_2,···,%依次表示比特串中m-1从左到右的各比特,则χ=Σ2、。/=0步骤14 用户 B 计算& +72-rB)modn。其中,dB表示用户B的私钥,mod表示模运算。步骤15 用户B验证接收到的&是否满足椭圆曲线方程,如果不满足, 则结束流程,否则,从&中取出域元素X1,将其数据类型转换为整数形式,并计算 f = 2^+(4(2"-1))。可以看出,〒为X1和η的函数。 本步骤中,将&的横纵坐标分别作为χ和y代入椭圆曲线方程,如果不能成立,则 结束流程,否则,计算$ = 2W + (χ, &(2W-I))。步骤16 :用户8计算椭圆曲线点厂=(&+凡)=( ,凡),并确定V是否为无穷远点,如果是,则结束流程,否则,将Xv和yv的数据类型转换为比特串形式。其中,h表示余因子,h = #E(Fq)/n, Fq表示包含q个元素的有限域,E(Fq)表示域 Fq中椭圆曲线的所有有理点组成的集合,#E(Fq)表示集合中元素的个数;PA表示用户A的 公钥。如何确定V是否为无穷远点为现有技术,不再赘述。另外,本实施例中,采用比特串转换(BitTrans)方法将Xv和yv的数据类型转换为 比特串形式,具体实现包括1)假设待转换的域元素为α (对应到本步骤中即为Xv或yv),转换后的结果为比 特串S;2)若 q = 2m,则令 s = α ;3)若q为奇素数,则α将为区间中的整本文档来自技高网...

【技术保护点】
1.一种基于椭圆曲线的密钥交换方法,其特征在于,该方法包括:A、通信双方预先确定一条椭圆曲线;B、作为通信发起方的用户A产生随机数rA∈[1,n-1],并计算椭圆曲线点RA=[rA]G=(x1,y1),将所述RA发送给作为通信响应方的用户B;其中,所述G表示椭圆曲线的基点,所述n表示G的阶,所述[rA]G表示计算G的rA倍点;C、用户B产生随机数rB∈[1,n-1],并计算椭圆曲线点RB=[rB]G=(x2,y2);从所述RB中取出域元素x2,将其数据类型转换为整数形式,并计算所述为x2和n的函数;计算其中,所述dB表示用户B的私钥,所述mod表示模运算;验证接收到的RA是否满足椭圆曲线方程,如果不满足,则结束流程,否则,从所述RA中取出域元素x1,将其数据类型转换为整数形式,并计算所述为x1和n的函数;计算椭圆曲线点其中,所述h表示余因子,h=#E(Fq)/n,所述Fq表示包含q个元素的有限域,所述E(Fq)表示域Fq中椭圆曲线的所有有理点组成的集合,所述#E(Fq)表示集合中元素的个数,所述PA表示用户A的公钥;确定所述V是否为无穷远点,如果是,则结束流程,否则,将xV和yV的数据类型转换为比特串,并计算密钥KB=KDF(xV,yV,ZA,ZB,klen);其中,所述KDF表示密钥派生函数,所述klen表示密钥派生函数输出数据的长度,所述ZA是由用户A的可辨别标识、椭圆曲线方程参数以及用户A的公钥计算出的杂凑值,所述ZB是由用户B的可辨别标识、椭圆曲线方程参数以及用户B的公钥计算出的杂凑值;将所述RB发送给用户A;D、用户A从所述RA中取出域元素x1,将其数据类型转换为整数形式,并依次计算和所述dA表示用户A的私钥;验证接收到的RB是否满足椭圆曲线方程,如果不满足,则结束流程,否则,从所述RB中取出域元素x2,将其数据类型转换为整数形式,并计算计算椭圆曲线点其中,所述PB表示用户B的公钥;确定所述U是否为无穷远点,如果是,则结束流程,否则,将xU和yU的数据类型转换为比特串形式,并计算密钥KA=KDF(xU,yU,ZA,ZB,klen)。...

【技术特征摘要】

【专利技术属性】
技术研发人员:裴定一胡磊叶顶锋陈建华祝跃飞陈晓陈小明彭国华季庆光周锦君张亚娟张振峰
申请(专利权)人:中国科学院数据与通信保护研究教育中心
类型:发明
国别省市:11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1