适用于ecc点乘算法的抗无穷远点攻击的方法

文档序号:6561550阅读:859来源:国知局
专利名称:适用于ecc点乘算法的抗无穷远点攻击的方法
技术领域
本发明涉及信息安全领域,特别是涉及一种适用于ECC点乘算法的抗无穷远点攻击的方法。
背景技术
ECC (椭圆曲线密码)算法是智能卡中常用的加密算法,其优越性在于应用较短的密钥就可以达到很高的安全强度。ECC算法的核心是点乘运算,其一般有以下几种算法第一种,从右向左的二进制算法,流程为
输入k= (kt_1; A , k1; k0)2, P e E(Fq)输出kPl.Q—oo2.对于i从0到t_l,重复执行2. I 若 Iii = I,则 Q — Q+P2· 2P — 2P3.返回 Q第二种,从左向右的二进制算法,流程为输入k= (kt_1; A , k1; k0)2, P e E(Fq)输出kPl.Q—oo2.对于i从t_l到0,重复执行2.1Q —2Q2. 2 若 Iii = 1,则 Q — Q+P3.返回 Q第三种,NAF窗口法,包括计算一个正整数的窗口宽度ω的NAF算法和点乘算法两部分,其中,NAF算法的流程为输入窗口宽度ω,一个正整数k输出NAFu(k)I. i — O2当k彡I时,重复执行2. I若k是奇数2. I. Iki — (kmod2")2. I. 2 如果 Iii > 2ω-1,Iii = 1 「2ω2· I. 3k — k-kj2. 2 否则,ki —02. 3k — k/2,i — i+1
3.返回(ki_1; ki_2, A , k1; k。)点乘算法的流程为細入1 口览度 ω,k = (kt_j, Λ , Ic1, k0) 2 P ^ E (Fq)输出kPI.用计算窗口 NAF的算法计算见
权利要求
1.一种适用于ECC点乘算法的抗无穷远点攻击的方法,包括步骤 1)按轮进行ECC点乘迭代运算;其特征在于,还包括步骤 2)在上一轮点乘迭代结束,下一轮点乘迭代开始前,判断当前迭代结果是否为无穷远点,若是,则输出计算错误信息,并结束ECC点乘迭代运算;若否,则继续进行下一轮迭代运算,直到最后一轮迭代完成,输出运算结果。
2.根据权利要求I所述的方法,其特征在于,所述ECC点乘迭代运算包括任何有限域中的ECC点乘迭代运算。
3.根据权利要求I所述的方法,其特征在于,步骤2)中,判断当前迭代结果为无穷远点的依据是射影坐标中,点的Z坐标为O ;或者仿射坐标点加或倍点计算中,斜率为无穷大。
全文摘要
本发明公开了一种适用于ECC点乘算法的抗无穷远点攻击的方法,包括步骤1)按轮进行ECC点乘迭代运算;2)在上一轮点乘迭代结束,下一轮点乘迭代开始前,判断当前迭代结果是否为无穷远点,若是,则输出计算错误信息,并结束ECC点乘迭代运算;若否,则继续进行下一轮迭代运算,直到最后一轮迭代完成,输出运算结果。该方法通过在ECC点乘迭代运算中加入一个条件判断,判断每轮迭代结果是否为无穷远点,实现了检测并防御无穷远点攻击的目的,从而提高了使用ECC算法的智能卡的安全性。
文档编号G06F21/00GK102902897SQ20111020835
公开日2013年1月30日 申请日期2011年7月25日 优先权日2011年7月25日
发明者马博, 包斯刚, 何玉明 申请人:上海华虹集成电路有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1