[发明专利]p元域SM2椭圆曲线公钥加密、解密与加解密混合系统无效
申请号: | 201110107570.7 | 申请日: | 2011-04-27 |
公开(公告)号: | CN102761412A | 公开(公告)日: | 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-deterministic Polynomial Complete problem)来保证密钥的安全性的。相对于另外两种算法,ECC的安全性能更高、计算量更小,处理速度更快、在安全性相同的情况下所需要的密钥尺寸更小、对带宽的要求更低,因此,ECC体制具有更为广阔的应用前景。
SM2椭圆曲线公钥密码算法是国家密码管理局发布的一种ECC算法,公钥加密算法是其中的一项重要算法,它适用于商用密码应用中的信息加解密,加密方利用解密方的公钥对消息进行加密,解密方用对应的私钥进行解密,从而获取消息。但国家密码管理局已公布的仅仅是SM2椭圆曲线公钥密码算法中公钥加密算法的流程,目前尚未出现任何将其用硬件实现的硬件设备,难以将这种优秀的算法付诸应用。
发明内容
本发明所要解决的技术问题是提供p元域SM2椭圆曲线公钥加密、解密与加解密混合系统,能用硬件实现SM2椭圆曲线公钥密码算法中的公钥加密算法。
本发明解决上述技术问题的技术方案如下:一种p元域SM2椭圆曲线公钥加密系统,所述椭圆曲线具有基G、余因子h、阶n;公钥为PB;该系统包括:加密方控制中心、随机数生成模块、倍点运算模块、密钥派生模块;其中,
所述加密方控制中心用于,接收长度为klen比特的待加密消息M;将随机数k和点G作为一组倍点运算数据发送到所述倍点运算模块,并接收其返回的点C1的坐标(x1,y1);将点C1转换为比特串C1;将余因子h和点PB作为一组倍点运算数据发送到所述倍点运算模块,并接收其返回的点S的坐标;判断S是否为无穷远点,在判断结果为是的情况下输出本次加密因失败而结束的消息;将随机数k和点PB作为一组倍点运算数据发送到所述倍点运算模块,并接收其返回的点的坐标(x2,y2);将x2和y2拼接为比特串x2-y2;将标量klen与比特串x2-y2作为一组密钥派生数据发送到所述密钥派生模块,并接收其返回的比特串t;判断t是否为全0比特串,在判断结果为是的情况下,通知所述随机数生成模块重新生成随机数k,在判断结果为否的情况下,对M与t进行按位异或运算,得到比特串C2;将x2、M和y2拼接而成的比特串x2-M-y2进行密码杂凑运算,生成杂凑值C3;将比特串C1、C2和C3拼接为新的比特串C1-C2-C3,并将其作为密文C输出;
所述随机数生成模块用于,生成1与(n-1)之间的随机数k,并将其发送到所述加密方控制中心;
所述倍点运算模块用于,对倍点运算数据中的点进行其中的标量倍点运算,将运算结果返回所述加密方控制中心;
所述密钥派生模块用于,对密钥派生数据中的比特串进行密钥派生运算,将得到的长度为密钥派生数据中的标量的比特串返回所述加密方控制中心。
本发明的有益效果是:本发明中,由于加密方控制中心能够通过与随机数生成模块、倍点运算模块、密钥派生模块交换数据的方式来控制这些模块的工作时序,并实现判断、拼接比特串、密码杂凑运算等功能,因而能够实现SM2椭圆曲线公钥密码算法中的公钥加密算法。而本发明中的加密方控制中心、随机数生成模块、倍点运算模块、密钥派生模块都可以利用硬件来实现,因而本发明能用硬件实现SM2椭圆曲线公钥密码算法中的公钥加密算法。
在上述技术方案的基础上,本发明还可以做如下改进:
进一步,所述加密方控制中心包括:加密方控制子模块、密码杂凑子模块;其中,
所述加密方控制子模块用于,将x2、M和y2拼接而成的比特串x2-M-y2和标量v作为一组密码杂凑数据发送到所述密码杂凑子模块,并接收其返回的杂凑值C3;
所述密码杂凑子模块用于,对密码杂凑数据中的比特串进行密码杂凑运算,将生成的长度为密码杂凑数据中的标量的杂凑值返回所述加密方控制子模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于航天信息股份有限公司,未经航天信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110107570.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:按钮锁
- 下一篇:一种红外线燃气灶用的陶瓷板