[发明专利]同步标量乘法算法有效
申请号: | 200680045391.2 | 申请日: | 2006-11-03 |
公开(公告)号: | CN101366232A | 公开(公告)日: | 2009-02-11 |
发明(设计)人: | 艾德里安·安提帕;尤里·普易路夫 | 申请(专利权)人: | 塞尔蒂卡姆公司 |
主分类号: | H04L9/28 | 分类号: | H04L9/28;G06F21/24 |
代理公司: | 深圳中一专利商标事务所 | 代理人: | 张全文 |
地址: | 加拿大*** | 国省代码: | 加拿大;CA |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 同步 标量 乘法 算法 | ||
1.一种在加密单元中通过同步执行第一标量k乘以椭圆曲线E上的第一点P 的第一乘法以及第二标量s乘以上述椭圆曲线E上的第二点Q的第二乘法来执行 加密操作的方法,其中所述第一标量k包括一个或多个二进制的位ki,以及所述 第二标量s包括一个或多个二进制的位si,其中所述标量k和s包括相同数目的位, i表示所述第一标量k和所述第二标量s中的公共位的位置,所述方法包括:
通过下列步骤产生包括第一项和第二项在内的初始运算对:
将来自第一乘法和第二乘法的蒙哥马利式子的各个第一项相加;
将来自第一乘法和第二乘法的蒙哥马利式子的各个第二项相加;以及
以所述初始运算对开始,针对每个位元对(ki,si),通过下列步骤使用前一运算 对来计算下一运算对:
如果位元对为(0,0),则通过下列操作产生下一运算对:
将前一运算对的第一项加倍以获得下一运算对的第一项;以及
将前一运算对的第一项和第二项相加以获得下一运算对的第二项;
如果位元对为(1,1),则通过下列操作产生下一运算对:
将前一运算对的第一项和第二项相加以获得下一运算对的第一项; 以及
将前一运算对的第二项加倍以获得下一运算对的第二项;
如果位元对为(0,1),则通过下列操作产生下一运算对:
将前一运算对的第一项加倍并加上第二点Q,以获得下一运算对的 第一项;以及
将第一点P和第二点Q与下一运算对的第一项相加;
如果位元对为(1,0),则通过下列操作产生下一运算对:
将前一运算对的第一项加倍并加上第一点P,以获得下一运算对的第 一项;以及
将第一点P和第二点Q与下一运算对的第一项相加。
2.如权利要求1所述的方法,进一步包括丢弃上述第一标量k的最高有效位 和丢弃上述第二标量s的最高有效位。
3.如权利要求1所述的方法,其中每一下一运算对包括式子[mP+nQ, (m+1)P+(n+1)Q],其中m表示上述第一点P在前一运算对中的系数,n表示上述 第二点Q在前一运算对中的系数,以及其中针对每一下一运算对,第二项与第一 项相差(P+Q)。
4.如权利要求3所述的方法,其中当上述位元对(ki,si)当前等于(0,0)时,下一 运算对为[2mP+2nQ,(2m+1)P+(2n+1)Q]。
5.如权利要求3所述的方法,其中当上述位元对(ki,si)当前等于(1,1)时,下一 运算对为[(2m+1)P+(2n+1)Q,(2m+2)P+(2n+2)Q]。
6.如权利要求3所述的方法,其中当上述位元对(ki,si)当前等于(0,1)时,下一 运算对为[2mP+2nQ+Q,(2m+1)P+(2n+1)Q]。
7.如权利要求3所述的方法,其中当上述位元对(ki,si)当前等于(1,0)时,下一 运算对为[2mP+2nQ+P,(2m+1)P+P+(2n+1)Q]。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于塞尔蒂卡姆公司,未经塞尔蒂卡姆公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200680045391.2/1.html,转载请声明来源钻瓜专利网。