非模数乘法器、用于非模数乘法的方法及计算装置制造方法及图纸

技术编号:16427531 阅读:191 留言:0更新日期:2017-10-21 21:53
本发明专利技术提供了一种非模数乘法器、用于非模数乘法的方法及计算装置,非模数乘法器包含接口和电路。所述接口经配置以接收n位的整数A和整数B。所述电路经配置以通过执行计算序列来计算非模数乘积(A*B),且经配置以在执行所述序列时使得所述乘法器消耗的电力的模式随机化。所述序列包含:产生随机数w;确定取决于数值R=2

Non modulus multiplier, method and device for non modulus multiplication

The present invention provides a non modulus multiplier, a method and a computing device for non modulus multiplication, and a non modulus multiplier including an interface and a circuit. The interface is configured to receive integer A and integer B of the n bit. The circuit is configured to calculate the non modulus product (A*B) by executing the computation sequence, and configured to randomize the mode of the power consumed by the multiplier when the sequence is executed. The sequence contains: generating random number W; determination depends on the value R = 2

【技术实现步骤摘要】
非模数乘法器、用于非模数乘法的方法及计算装置
本专利技术涉及数据安全,尤其涉及免受旁信道攻击的高效非模数乘法。
技术介绍
多个重要密码系统(诸如RSA)使用具有大量模数值的模运算以及非模运算,包含求幂和相乘。计算非模数乘积的经典方法涉及将操作数划分为块或“位(digits)”且将加权和应用于所述位的交叉乘积。然而,此基本乘法方法在多个实际案例中计算上昂贵。对于模数乘法(例如,在加密计算中),惯例为使用被称为蒙哥马利模数乘法(或简称为蒙哥马利乘法)的高效方法。为了执行蒙哥马利乘法,使用已知为蒙哥马利约简的算法将操作数转换成专门的蒙哥马利形式。蒙哥马利形式的操作数的乘法避免了常规算术中模约简的需要(然而如果得到的乘积大于模数则仍然需要较简单的条件约简)。蒙哥马利约简和乘法算法例如由Menezes等人描述于应用密码学手册(HandbookofAppliedCryptography)(1996)的章节14.3.2、第600到603页中,其公开内容以引用的方式并入本说明书中。密码系统可遭受各种类型的旨在暴露内部机密信息的攻击。在被称作旁信道攻击(sidechannelattack;SCA)的攻击中,可通过分析执行下层加密函数期间的功率消耗行为推论出机密信息。举例来说,Amiel等人在标题为“用于机密回收的功率分析和公钥算法的逆向工程(PowerAnalysisforSecretRecoveringandReverseEngineeringofPublicKeyAlgorithms)”的文章中描述应用于非模数乘法计算的差别功率分析(differentialpoweranalysis;DPA)攻击(第14届国际会议关于加密中的所选领域的会议记录(SAC2007,LNCS,第4876卷,第110至125页,海德堡施普林格),其公开内容以引入的方式并入本说明书中。
技术实现思路
根据本专利技术一方面,提供了包含接口和电路的乘法器。所述接口经配置以接收n位的整数A和整数B。所述电路经配置以通过执行计算序列来计算非模数乘积,所述非模数乘积表示为(A*B),且经配置以在执行序列时使得乘法器消耗的电力的模式随机化,所述序列包括:产生随机数w;确定取决于数值R及取决于所述随机数w的模数M1和模数M2,其中R=2k,k等于所述模数M1和所述模数M2的位长,并计算第一模数乘积C和第二模数乘积D,其中C=A*B%M1,D=A*B%M2,以及基于所述第一模数乘积C和第二模数乘积D产生和输出非模数乘积。优选地,电路包含蒙哥马利乘法器,所述蒙哥马利乘法器经配置以计算所述第一模数乘积C和第二模数乘积D。优选地,电路经配置以:通过计算w*A将所述整数A转换为蒙哥马利域的所述模数M1中的A′;通过计算(w-d)*B将所述整数B转换为蒙哥马利域的所述模数M2中的B′,d为小于w的整数;以及通过使用蒙哥马利乘法器计算各别蒙哥马利乘积A′⊙B和A⊙B′来计算所述第一模数乘积C和第二模数乘积D。优选地,表示为低位部分ABL和高位部分ABH的组合而满足(A*B)=ABH*R+ABL,且电路经配置以基于所述第一模数乘积C和第二模数乘积D计算所述高位部分ABH和所述低位部分ABL。优选地,电路经配置以根据ABH=(C-D)/d计算高位部分ABH,其中d为用于将所述整数B转换为蒙哥马利域的整数,且经配置以根据ABL=C-w*ABH计算低位部分ABL。优选地,电路经配置以根据M1=R-w确定所述模数M1,且经配置以根据M2=R-(w-d)确定所述模数M2,d为小于所述随机数w的整数。根据本专利技术的另一方面,提供了一种包含接收n位的整数A和整数B的用于非模数乘法的方法。使用乘法器通过执行计算序列来计算非模数乘积,所述非模数乘积表示为(A*B),且在执行所述序列时使得乘法器消耗的电力的模式随机化,所述序列包含:产生随机数w;确定取决于数值R及取决于所述随机数w的模数M1和模数M2,其中R=2k,k等于所述模数M1和所述模数M2的位长,并计算第一模数乘积C和第二模数乘积D,其中C=A*B%M1,D=A*B%M2;以及基于所述第一模数乘积C和第二模数乘积D产生和输出非模数乘积。根据本专利技术的又一方面,还提供了一种包含接口和乘法器的计算装置。所述接口经配置以接收n位的整数A和整数B。所述乘法器经配置以通过执行计算序列来计算非模数乘积,所述非模数乘积表示为(A*B),且在执行序列时使得乘法器消耗的电力的模式随机化,所述序列包括:产生随机数w;确定取决于数值R及取决于随机数w的模数M1和模数M2,其中R=2k,k等于所述模数M1和所述模数M2的位长,并计算第一模数乘积C和第二模数乘积D,其中C=A*B%M1,D=A*B%M2,以及基于所述第一模数乘积C和第二模数乘积D产生和输出非模数乘积。附图说明图1示意性地说明了本专利技术一实施例的具有免受旁信道攻击的高效非模数乘法器的计算装置的框图;图2示意性地说明了本专利技术一实施例的用于基于蒙哥马利模数乘法的非模数乘法的方法的流程图。具体实施方式概述本专利技术实施例提供了一种用于基于蒙哥马利模数乘法的高效非模数乘法的方法。方法包括具有随机模数的模数计算,此保护计算免受旁信道攻击。蒙哥马利模数乘法(为简洁起见,也被简称为蒙哥马利乘法)为用于高效相乘的方法。为简单概述,假定两个大整数A和B,代替计算A*B,蒙哥马利乘法(表示为)产生A⊙B=A*B*R-1%M,其中R=2k,且k为模数M的位长。(符号“%”用于本描述及附图中以表示“模”,且符号“*”或“·”用于表示非模数乘法。)在本专利技术实施例中,蒙哥马利乘法用于有效地计算形式A*B%M的表达式。为此目的,操作数中的仅一个转化为蒙哥马利域且乘以如下其它操作数:公式1:A′⊙B=A*R*B*R-1%M=A*B%M。在本专利技术实施例中,非模数乘法器以公式1形式为两个不同模数M1和M2计算两个模数乘积,且组合两个模数乘积以导出非模数乘积(A*B)。根据ABH*R+ABL使用高位和低位部分表示非模数乘积,其中基于模数乘积A*B%M1和A*B%M2评估高位和低位部分。低位和高位部分可视为2n位乘积(A*B)的各别低位显著性和高位显著性子集。基于R=2k及随机所选择的较小奇数确定模数M1和M2。本专利技术实施例中,计算模数乘积通过选择k(且因此R)足够大而显著简化。模数M1和M2中的随机分量w产生免受旁信道攻击的计算。更确切地说,在关于w的特定条件下,提出的方案导致与所选特定w无关的正确非模数乘法结果,但由于对于w的不同值,计算包括不同计算,基本功率消耗模式也将不同,这保护计算免受功率分析攻击。在本专利技术和权利要求的情形下,可通过分析诸如计算期间消耗的功率或电流的适当参数来导出功率消耗模式。系统描述图1示意性地说明了本专利技术一实施例的包括免受旁信道攻击的高效非模数乘法器的计算装置20中的电路元件的框图。图中所示出的电路元件通常实施为诸如专用集成电路(Application-SpecificIntegratedCircuit;ASIC)或现场可编程门阵列(Field-ProgrammableGateArray;FPGA)的集成电路(integratedcircuit;IC)装置中的硬件逻辑电路,但可替代地实施于适合的可编程处理器上本文档来自技高网
...
非模数乘法器、用于非模数乘法的方法及计算装置

【技术保护点】
一种非模数乘法器,其特征在于,包括:接口,其经配置以接收n位的整数A和整数B;以及电路,其经配置以通过执行计算序列来计算非模数乘积,所述非模数乘积表示为(A*B),且经配置以在执行所述序列时使得所述非模数乘法器消耗的电力的模式随机化,所述序列包括:产生随机数w;确定取决于数值R及取决于所述随机数w的模数M1和模数M2,其中R=2

【技术特征摘要】
2016.03.30 IL 2448421.一种非模数乘法器,其特征在于,包括:接口,其经配置以接收n位的整数A和整数B;以及电路,其经配置以通过执行计算序列来计算非模数乘积,所述非模数乘积表示为(A*B),且经配置以在执行所述序列时使得所述非模数乘法器消耗的电力的模式随机化,所述序列包括:产生随机数w;确定取决于数值R及取决于所述随机数w的模数M1和模数M2,其中R=2k,k等于所述模数M1和所述模数M2的位长,并计算第一模数乘积C和第二模数乘积D,其中C=A*B%M1,D=A*B%M2;以及基于所述第一模数乘积C和所述第二模数乘积D产生及输出所述非模数乘积。2.根据权利要求1所述的非模数乘法器,其中,所述电路包含蒙哥马利乘法器,所述蒙哥马利乘法器经配置以计算所述第一模数乘积C和所述第二模数乘积D。3.根据权利要求2所述的非模数乘法器,其中,所述电路经配置以:通过计算w*A将所述整数A转换为蒙哥马利域的所述模数M1中的A′;通过计算(w-d)*B将所述整数B转换为蒙哥马利域的所述模数M2中的B′,其中d为小于w的整数;以及通过使用所述蒙哥马利乘法器计算各别蒙哥马利乘积A′⊙B和A⊙B′来计算所述第一模数乘积C和所述第二模数乘积D。4.根据权利要求1所述的非模数乘法器,其中,(A*B)表示为低位部分ABL和高位部分ABH的组合而满足(A*B)=ABH*R+ABL,且其中所述电路经配置以基于所述第一模数乘积C和所述第二模数乘积D计算所述高位部分ABH和所述低位部分ABL。5.根据权利要求4所述的非模数乘法器,其中,所述电路经配置以根据ABH=(C-D)/d计算所述高位部分ABH,其中d为用于将所述整数B转换为蒙哥马利域的整数,且经配置以根据ABL=C-w*ABH计算所述低位部分ABL。6.根据权利要求1所述的非模数乘法器,其中,所述电路经配置以根据M1=R-w确定所述模数M1,且经配置以根据M2=R-(w-d)确定所述模数M2,其中d为小于所述随机数w的整数。7.一种用于非模数乘法的方法,其特征在于,包括:接收n位的整数A和整数B;及使用乘法器通过执行计算序列来计算非模数乘积,所述非模数乘积表示为(A*B),且在执行所述序列时使得所述乘法器消耗的电力的模式随机化,所述序列包括:产生随机数w;确定取决于数值R及取决于所述随机数w的模数M1和模数M2,其中,R=2k,k等于所述模数M1和所述模数M2的位长,并计算第一模数乘积C和第...

【专利技术属性】
技术研发人员:厄瑞·卡路兹尼
申请(专利权)人:华邦电子股份有限公司
类型:发明
国别省市:中国台湾,71

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1