首页> 中国专利> 一种抵御能量分析攻击的加法掩码硬件实现方法及电路

一种抵御能量分析攻击的加法掩码硬件实现方法及电路

摘要

本发明提供了一种抵御能量分析攻击的加法掩码硬件实现方法及电路,包括以下步骤:S1:设置加法掩码电路的输入为掩码后的加数数据及随机数m,随机数m为掩码后的加数数据的掩码;S2:采用所述加法掩码电路将掩码后的加数数据进行n级的串行进位加位,其中,计算每一比特的和时,将上一比特位和的进位与当前加数数据的比特位进行异或,以得到带掩码的加数和数据。该方法对应的加法掩码电路,其计算过程中,不会出现去掩码的操作,实现了GF(2

著录项

  • 公开/公告号CN106656465A

    专利类型发明专利

  • 公开/公告日2017-05-10

    原文格式PDF

  • 申请/专利权人 上海爱信诺航芯电子科技有限公司;

    申请/专利号CN201611125767.2

  • 发明设计人 朱念好;周玉洁;谭永伟;

    申请日2016-12-08

  • 分类号H04L9/00;H04L9/08;

  • 代理机构上海汉声知识产权代理有限公司;

  • 代理人胡晶

  • 地址 200241 上海市闵行区东川路555号乙楼5058室

  • 入库时间 2023-06-19 02:03:52

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-03-28

    专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L 9/00 专利号:ZL2016111257672 变更事项:专利权人 变更前:上海爱信诺航芯电子科技有限公司 变更后:上海航芯电子科技股份有限公司 变更事项:地址 变更前:200241 上海市闵行区东川路555号乙楼5058室 变更后:200233 上海市闵行区合川路2570号2幢704室

    专利权人的姓名或者名称、地址的变更

  • 2019-09-06

    授权

    授权

  • 2017-06-06

    实质审查的生效 IPC(主分类):H04L9/00 申请日:20161208

    实质审查的生效

  • 2017-05-10

    公开

    公开

说明书

技术领域

本发明涉及信息安全芯片设计技术领域,特别涉及一种抵御能量分析攻击的加法掩码硬件实现方法及电路,广泛应用于高度安全性的加密运算设备。

背景技术

现今,人类社会正迈向高度信息化时代,人们对通信能力的要求目益增加。如何实现“任何人在任何时间、任何地点,能够向任何其他人传输任何信息”是现代通信网络追求的目标。移动通信技术正是实现该目标的关键技术。移动智能终端已逐渐普及,成为一个融合通信、个人业务处理、支付、数据存储的信息处理中心。移动智能终端的安全性问题已引起人们的广泛重视。

移动智能终端同样面对一个如何防御攻击和窥测的问题,近些年来,出现了一种新的强有力的攻击方法,人们称之为旁路攻击(SCA)。旁路攻击就是利用设备在运行过程中泄露的旁路信息,诸如功耗、时间、电磁波、以及差错信息等,利用上述信息对密码系统进行攻击和窥测。旁路攻击已成为信息安全芯片产品的巨大威胁,其危害远远大于传统的数学分析手段。

功耗攻击是旁路攻击的一种,利用密码芯片执行加密运算时消耗的功耗来对密钥进行攻击。DPA(差分功耗分析)攻击的原理是利用被攻击设备在加密过程中所实际消耗的功耗与加密算法中间值的相关性,从而得出密钥的一种攻击方法。根据输入的明文和猜测的密钥,加密算法的中间值总是可以计算的。MASK掩码技术将输入的明文进行掩码,这样加密算法的中间值是不知的,从而达到抗功耗攻击的目的。MASK掩码技术是目前信息安全芯片常用的一种抗功耗攻击的措施。

MASK掩码方法在S盒变换、移位变换等操作已有大量的应用,但是对于加法电路的MASK掩码方法只能通过查表操作完成,如果两个加数的位数很大,通过查表操作需要消耗大量的ROM,对于追求成本优势的移动设备根本不现实。

发明内容

本发明的目的在于提供一种抵御能量分析攻击的加法掩码硬件实现方法及电路,以解决现有的加法电路的MASK掩码方法所存在的由于只能查表操作,造成的需要消耗大量的ROM、成本较高的问题。

为实现上述目的,本发明提供了一种抵御能量分析攻击的加法掩码硬件实现方法,包括以下步骤:

S1:设置加法掩码电路的输入为掩码后的加数数据及随机数m,随机数m为掩码后的加数数据的掩码;

S2:采用所述加法掩码电路将掩码后的加数数据进行n级的串行进位加位,其中,计算每一比特的和时,将上一比特位和的进位与当前加数数据的比特位进行异或,以得到带掩码的和。

较佳地,所述步骤S2中,设置所述加法掩码电路为异或电路,所述掩码后的加数数据的每一比特位及上一比特位和的进位对应输入所述异或电路的输入端,进行异或后输出所述带掩码的和。

较佳地,所述异或电路为一级或二级,当所述异或电路为一级时,所述掩码后的加数数据的每一比特位及上一比特位和的进位同时输入所述异或电路进行异或得到该比特位的带掩码的和;当所述异或电路为二级时,所述掩码后的加数数据的每一比特位输入第一级异或电路后,输出第一级异或结果,所述第一级异或结果再与所述上一比特位和的进位输入第二级异或电路进行异或得到该比特位的带掩码的和。

较佳地,设置串联的第一级电路及第二级电路,用于对掩码后的加数数据每一比特位与掩码后的上一比特位和的进位采用所述第一级电路进行两两之间及掩码后的加数数据每一比特位、掩码后的上一比特位和的进位及随机数m的每一比特之间的与运算,与运算的结果通过第二级电路进行或运算,得到掩码后的当前比特位和的进位。

较佳地,所述第一级电路包括若干个并列的与门,掩码后的加数数据每一比特位与掩码后的上一比特位和的进位采用所述第一级电路进行两两之间及掩码后的加数数据每一比特位、上一比特位和的进位及随机数m的每一比特之间分别输入对应的与门,得到所述与运算的结果。

较佳地,所述第二级电路包括若干个级联的或门,所述与运算的结果对应输入所述或门进行或运算,得到掩码后的当前比特位和的进位。

本发明还提供了一种抵御能量分析攻击的加法掩码硬件电路,包括输入电路及加法掩码电路,所述输入电路用于输入掩码后的加数数据及随机数m,随机数m为掩码后的加数数据的掩码;

所述加法掩码电路用于将掩码后的加数数据进行n级的串行进位加位,其中,计算每一比特的和时,将掩码后的上一比特位和的进位与当前加数数据的比特位进行异或,以得到带掩码的和。

较佳地,所述加法掩码电路为一级或二级异或电路,当所述异或电路为一级时,所述掩码后的加数数据的每一比特位及上一比特位和的进位同时输入所述异或电路进行异或得到该比特位的带掩码的和;当所述异或电路为二级时,所述掩码后的加数数据的每一比特位输入第一级异或电路后,输出第一级异或结果,所述第一级异或结果再与所述上一比特位和的进位输入第二级异或电路进行异或得到该比特位的带掩码的和。

较佳地,还包括比特位和的进位的计算电路,所述计算电路包括串联的第一级电路及第二级电路,用于对掩码后的加数数据每一比特位与掩码后的上一比特位和的进位采用所述第一级电路进行两两之间及掩码后的加数数据每一比特位、上一比特位和的进位及随机数m的第一比特之间的与运算,与运算的结果通过第二级电路进行或运算,得到掩码后的当前比特位和的进位。

较佳地,所述第一级电路包括若干个并列的与门,掩码后的加数数据每一比特位与上一比特位和的进位采用所述第一级电路进行两两之间及掩码后的加数数据每一比特位、上一比特位和的进位及随机数m的每一比特之间分别输入对应的与门,得到所述与运算的结果;

所述第二级电路包括若干个级联的或门,所述与运算的结果对应输入所述或门进行或运算,得到掩码后的当前比特位和的进位。

与现有技术相比,本发明提供的抵御能量分析攻击的加法掩码硬件实现方法及电路具有以下有益效果:

首先,本发明实现了GF(2n)域上模n加法运算的掩码操作,n适用于任何大小0的整数。

其次,本明的加法掩码电路,其输入仅为掩码后的数据,am、bm和随机数m,结构简单,执行容易。

再次,本明发的加法掩码电路,其计算过程中,不会出现去掩码的操作,可以有效地避免加法运算过程中信息的泄露。

附图说明

图1为本发明方法流程图;

图2为本发明提供的抵御能量分析攻击的加法掩码硬件电路组成图;

图3为优选实施例的加法掩码电路逻辑结构图;

图4为优选实施例的比特位和的进位电路逻辑结构图。

具体实施方式

为更好地说明本发明,兹以优选实施例,并配合附图对本发明作详细说明,具体如下:

本实施例提供一种抵御能量分析攻击的加法掩码硬件实现电路。该电路用以进行带掩码计算加数的和,并得到带掩码的和,使得对加数计算过程不会出现任何去掩码的操作。具体地,有限域GF(2n)中两个加数分别为a、b,m为GF(2n)域的随机数。a、b两个数的和记为sum,即有下面的公式成立:

sum=a+b(1)

其中,a、b、sum均为GF(2n)中的数据,“+”定义为模n运算的加法。

则a、b掩码方法如下

a^m=am(2)

b^m=bm(3)

其中,“^”定义为按位异或运算。

本发明需要构造一个加法掩码电路,用于实现带掩码的两个加数和的掩码,在计算过程中,没有出现任何的去掩码操作,可以有效地防止加法运算过程中密钥信息的泄露。本发明构造的加法掩码电路,需要实现如下的逻辑:

mask_sum(am,bm,m)=sum^m(3)

为实现上述逻辑,本发明方法采用的对称算法轮函数包括GF(2n)基上的模n加法运算,并且加法掩码电路的输入为GF(2n)域上的掩码值am、bm和随机数m,其输出sum与m的掩码值。

下面对上述逻辑实现过程进行具体说明:

本实施例提供了一种抵御能量分析攻击的加法掩码硬件实现方法,如图1所示,该方法包括以下步骤:

S1:设置加法掩码电路的输入为掩码后的加数数据及随机数m,随机数m为掩码后的加数数据的掩码;

S2:采用所述加法掩码电路将掩码后的加数数据进行n级的串行进位加位,其中,计算每一比特的和时,将上一比特位和的进位与当前加数数据的比特位进行异或,以得到带掩码的和。

其中,步骤S2中,设置加法掩码电路为异或电路,则掩码后的加数数据的每一比特位及上一比特位和的进位对应输入所述异或电路的输入端,进行异或后输出带掩码的和。

上述的异或电路为一级或二级,当异或电路为一级时,掩码后的加数数据的每一比特位及上一比特位和的进位同时输入异或电路进行异或得到该比特位的带掩码的和;当所述异或电路为二级时,所述掩码后的加数数据的每一比特位输入第一级异或电路后,输出第一级异或结果,所述第一级异或结果再与所述上一比特位和的进位输入第二级异或电路进行异或得到该比特位的带掩码的和。

优选地,设置串联的第一级电路及第二级电路,用于对掩码后的加数数据每一比特位与掩码后的上一比特位和的进位采用所述第一级电路进行两两之间及掩码后的加数数据每一比特位、掩码后的上一比特位和的进位及随机数m的每一比特之间的与运算,与运算的结果通过第二级电路进行或运算,得到掩码后的当前比特位和的进位。

第一级电路包括若干个并列的与门,掩码后的加数数据每一比特位与掩码后的上一比特位和的进位采用第一级电路进行两两之间及掩码后的加数数据每一比特位、上一比特位和的进位及随机数m的每一比特之间分别输入对应的与门,得到与运算的结果。

第二级电路包括若干个级联的或门,所述与运算的结果对应输入所述或门进行或运算,得到掩码后的当前比特位和的进位。

为实现上述逻辑,本发明还提供了一种抵御能量分析攻击的加法掩码硬件电路,如图2所示,该电路包括输入电路201及加法掩码电路202,输入电路201用于输入掩码后的加数数据am、bm及随机数m,随机数m为掩码后的加数数据的掩码。输入电路将掩码后的加数数据am、bm及随机数m输入加法掩码电路,加法掩码电路进行运算输出sum的掩码值sum^m。

其中,加法掩码电路用于将掩码后的加数数据进行n级的串行进位加位,其中,计算每一比特的和时,将上一比特位和的进位与当前加数数据的比特位进行异或,以得到带掩码的加数和数据。

本实施例上述电路及对应的方法中的GF(2n)域,取GF(216)域,但于本发明适用于n取任何大于0的数,n取16仅是为了叙述方便。

如图3所示,本实施例中的加法掩码电路为一个二级异或电路,掩码后的加数数据的每一比特位输入第一级异或电路后,输出第一级异或结果,第一级异或结果再与上一比特位和的进位输入第二级异或电路进行异或得到该比特位的带掩码的加数和数据位。图3所示电路的数据表达式为:

ami^bmi^cmi-1=smi(4)

其中,ami表示am的第i比特,bmi表示bm的第i比特,cmi-1表示带掩码进位cm的第i-1比特。图3所示的电路中,没有出现任何去掩码的电路及操作,可以有效避免加法掩码电路被能量分析攻击。

当然在其他优选实施例中,图3所示的异或电路还可为一级异或电路的形式。则掩码后的加数数据am、bm的每一比特位及上一比特位和的进位同时输入异或电路进行异或得到该比特位的带掩码的加数和数据位,进而得到sum。

如图4所示,该加法掩码硬件电路还包括比特位和的进位cm的计算电路,该计算电路包括串联的第一级电路及第二级电路,用于对掩码后的加数数据每一比特位与上一比特位和的进位采用所述第一级电路进行两两之间及掩码后的加数数据每一比特位、上一比特位和的进位及随机数m之间的与运算,与运算的结果通过第二级电路进行或运算,得到当前比特位和的进位。

具体地,第一级电路包括多个并列的与门,掩码后的加数数据每一比特位与上一比特位和的进位采用所述第一级电路进行两两之间及掩码后的加数数据每一比特位、上一比特位和的进位及随机数m之间分别输入对应的与门,得到与运算的结果。第二级电路包括若干个级联的或门,与运算的结果对应输入或门进行或运算,得到当前比特位和的进位。

本实施例计算带掩码进位cm的实施过程详细参考图4,首先采用第一级电路得到ami和bmi与(以这里指“与”逻辑运算)的结果、ami和cmi-1与的结果、bmi和cmi-1与的结果以及ami、bmi、cmi-1和m与的结果,四个与门的结果再输入第二级电路,进行“或”逻辑运算,得到作为带掩码的进位值。即采用如下公式的硬件电路实现:

(ami&bmi)|(ami&cmi-1)|(bmi&cmi-1)|(ami&bmi&cmi-1&m)=cmi(5)

下面证明公式(5)成立。

通常计算进位掩码的方法如下:

cmi=(ai&bi|ai&ci-1|bi&ci-1)^mi(6)

则公式(6)可以进一步化成下面的公式:

进一步地,有下面的公式成立:

及,

显然地,公式(8)与(9)进行“或”逻辑运算的结果即为公式(7),从而说明本发明中图4所示的硬件实现电路实现了带掩码的进位加法,而且计算过程中没有出现去掩码的操作。即不会出现如下操作:

am^m

bm^m

在电路的计算过程中,没有出现任何的去掩码操作,可以有效地防止加法运算过程中密钥信息的泄露。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何本领域的技术人员在本发明揭露的技术范围内,对本发明所做的变形或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述的权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号