首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种基于Co-Z运算的蒙哥马利梯形算法的AVX2快速实现方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:南京航空航天大学

摘要:本发明公开了一种基于Co‑Z运算的蒙哥马利梯形算法的AVX2快速实现方法:首先计算蒙哥马利梯形算法中的两个Z坐标相同的椭圆曲线点R1=2P和R0=P;然后预计算A’和T’以调整Co‑ZLadder算法的计算步骤;然后将R1、R0、A’和T’的转换成字长为26位的冗余表示法并存储到AVX2的256位寄存器中;利用基于AVX2实现的双向素数域运算对Co‑Z共轭加法、Co‑Z加法运算以及Co‑ZLadder算法中的对称运算进行双向实现,并将其应用到蒙哥马利梯形算法中;最后将随机点的标量乘法运算结果从字长为26位的冗余表示法转换成普通的多精度表示法并转化成仿射坐标。本发明利用AVX2的计算能力和并行能力达到在不增加存储空间的前提下实现轻量级、安全且高效的基于Co‑Z运算的蒙哥马利梯形算法的目的。

主权项:1.一种基于Co-Z运算的蒙哥马利梯形算法的AVX2快速实现方法,其特征在于,具体步骤如下:步骤1,利用Co-Z初始化倍点算法XYCZ_IDBL计算蒙哥马利梯形算法中的两个Z坐标相同的椭圆曲线点R1=2P=X1,Y1,Z和R0=P=X0,Y0,Z,其中P是蒙哥马利梯形算法中输入的随机椭圆曲线点,R0是通过XYCZ_IDBL算法更新Z坐标后与P等价的椭圆曲线点,X0、Y0分别表示R0的横、纵坐标,R1则是通过XYCZ_IDBL算法得到的与2P等价的椭圆曲线点,X1、Y1分别表示R1的横、纵坐标;步骤2,通过椭圆曲线点R1和R0的横坐标X1、X0预计算大整数A′=X0-X12和T′=X0-X1A′;步骤3,将椭圆曲线点R1、R0以及大整数A′、T′转换成字长为26位的冗余表示法,并存储到AVX2的256位寄存器中;步骤4,进入蒙哥马利梯形算法的主循环,主循环的索引为i∈[1,254],i从标量k的第254个比特开始往下遍历k的每个比特,每次循环获取k的第i个比特ki和第i+1个比特ki+1,并令符号a=ki+ki+1mod2,a∈{0,1},通过a调整R1、R0的次序Ra、R1-a,与A′、T′同时作为双向并行Co-ZLadder算法的输入,并将双向并行Co-ZLadder算法的输出分别更新到Ra、R1-a、A′、T′中,循环调用双向并行Co-ZLadder算法并不断更新Ra、R1-a、A′、T′直到循环结束;步骤5,主循环结束后,获取k最低位的两个比特k0、k1,并令符号a=k0+k1mod2,,通过a调整R1、R0的次序Ra、R1-a,与A′、T′同时作为双向并行Co-Z共轭加法的输入,调用双向并行Co-Z共轭加法,并将双向并行Co-Z共轭加法的输出分别更新到Ra、R1-a中;步骤6,将R1-a,Ra,P,a作为串行Co-Z取逆运算的输入进行取逆运算得到结果其中Z=xPYaX0-X1,λ=yPXa,xP、yP表示P在仿射坐标下的横、纵坐标,Xa、Ya表示Ra在射影坐标下的横、纵坐标,X0、X1则分别是R0、R1在射影坐标下的横坐标,λ是一个大整数;步骤7,将R0、R1作为双向并行Co-Z加法的输入,调用双向并行Co-Z加法,并将双向并行Co-Z加法的结果更新到R0、R1中,最后通过坐标转换求得蒙哥马利梯形算法仿射坐标形式的结果;步骤8,将蒙哥马利梯形算法的结果从字长为26位的冗余表示法转换成字长为32位的多精度表示法。

全文数据:

权利要求:

百度查询: 南京航空航天大学 一种基于Co-Z运算的蒙哥马利梯形算法的AVX2快速实现方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。