[发明专利]一种基于Co-Z运算的蒙哥马利梯形算法的AVX2快速实现方法在审
申请号: | 202011178739.3 | 申请日: | 2020-10-29 |
公开(公告)号: | CN112367172A | 公开(公告)日: | 2021-02-12 |
发明(设计)人: | 刘哲;黄军浩 | 申请(专利权)人: | 南京航空航天大学 |
主分类号: | H04L9/30 | 分类号: | H04L9/30;G06F17/10 |
代理公司: | 南京经纬专利商标代理有限公司 32200 | 代理人: | 刘莎 |
地址: | 211106 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 co 运算 马利 梯形 算法 avx2 快速 实现 方法 | ||
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-X1)2和T′=(X0-X1)A′;
步骤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+1)mod 2,a∈{0,1},通过a调整R1、R0的次序Ra、R1-a,与A′、T′同时作为双向并行Co-Z Ladder算法的输入,并将双向并行Co-Z Ladder算法的输出分别更新到Ra、R1-a、A′、T′中,循环调用双向并行Co-Z Ladder算法并不断更新Ra、R1-a、A′、T′直到循环结束;
步骤5,主循环结束后,获取k最低位的两个比特k0、k1,并令符号a=(k0+k1)mod 2,,通过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=xPYa(X0-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位的多精度表示法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京航空航天大学,未经南京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011178739.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:模拟燃料棒-乏池不同控温的加热装置
- 下一篇:一种电网故障预警装置及方法