申请/专利权人:哈尔滨理工大学
申请日:2020-08-19
公开(公告)日:2020-11-20
公开(公告)号:CN111966324A
主分类号:G06F7/52(20060101)
分类号:G06F7/52(20060101)
优先权:
专利状态码:有效-授权
法律状态:2024.01.30#授权;2020.12.08#实质审查的生效;2020.11.20#公开
摘要:本发明提供一种面向多椭圆曲线的标量乘法器实现方法、装置及存储介质,该方法可同时兼容secp256r1和Curve25519两类椭圆曲线,对固定基点G进行了单独考虑,根据曲线和算法来调用不同的点加控制和倍点控制,使用运算单元完成所有的标量乘和模运算单元来完成对应操中间计算结果也存储在寄存器堆占用硬件资源较少,并且根据不同的曲线形式及功能运算需求进行对应算法运算,减少了硬件需求面积并提高了运算速度,解决了现有技术解决现有技术中的标量乘法器的无法兼容多类曲线、运算速度较慢、讲求算法通用性未考虑特殊情况的问题。
主权项:1.一种面向多椭圆曲线标量乘法器实现方法,其特征在于,包括:预计算secp256r1曲线基点G的16个点坐标,存入寄存器堆的Comb预存点坐标部分,将secp256r1曲线的特征值P1,Curve25519曲线的特征值P2,以及其五倍特征值5P1和5P2一并存入寄存器堆中;判断椭圆曲线形式及功能运算需求;若椭圆曲线形式为secp256r1并要进行签名运算,则计算基点G的标量乘μG,结合预计算的secp256r1曲线的基点G的坐标循环迭代,每次迭代执行一次倍点和一次点加1操作,循环迭代64次完成标量乘运算;若椭圆曲线形式为secp256r1并要进行秘钥交换运算,则计算一般点P的标量乘λP,进行倍点和点加运算,预计算出2P和3P两个点的坐标,并将其存入寄存器堆的Shamir预计算点坐标区域,结合预计算的secp256r1曲线的一般点P的2P和3P两个点坐标循环迭代,每次迭代执行两次倍点和一次点加1操作,循环迭代128次完成标量乘运算;若椭圆曲线形式为secp256r1并且要进行验签运算,则计算基点G和一般点P的多标量乘λP+μG,进行倍点和点加运算循环5次预计算出13个预计算点坐标,并将其存至寄存器堆的Shamir预计算点坐标区域,结合预计算的secp256r1曲线的13个预计算点坐标循环迭代,每次迭代执行两次倍点和一次点加Z操作,循环迭代128次完成标量乘运算;若椭圆曲线形式为Curve25519并且要进行秘钥交换运算,则计算标量乘λP,进行阶梯运算255次,每次阶梯运算前后做一次cswap运算,根据标志位情况来交换两组坐标点;根据获得的标量乘结果进行数据后处理,将计算所得的三元坐标还原回二元坐标,完成标量乘计算并输出最终结果。
全文数据:
权利要求:
百度查询: 哈尔滨理工大学 面向多椭圆曲线标量乘法器的实现方法、装置及存储介质
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。