[发明专利]椭圆曲线密码的高速点加运算方法和装置在审
申请号: | 201910732752.X | 申请日: | 2019-08-09 |
公开(公告)号: | CN110460443A | 公开(公告)日: | 2019-11-15 |
发明(设计)人: | 胡世文;沈亚明;常洪明;田涛 | 申请(专利权)人: | 南京秉速科技有限公司 |
主分类号: | H04L9/30 | 分类号: | H04L9/30 |
代理公司: | 32305 江苏法德东恒律师事务所 | 代理人: | 刘林<国际申请>=<国际公布>=<进入国 |
地址: | 210009江苏省南京市江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 蒙哥马利模乘器 点加运算 流水线型 模乘运算 批处理 椭圆曲线密码 方法和装置 个数量级 系统整体 性能提升 硬件电路 硬件资源 运算请求 资源使用 模乘器 配合模 复用 模加 算法 运算 吞吐量 能耗 电路 流水 配置 分析 | ||
本发明公开了一种椭圆曲线密码的高速点加运算方法和装置,采用流水线型蒙哥马利模乘器配合模加器来实现,一个点加运算执行16个模乘运算;一个使用一个或者多个模乘器的点加电路,每一个模乘运算执行一个批次的运算请求,系统可同时计算N个运算,使系统整体性能提升N倍。本发明利用流水线型蒙哥马利模乘器的流水特性,巧妙地复用底层流水线型的硬件电路,以批处理的方式同时执行多个点加运算,整个系统的吞吐量获得几个数量级的提升。这使得本发明的性能/硬件资源比及性能/能耗比都比以往技术有数倍甚至数十倍的提升。同时本发明还通过分析点加算法的特性,选择最优的蒙哥马利模乘器和模加器的个数,达到性能和资源使用的最佳配置。
技术领域
本发明涉及椭圆曲线密码系统技术领域,具体涉及一种椭圆曲线密码倍点运算的高性能集成电路方法和装置。
背景技术
信息的安全保障基于安全算法,安全算法有一类是非对称密钥算法。非对称密钥算法的优点是安全性高,缺点是加密速度比分组密码慢很多,所以人们一直在研究如何提升非对称密钥算法的运算速度。目前,非对称密钥算法主要有两种,一是RSA,二是椭圆曲线密码ECC(Elliptic Curve Cryptography)。
椭圆曲线密码(ECC)是1985年由N.Koblitz和V.Miller提出的,其利用有限域上的椭圆曲线有限群代替离散对数问题中的有限循环群后得到的一类密码体制。由于椭圆曲线密码具有安全性能高、处理速度快、带宽要求低和存储空间小等特点,与RSA相比,ECC在密钥长度和运算速度上具有优越性。
素域上的椭圆曲线E(Fp)上所有点q=(x,y)由Weierstrass方程定义为
E:y2=x3+ax+b(mod p)
其中p是素数,a、b为两个小于p的非负整数(0<a,b<p),且满足
4a3+27b2(mod p)≠0
为避免求逆运算,椭圆曲线上的点通常用其他坐标系来表示。在雅可比坐标系中,雅可比投影坐标Q=(X,Y,Z)与仿射坐标Q’=(x,y)=(X/Z2,Y/Z3)相对应,并且要求Z≠0。所以在雅可比坐标系下椭圆曲线方程变为
E:Y2=X3+aXZ4+bZ6(mod p)。
在椭圆曲线密码系统中,核心运算是点乘(k*Q),其中Q为椭圆曲线上的一点,k为一标量值。可以将点乘分解为两种基本运算:点加(ECPADD)以及倍点(ECPDBL)。
输入:点Q;r位的标量k
输出:k*Q
T=Q
S=0
让i从0到r-1递增
如果ki=1
S=ECPADD(S,T)
T=ECPDBL(T)
返回S
点加运算使得两个不同点相加的结果仍为该椭圆曲线上的一点。倍点运算使得两个相同点相加的结果仍为该椭圆曲线上的一点。与普通运算不同,点加只有在两个点不同时使用。
在雅可比投影坐标下,点架的算法如下:
输入:两点(X1,Y1,Z1),(X2,Y2,Z2)
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京秉速科技有限公司,未经南京秉速科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910732752.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于格的密钥封装方法
- 下一篇:一种时空可信的区块链生成方法及设备