[发明专利]p元域SM2椭圆曲线密钥协商系统有效
申请号: | 201110107526.6 | 申请日: | 2011-04-27 |
公开(公告)号: | CN102761411A | 公开(公告)日: | 2012-10-31 |
发明(设计)人: | 徐树民;屈善新;刘振;王绍麟;田心;刘建巍 | 申请(专利权)人: | 航天信息股份有限公司 |
主分类号: | H04L9/30 | 分类号: | H04L9/30;H04L9/08 |
代理公司: | 北京科龙寰宇知识产权代理有限责任公司 11139 | 代理人: | 孙皓晨 |
地址: | 100195 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | sm2 椭圆 曲线 密钥 协商 系统 | ||
技术领域
本发明涉及信息安全技术领域,特别是涉及一种p元域SM2椭圆曲线密钥协商系统。
背景技术
随着通信技术和信息处理技术的发展,信息在传输过程中的安全性越来越受到关注,需要通过信息处理技术来保证信息在通信过程中不被窃听、篡改和仿造。密码技术能很好的解决这方面的要求。
自从1976年Diffie和Hellmann提出公钥密码体制的概念以来,出现了3类公认的安全有效的公钥密码系统,其依赖的数学问题分别为整数因数分解问题(IFP)、离散对数问题(DLP)和椭圆曲线离散对数问题(ECDLP),对应的算法依次是RSA算法、DSA数字签名算法、椭圆曲线算法(ECC)。这三种问题均基于计算复杂性的NPC问题(Non-determini stic Polynomial Complete problem)来保证密钥的安全性的。相对于另外两种算法,ECC的安全性能更高、计算量更小,处理速度更快、在安全性相同的情况下所需要的密钥尺寸更小、对带宽的要求更低,因此,ECC体制具有更为广阔的应用前景。
SM2椭圆曲线公钥密码算法是国家密码管理局发布的一种ECC算法,密钥交换协议是其中的一项重要算法,它适用于商用密码应用中的密钥交换,可满足通信双方经过两次或三次信息传递过程,计算获取一个由双方共同决定的共享的会话密钥。但国家密码管理局已公布的仅仅是SM2椭圆曲线公钥密码算法中密钥交换协议的流程,目前尚未出现任何将其用硬件实现的硬件设备,难以将这种优秀的算法付诸应用。
发明内容
本发明所要解决的技术问题是提供一种p元域SM2椭圆曲线密钥协商系统,能用硬件来实现SM2椭圆曲线公钥密码算法中的密钥交换协议。
本发明解决上述技术问题的技术方案如下:一种p元域SM2椭圆曲线密钥协商系统,所述椭圆曲线具有基G和余因子h,G的阶为n;发起方杂凑值和响应方杂凑值分别为ZA和ZB;发起方公钥和发起方私钥分别为PA和dA,响应方公钥和响应方私钥分别为PB和dB;发起方和响应方约定的会话密钥的长度为klen;该系统包括:发起方子系统和响应方子系统;所述发起方子系统包括:发起方控制中心、发起方随机数生成模块、发起方倍点运算模块、发起方点加模块、发起方密钥派生模块;所述响应方子系统包括:响应方控制中心、响应方随机数生成模块、响应方倍点运算模块、响应方点加模块、响应方密钥派生模块;其中,
所述发起方控制中心用于,将rA和G作为一组倍点运算数据发送到所述发起方倍点运算模块;将RA发送到所述响应方控制中心;根据x10=2w+[x1&(2w-1)]和x20=2w+[x2&(2w-1)]分别计算得到x10和x20;计算x10和rA的标量乘积x10·rA,根据tA=(dA+x10·rA)modn计算得到tA;判断RB是否为所述椭圆曲线上的点;将x20和RB作为一组倍点运算数据发送到所述发起方倍点运算模块;计算h和tA的标量乘积h·tA;将PB和[x20]RB作为一组点加运算数据发送到所述发起方点加模块;将h·tA和(PB+[x20]RB)作为一组倍点运算数据发送到所述发起方倍点运算模块;判断U是否为无穷远点;将xU、yU、ZA和ZB拼接成的比特串Z发送到所述发起方密钥派生模块;将发起方密钥派生模块返回的比特串KA作为发起方会话密钥输出;在判断出RB不为所述椭圆曲线上的点、U为无穷远点的情况之一时,输出协商失败的消息;
所述发起方随机数生成模块用于,将生成的1与(n-1)之间的随机数rA发送到所述发起方控制中心;
所述发起方倍点运算模块用于,对G进行rA倍点运算,得到坐标为(x1,y1)的点RA,并将RA发送到所述发起方控制中心;对RB进行x20倍点运算,将得到的[x20]RB发送到所述发起方控制中心;对(PB+[x20]RB)进行h·tA倍点运算,将得到的点U发送到所述发起方控制中心,所述点U的坐标为(xU,yU);
所述发起方点加模块用于,对PB和[x20]RB进行点加运算,将生成的(PB+[x20]RB)发送到所述发起方控制中心;
所述发起方密钥派生模块用于,对比特串Z进行密钥派生运算,将得到的长度为klen的比特串KA发送到所述发起方控制中心;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于航天信息股份有限公司,未经航天信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110107526.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:储热燃烧式发动机
- 下一篇:一种制取高纯乙醇的方法