[发明专利]密码芯片中安全椭圆曲线的生成方法在审
申请号: | 201210351944.4 | 申请日: | 2012-09-19 |
公开(公告)号: | CN103677744A | 公开(公告)日: | 2014-03-26 |
发明(设计)人: | 顾海华;张宇 | 申请(专利权)人: | 上海华虹集成电路有限责任公司 |
主分类号: | G06F7/72 | 分类号: | G06F7/72 |
代理公司: | 上海浦一知识产权代理有限公司 31211 | 代理人: | 戴广志 |
地址: | 201203 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 密码 芯片 安全 椭圆 曲线 生成 方法 | ||
技术领域
本发明涉及密码学领域,特别是涉及一种密码芯片中安全椭圆曲线的生成方法。
背景技术
实数域上椭圆曲线可以表示为y2=x3+ax+b,其中x,y,a,b为实数。而密码算法中,椭圆曲线是定义在素数域E(Fp)上,其中p为素数,x,y,a,b可以取0,1,2,3...p-1;同时在素数域上满足4a3+27b2mod p≠0。给定整数k和点P,容易计算kP;不妨记Q=kP,如果给定点P和Q,对于精心选取的椭圆曲线,很难求出k。这就是椭圆曲线离散对数问题,也是椭圆曲线密码的数学安全基础。
当椭圆曲线的阶是一个大素数,那么对于这个离散对数问题目前还没有好的解决方法,所以称目前是安全的。但是对于椭圆曲线的攻击,可以通过导入故障攻击,使它的点不落在安全曲线上,而落在比如扭曲线上。如果扭曲线的阶可以分解成小素数的乘积,就能够通过求离散对数问题来得到密钥。
发明内容
本发明要解决的技术问题是提供一种密码芯片中安全椭圆曲线的生成方法,能使构造的椭圆曲线具有更高的安全性。
为解决上述技术问题,本发明的密码芯片中安全椭圆曲线的生成方法,包括如下步骤:
步骤一,建立素数域Fp;
步骤二,在素数域Fp中选取两个随机数a,b;
步骤三,验证Δ=-16*(4*a3+27*b2)是否为0,如果为0,则返回步骤二;如果不为0则执行步骤四;
步骤四,在素数域Fp构建椭圆曲线E,即y2=x3+ax+b;
步骤五,运算椭圆曲线E的阶r0,如果r0不是素数,则返回步骤二;如果是素数则执行步骤六;
步骤六,选取一个数c;
步骤七,验证
步骤八,在素数域Fp构建扭曲线E1即cy2=x3+ax+b;
步骤九,计算扭曲线E1的阶r1,如果r1不是素数,则返回步骤二;如果是素数则执行步骤十;
步骤十,输出随机数a,b;
其中,p为素数,c是p的二次非剩余,“﹡”代表乘号,△为椭圆曲线E的判别式,只有满足△≠0时,y2=x3+ax+b所构成的点与无穷远点才可以构成椭圆曲线,△1为椭圆曲线E1的判别式,只有满足△1≠0时,cy2=x3+ax+b所构成的点与无穷远点才可以构成椭圆曲线。
步骤五中,所述椭圆曲线E的阶r0是一个至少160比特的素数。
步骤八中,所述扭曲线E1的阶r1是一个至少160比特的素数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海华虹集成电路有限责任公司,未经上海华虹集成电路有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210351944.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:字幕处理方法、装置及系统
- 下一篇:一种变频炼塑机检测仪