用于密码芯片中三元扩域的蒙哥马利阶梯算法

文档序号:8285004阅读:406来源:国知局
用于密码芯片中三元扩域的蒙哥马利阶梯算法
【技术领域】
[0001] 本发明涉及密码学领域,特别是涉及一种用于密码芯片中三元扩域的蒙哥马利阶 梯算法。
【背景技术】
[0002] 三元扩域6?(3111)上的椭圆曲线可以表示为/ = 13+&#+13,其中&,13£6?(3°1),且 b尹0。点(x,y)的逆元是(x, -y)。
【主权项】
1. 一种用于密码芯片中H元扩域的蒙哥马利阶梯算法,其特征在于,包括如下步骤: 步骤(1),计算 kn_i,…,k〇,满足 k = kn_i3D-i+'''+k〇,其中 kn_i = 1 或 2 ; 步骤(2),R[0] =kn_iP,R[l] = (kn_i + l)P; 步骤(3),i从n-2到0循环,其中: 步骤(3. 1),如果 ki = 0,那么 R[2] = 3R[0],R[1] = 2R[0]+R[1]; 步骤(3. 2),如果 ki = 1,那么 R[2] = 2R[0]+R[1],R[l] = R[0]+2R[1]; 步骤(3. 3),如果 ki = 2,那么 R[2] = R[0]+2R[1],R[l] = 3R[1]; 步骤(3. 4),R[0]=R[2]; 步骤(4),输出R[0]。
2. 如权利要求1所述的蒙哥马利阶梯法,其特征在于;整个所述算法只需要X坐标参 与运算。
3. 如权利要求1或2所述的蒙哥马利阶梯算法,其特征在于:步骤3.1和3.2中 2R[0]+R[1]通过W下公式计算:
其中 X。,XI,X2, X3, X4 分别为 P,R[0],R[l],R[0]+R[1],2R[0]+R[1]的 X 坐标。
【专利摘要】本发明公开了一种用于密码芯片中三元扩域的蒙哥马利阶梯算法,包括如下步骤:步骤(1),计算kn-1,…,k0,满足k=kn-13n-1+…+k0,其中kn-1=1或2;步骤(2),R[0]=kn-1P,R[1]=(kn-1+1)P;步骤(3),i从n-2到0循环:其中,步骤(3.1),如果ki=0,那么R[2]=3R[0],R[1]=2R[0]+R[1];步骤(3.2),如果ki=1,那么R[2]=2R[0]+R[1],R[1]=R[0]+2R[1];步骤(3.3),如果ki=2,那么R[2]=R[0]+2R[1],R[1]=3R[1];步骤(3.4),R[0]=R[2];步骤(4),输出R[0]。本发明充分利用三元扩域的特点,即3次方能够迅速地计算;从而提高了椭圆曲线上点乘的计算效率。同时,本发明只需要x坐标参与运算,可以节省密码芯片的存储开销。
【IPC分类】H04L9-28
【公开号】CN104601322
【申请号】CN201310533581
【发明人】顾海华
【申请人】上海华虹集成电路有限责任公司
【公开日】2015年5月6日
【申请日】2013年10月31日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1