基于国密算法的移动互联网信息通信加密方法技术

技术编号:11213149 阅读:177 留言:0更新日期:2015-03-26 23:35
本发明专利技术公开了一种基于国密算法的移动互联网信息通信加密方法,用户A通过移动终端向用户B发送加密信息,根据SM2椭圆曲线公钥密码算法,用户A动态创建椭圆曲线;用户A将该公钥和椭圆曲线相关参数传递给用户B;用户B使用用户A传来的椭圆曲线相关参数生成公钥kB;加密/解密通信。本发明专利技术使用Montgomery算法对Miller-Rabin算法底层优化,在素数测试的最佳选择上取得较好效果,采用滑动窗口算法通过灵活的控制窗口的大小,并跳跃式的计算二进制串,极大的椭圆曲线倍点运算速度和加密/解密速度,结合非对称密钥算法和对称密钥算法,使移动互联网通信加解密即迅速又安全可靠。

【技术实现步骤摘要】

本专利技术涉及一种信息通信加密技术,特别涉及。
技术介绍
国密算法是国家密码局公布的中国自主研发的商用密码算法和规范,用于保障商用密码的安全。随着移动互联网的快速发展,其相关信息安全也越来越受到人们的关注,如何将国密算法有效的应用于移动互联网,更好的保障移动互联网通信安全,便成为近期研究热点。 移动互联网具有高便捷,隐私要求高以及应用轻便等特性。国密算法中基于椭圆曲线离散对数问题(ECDLP)的SM2算法无疑是比较理想的选择,但要适应移动互联网通信,特别是在即时通信(頂)方面对信息传递要求快速、便捷、安全性高,还需要解决好以下问题:(I)如何快速选取最佳的椭圆曲线。 合适椭圆曲线参数将直接影响到椭圆曲线加密算法的速度、效率、密钥长度以及安全性。 (2)如何加快椭圆曲线多倍点运算。 椭圆曲线加密算法中点加法运算,特别是多倍点运算。由于高精度大整数运算的复杂性,使其成为影响算法运算速度的瓶颈。 (3)如何避免SM2算法产生的密钥过长,加密时间过长问题。 ElGamal公钥系统是国际上公认比较成功的公钥系统,但对较长的明文信息加密时,产生的加密后信息会很长,导致加密时间过长,影响加密效率。
技术实现思路
本专利技术的目的在于提供一种在移动互联网实际项目中使用国密算法行之有效的方法,以解决椭圆曲线参数的快速选取,椭圆曲线多倍点运算的快速实现,以及由于加密明文较长而导致加密时间过长的问题。 为实现上述目的,本专利技术采取了以下技术方案。,其步骤如下:1)椭圆曲线的动态创建:用户A通过移动终端向用户B发送加密信息,根据SM2公钥密码算法,用户A动态创建椭圆曲线;2)密钥互换:(1)用户A创建完所述椭圆曲线后,随机产生私钥dA,再根据所述椭圆曲线相关参数计算出公钥kA;(2)用户A将公钥kA和所述椭圆曲线相关参数传递给用户B;用户B随机生成自己的私钥dB,再使用用户A传来的所述椭圆曲线相关参数生成公钥kB ;该过程如果成功,用户B发送公钥kB和确认信息给用户A,用户A收到后完成密钥互换;否则发送错误信息,重复密钥互换;3)加密/解密通信:(1)加密通信时,明文信息使用SM4对称密钥加密算法进行加密,SM4算法的加密密钥嵌入到所述椭圆曲线上一点,再使用对方公钥对其进行加密;(2)解密通信时,通过私钥把嵌入加密密钥的椭圆点换算出来,再使用SM4算法进行信息解密。 所述动态创建分为所述椭圆曲线的有限域Fp、大素数P的确定、参数Ep (a,b)的确定和基点G的选定。 所述椭圆曲线的有限域Fp为选取的素域,对应的椭圆曲线方程为:y2 = x3+ax+b,a, b e Fp,且(4a3+27b2) mod p/ = 0。 所述大素数p的确定,先随机产生大素数p,然后采用概率素数测试算法Miller-Rabin算法测试,并使用结合滑动窗口算法和Montgomery类算法对Miller-Rabin算法底层优化。 所述椭圆曲线相关参数,包括椭圆曲线方程系数Ep (a, b),大素数p,基点G。 所述动态创建椭圆曲线,指在用户每次使用移动终端通信时,都创建一次椭圆曲线,保留本地,在主动发起通信时,发送相关参数给对方,以保证通信双方使用同一椭圆曲线参数加解密信息。 所述私钥均为随机产生的固定长度的随机数(一般为16位以上的十六进制数)。 所述加密密钥嵌入到椭圆曲线上一点,是将加密密钥转成大整数,并作为所述椭圆曲线上某点的X轴坐标,再根据所述椭圆曲线方程求出Y轴坐标,所得的点即为嵌入点。 所述加密密钥为随机产生的128位比特长度的十六进制数,使用SM2算法对该加密密钥加密。 所述加密/解密通信,其过程是基于ElGamal (—种常见的加密算法,它是基于1984年提出的公钥密码体制和椭圆曲线加密体系)公钥系统的加密/解密过程,加密后的椭圆点信息转成十六进制串。 本专利技术对信息的加密/解密通信过程中大量使用到了椭圆曲线的加法以及倍点运算,例如计算公钥的公式为=K= dG (K:公钥,d:私钥,G:基点)。G为取至椭圆曲线上的点,d为随机选取的私钥,公钥K就是G点的d倍点计算。 本文提出了一种基于国密算法的移动互联网通信有效方法,使用Montgomery算法对Miller-Rabin算法底层优化,在素数测试的最佳选择上取得较好效果,采用滑动窗口算法通过灵活的控制窗口的大小,并跳跃式的计算二进制串,极大的提高了运算的速度。采用滑动窗口算法提高椭圆曲线倍点运算速度,有效地提高了加密解密速度,结合非对称密钥算法和对称密钥算法,使移动互联网通信加解密即迅速又安全可靠。 【附图说明】 图1是本专利技术的基于ElGamal公钥系统移动互联网通信流程图。 【具体实施方式】 以下结合附图和实施例对本专利技术作进一步说明。参见图1,用户AlOl与用户Blll通信步骤:1、椭圆曲线动态创建102选取素域作为椭圆曲线的有限域,其对应的椭圆曲线方程为:y2 = x3+ax+b, a,b eFp,且(4a3+27b2) mod p/ = 0。用户A首先随机选取大素数p,再使用Miller-Rabin算法完成对大素数P的最佳测试,使用Montgomery算法对其底层优化。Montgomery算法是一种快速大数模乘算法,利用c = a * b(mod p)来简化模乘计算。 2、密钥互换(密钥互换为通信双方创建公钥,并相互交换对方公钥;加密时,使用对方公钥进行加密;解密时,使用私钥解密。) 2.1用户AlOl创建私钥dA和公钥kA103:随机选取指定长度的字符串作为私钥dA,根据公钥计算公式计算出用户AlOl的公钥kA = dA*G。 2.2用户B111创建私钥dB和公钥kB 113:用户Blll接受用户AlOl传来的椭圆曲线参数Ep (a,b),基点G(为所述椭圆曲线上一点,满足(XeJe) e E(Fp), G/ = 0),大素数P (为随机产生的一个长度大于192位比特串的素数)。随机创建自己的私钥dB (创建方式同用户A101),然后根据上述参数计算公钥kB = dB*G,并将该公钥以及确认信息114传回用户A101。 2.3完成密钥交换104:根据用户Blll的确认信息完成密钥交换114,收到错误信息重复2.1步骤。 、通信完成密钥交换后,通信双方可以进行加密通信。为了解决由于信息过长,而导致的加密解密速度较慢问题。采用国密算法中的对称密钥算法SM4对信息进行分组加密,使用非对称密钥算法SM2对加密密钥进行加密。 3.1椭圆曲线多倍点运算在对信息的加密解密过程中,大量使用了椭圆曲线的倍点运算。提高其运算效率也将直接影响到双方信息交流的顺畅。 采用滑动窗口算法能有效的提高倍点运算的效率,计算多倍点Q = kP,其中P为椭圆曲线上一点,k 二进制表示: k = (ktkt-1 …klkO), h 为窗口大小,满足 h>=l。 滑动窗口算法可以灵活的控制窗口的大小,并跳跃式的计算二进制串,极大的提高了运算的速度。 3.2 加密 105、116在对明文加密时,使用国密算法SM4对明文进行分组加密(由于对称密钥加密算法加解密速度快,所以即使明文很长,也能保证其加解密的速度,这点在即时通本文档来自技高网...

【技术保护点】
基于国密算法的移动互联网信息通信加密方法,其特征在于,其步骤如下:1)椭圆曲线的动态创建:用户A通过移动终端向用户B发送加密信息,根据SM2公钥密码算法,用户A动态创建椭圆曲线;2)密钥互换:(1)用户A创建完所述椭圆曲线后,随机产生私钥dA,再根据所述椭圆曲线相关参数计算出公钥kA;(2)用户A将公钥kA和所述椭圆曲线相关参数传递给用户B;用户B随机生成自己的私钥dB,再使用用户A传来的所述椭圆曲线相关参数生成公钥kB;该过程如果成功,用户B发送公钥kB和确认信息给用户A,用户A收到后完成密钥互换;否则发送错误信息,重复密钥互换;3)加密/解密通信:(1)加密通信时,明文信息使用SM4对称密钥加密算法进行加密,SM4算法的加密密钥嵌入到所述椭圆曲线上一点,再使用对方公钥对其进行加密;(2)解密通信时,通过私钥把嵌入加密密钥的椭圆点换算出来,再使用SM4算法进行信息解密。

【技术特征摘要】
1.基于国密算法的移动互联网信息通信加密方法,其特征在于,其步骤如下: 1)椭圆曲线的动态创建:用户A通过移动终端向用户B发送加密信息,根据SM2公钥密码算法,用户A动态创建椭圆曲线; 2)密钥互换: (1)用户A创建完所述椭圆曲线后,随机产生私钥dA,再根据所述椭圆曲线相关参数计算出公钥kA; (2)用户A将公钥kA和所述椭圆曲线相关参数传递给用户B;用户B随机生成自己的私钥dB,再使用用户A传来的所述椭圆曲线相关参数生成公钥kB ;该过程如果成功,用户B发送公钥kB和确认信息给用户A,用户A收到后完成密钥互换;否则发送错误信息,重复密钥互换; 3)加密/解密通信: (1)加密通信时,明文信息使用SM4对称密钥加密算法进行加密,SM4算法的加密密钥嵌入到所述椭圆曲线上一点,再使用对方公钥对其进行加密; (2)解密通信时,通过私钥把嵌入加密密钥的椭圆点换算出来,再使用SM4算法进行信息解密。2.根据权利要求1所述的基于国密算法的移动互联网信息通信加密方法,其特征在于,所述动态创建分为所述椭圆曲线的有限域Fp、大素数P的确定、参数Ep (a,b)的确定和点G的选定。3.根据权利要求2所述的基于国密算法的移动互联网信息通信加密方法,其特征在于,所述椭圆曲线的有限域Fp为选取的素域,对应的椭圆曲线方程为:y2 = x3+ax+b, a, be Fp,且(4a3+27b2) mod p/ = 0。4.根据权利要求2所述的基于国密算法的移动互联网信息通信加密方法,其特征在...

【专利技术属性】
技术研发人员:姚兴胡世飞邓春辉
申请(专利权)人:江西倍康信息技术有限公司
类型:发明
国别省市:江西;36

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

1