一种嵌入式安全芯片及其的蒙哥马利模乘运算方法_4

文档序号:8445385阅读:来源:国知局
长度len,具体包括以下步骤: 初始化第一变量ZeroCounter,第二变量OneCounter,循环变量i和第三变量Out_i ; 判断循环变量i是否小于等于E_Bitslen,其中E_Bitslen是第二预设参数的位长; 当循环变量i小于等于E_Bitslen时,判断E[i]的值是否满足逻辑真; 当E[i]的值满足逻辑真时,判断第一变量ZeroCounter是否等于零值; 当第一变量ZeroCounter不等于零值时,判断第二变量OneCounter是否等于零值;当第二变量OneCounter等于零值时,运算标志数T [Out_i]赋值零,第三变量Out_i自增一,运算标志数T [Out_1:0ut_i+ ZeroCounter-1]赋值1,接着第三变量Out_i等于Out_i+ ZeroCounter,第一变量 ZeroCounter 赋值为 I ; 循环变量i自增一,接着进入判断循环变量i是否小于等于E_Bitslen的步骤; 当第二变量OneCounter不等于零值时,进入循环变量i自增一的步骤; 当第一变量ZeroCounter等于零值时,第二变量OneCounter自增一,接着进入循环变量i自增一的步骤; 当E[i]的值不满足逻辑真时,判断第二变量OneCounter是否等于零值; 当第二变量OneCounter不等于零值,判断第一变量ZeroCounter是否等于零值; 当第一变量ZeroCounter等于零值时,运算标志数T [Out_1: Out_i+ ZeroCounter-1]赋值为I,第三变量Out_i等于Out_i+ ZeroCounter,第二变量OneCounter]赋值为零值,第一变量ZeroCounter赋值为I,接着进入循环变量i自增一的步骤; 当第一变量ZeroCounter不等于零值时,进入循环变量i自增一的步骤; 当第二变量OneCounter等于零值,第一变量ZeroCounter自增I,接着进入循环变量i自增一的步骤; 当循环变量i不小于等于E_Bitslen时,判断第三变量Out_i值是否大于零; 当第三变量Out」值大于零时,第三变量Out_i自减I ; 输出位长度Ien= Out_i,和运算标志数T ; 当第三变量Out_i值不大于零时,进入输出位长度Ien= Out_i,和运算标志数T的步骤。
4.如权利要求2所述的运算方法,其特征在于:根据所述第二预设参数转换成计算过程的编码,得到运算标志数T和运算标志数T的位长度len,具体包括以下步骤: 初始化运算标志数T和运算标志数T的位长度Ien ; 判断所述第二预设参数是否小于4 ; 当所述第二预设参数小于4时;判断所述第二预设参数是否等于3 ; 当第二预设参数等于3,运算标志数T位或一,位长度Ien自增一; 输出位长度Ien= Out_i,和运算标志数T ; 当第二预设参数不等于3时,位长度Ien自增一,接着进入输出位长度Ien= Out_i,和运算标志数T的步骤; 当所述第二预设参数大于等于4时,判断第二预设参数的二进制数最低位的值是否等于I ; 当第二预设参数的二进制数最低位的值等于I时,运算标志数T位或一,第二预设参数向右移一位,和位长度Ien自增一; 当第二预设参数的二进制数最低位的值不等于I时,第二预设参数自减1,和位长度Ien自增一; 运算标志数T向左移一位,接着进入判断所述第二预设参数是否小于4的步骤。
5.如权利要求1-4任意一项所述的运算方法,其特征在于:所述根据第一输入参数NA、第二输入参数NB、蒙哥马利模乘转换系数和所述蒙哥马利模乘函数,得到模乘结果的步骤,具体包括以下步骤: 根据第一输入参数NA、蒙哥马利模乘转换系数和所述蒙哥马利模乘函数,得到第一模乘结果NAR ; 根据第二输入参数NB、第一模乘结果NAR和所述蒙哥马利模乘函数,得到最终模乘结果O
6.如权利要求1-4任意一项所述的运算方法,其特征在于:所述根据第一输入参数NA、第二输入参数NB、蒙哥马利模乘转换系数和所述蒙哥马利模乘函数,得到模乘结果的步骤,具体包括以下步骤: 根据第二输入参数NB、蒙哥马利模乘转换系数和所述蒙哥马利模乘函数,得到第二模乘结果NBR ; 根据第一输入参数NA、第二模乘结果NBR和所述蒙哥马利模乘函数,得到最终模乘结果O
7.如权利要求1-4任意一项所述的运算方法,其特征在于:所述根据第一输入参数NA、第二输入参数NB、蒙哥马利模乘转换系数和所述蒙哥马利模乘函数,得到模乘结果的步骤,具体包括以下步骤: 根据第一输入参数NA、第二输入参数NB和所述蒙哥马利模乘函数,得到第三模乘结果NANBr ; 根据第三模乘结果NANBr、蒙哥马利模乘转换系数和所述蒙哥马利模乘函数,得到最终模乘结果。
8.一种嵌入式安全芯片,其特征在于:所述嵌入式安全芯片包括: 获取模块,用于获取两个第一预设参数,和第二预设参数,其中第一预设参数为常数I ; 蒙哥马利模乘模块,用于根据两个第一预设参数,得到第一运算结果A ; 次方计算模块,用于根据所述蒙哥马利模乘模块输出的第一运算结果A、第一预设参数、第二预设参数和次方计算函数,得到第二运算结果B,其中,第二预设参数为W-4,W=Φ (N),Φ是欧拉函数,N是蒙哥马利模乘中模数,第二预设参数只与模数N有关,次方计算函数为计算IT1数的多少次方的函数,R与IT1关于模数N互逆; 所述蒙哥马利模乘模块,还用于根据第一运算结果A和第二运算结果B,得到蒙哥马利模乘转换系数,以及根据第一输入参数NA、第二输入参数NB和蒙哥马利模乘转换系数,得到最终模乘结果。
9.如权利要求8所述的嵌入式安全芯片,其特征在于:所述次方计算模块还用于: 根据所述第二预设参数转换成计算过程的编码,得到运算标志数T和运算标志数T的位长度Ien ; 将第一运算结果A赋值给中间结果S ; 对循环量i初始化,并将Ien-1值赋值给循环量i ; 判断循环量i是否大于等于零值; 当循环量i大于等于零值时,运算标志数T [i]的值是否满足逻辑真; 当循环量i小于零值时,第二运算结果B等于所述中间结果S ; 当运算标志数T [i]的值不满足逻辑真时,根据所述中间结果S、第一预设参数和蒙哥马利模乘函数,对所述中间结果S进行更新; 当运算标志数T [i]的值满足逻辑真时,根据两个所述中间结果S和蒙哥马利模乘函数,对所述中间结果S进行更新; 当所述中间结果S进行更新后,循环量i值自减常数1,接着进入判断循环量i是否大于等于零值的步骤。
【专利摘要】本发明提供了嵌入式安全芯片和其的蒙哥马利模乘运算方法,所述运算方法包括以下步骤获取两个第一预设参数,和第二预设参数,其中第一预设参数为常数1;根据两个第一预设参数和蒙哥马利模乘函数,得到第一运算结果A;根据第一运算结果A、第一预设参数、第二预设参数和次方计算函数,得到第二运算结果B;根据第一运算结果A、第二运算结果B和所述蒙哥马利模乘函数,得到蒙哥马利模乘转换系数D;根据第一输入参数NA、第二输入参数NB、蒙哥马利模乘转换系数和所述蒙哥马利模乘函数,得到最终模乘结果。该蒙哥马利模乘运算方法可以避开大数模幂方式的计算转换系数,而且不需要事先计算好系数,可以节省存储空间。
【IPC分类】G06F7-72
【公开号】CN104765586
【申请号】CN201510178336
【发明人】陈金强, 徐浩
【申请人】深圳国微技术有限公司
【公开日】2015年7月8日
【申请日】2015年4月15日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1