发明名称 芯片中安全的点乘实现方法
摘要 本发明公开了一种芯片中安全的点乘实现方法,步骤1.读取用于点乘运算的标量k和椭圆曲线点P;步骤2.产生占空比为1/N的随机比特序列RandomBit;步骤3.计算标量k的非相邻表示型<img file="DDA0000629537550000011.GIF" wi="538" he="75" />对于i∈{1,3,5,…,2<sup>w-1</sup>-1},计算P<sub>i</sub>=iP;步骤4.Q←∞;步骤5.对于i从l-1到0,重复执行;步骤5.1.Q←2Q;步骤5.2.若RandomBit的最低比特为1,则执行伪操作DP,RandomBit≥1;否则,若k<sub>i</sub>≠0,且k<sub>i</sub>>0,则<img file="DDA0000629537550000012.GIF" wi="313" he="72" />否则,<img file="DDA0000629537550000013.GIF" wi="348" he="70" />步骤6.返回(Q)。本发明能够有效抵御侧信道攻击、故障注入攻击和模板分析攻击,提高芯片的安全性。适用于智能卡等计算资源受限的嵌入式设备,例如应用密码安全芯片的金融卡、交通卡等等。
申请公布号 CN105740730A 申请公布日期 2016.07.06
申请号 CN201410753520.X 申请日期 2014.12.10
申请人 上海华虹集成电路有限责任公司 发明人 吴江源;马博;陈海连
分类号 G06F21/77(2013.01)I 主分类号 G06F21/77(2013.01)I
代理机构 上海浦一知识产权代理有限公司 31211 代理人 戴广志
主权项 一种芯片中安全的点乘实现方法,其特征在于,当潜在受到SCA攻击、DFA攻击和TA攻击的软件或硬件密码设备运行椭圆曲线密码体制时,在需要进行点乘运算的情况下,在具体执行点加和倍点迭代的过程中,执行如下步骤:步骤1、读取用于点乘运算的标量k和椭圆曲线点P;步骤2、产生占空比为1/N的随机比特序列RandomBit;步骤3、计算标量k的非相邻表示型<img file="FDA0000629537520000011.GIF" wi="557" he="92" />对于i∈{1,3,5,...,2<sup>w‑1</sup>‑1},计算P<sub>i</sub>=iP;步骤4、Q←∞;步骤5、对于i从l‑1到0,重复执行;步骤5.1、Q←2Q;步骤5.2、若RandomBit的最低比特为1,则执行伪操作DP,RandomBit>>1;否则,若k<sub>i</sub>≠0,且k<sub>i</sub>>0,则Q<img file="FDA0000629537520000012.GIF" wi="320" he="131" />否则,<img file="FDA0000629537520000013.GIF" wi="354" he="151" />步骤6、返回(Q)。
地址 201203 上海市浦东新区碧波路572弄39号