抵抗差分功耗分析攻击的数据处理系统及其数据处理方法

文档序号:7798566阅读:166来源:国知局
抵抗差分功耗分析攻击的数据处理系统及其数据处理方法
【专利摘要】本发明涉及通讯【技术领域】,特别涉及一种抵抗差分功耗分析攻击的数据处理系统及其数据处理方法。该数据处理系统包括:第一基于加法掩码仿射变换模块,用于对输入的掩码数据和掩码进行仿射变换运算,并输出第一数据和第二数据;基于加法掩码的有限域求逆模块,用于对第一数据和第二数据进行有限域求逆运算,并输出第三数据;第二基于加法掩码仿射变换模块,用于对第二数据和第三数据进行仿射变换运算,并输出第四数据和第五数据。本发明S盒的运算系统通过代数逻辑实现了S盒的运算,使得S盒的面积减小、功耗降低,减小了用户的实现代价。
【专利说明】抵抗差分功耗分析攻击的数据处理系统及其数据处理方法
【技术领域】
[0001]本发明涉及通讯【技术领域】,更具体地说,涉及一种抵抗差分功耗分析攻击的数据处理系统及其数据处理方法。
【背景技术】
[0002]随着网络技术的进步,电子商务、电子政务、网上银行等业务得到广泛开展,智能卡具有良好的安全特性,同时具有便于携带、使用方便等特点,这使得它在金融、社保、交通等领域扮演着非常重要角色。但由于网络的开放性,这些新兴业务更容易受到攻击。随着研究的不断深入,针对智能卡的侧信道攻击被认为是最危险的一种攻击方法。侧信道攻击可以利用智能卡的电力消耗、执行时间、故障时的输出与输入行为、辐射、电力尖峰情形等信息来攻击智能卡,最终得到用户的密钥。在各种各样的侧信道攻击中,差分功耗分析攻击是最有效的攻击方法之一。由于智能卡芯片在执行不同的指令进行各种运算时,它的功耗也会有相应的变化,差分功耗分析攻击根据数据和功耗之间的关联性,还原出密钥,进而达到攻击的效果。差分功耗分析攻击对智能卡中的加密算法的成功攻击已经被广泛报道。
[0003]国家商用密码管理局在2006年I月公布了用于无线局域网产品的分组对称密码算法SMS4算法。该算法采用非平衡的Feistel结构,具有较强的抵抗差分攻击的能力,安全强度达到国际分组密码算法标准。这是国内官方公布的第一个商用密码算法。在2012年3月,国家商用密码管理局批准SMS4算法为商用密码行业标准,命名为SM4算法。在SM4算法中,S盒是唯一的非线性部件,并且存在于密钥扩展运算和加解密运算中的每一轮运算中,因此S盒的实现不仅决定这SM4算法的性能,还决定了 SM4算法的硬件是否能够抵抗差分功耗分析攻击。
[0004]现有的SM4算法中S盒的输入和输出都是8比特的数据,一般都是采用查表方法来实现。这种实现方法由于输入数据太多,实现代价很大,并且很难抵抗差分功耗分析攻击。

【发明内容】

[0005]本发明要解决的技术问题在于,提供一种改进的抵抗差分功耗分析攻击的数据处理系统及其数据处理方法。
[0006]本发明解决其技术问题所采用的技术方案是:构造一种抵抗差分功耗分析攻击的数据处理系统,其中包括采用SM4算法的S盒,所述S盒包括:
[0007]第一基于加法掩码仿射变换模块,用于对输入的掩码数据和掩码进行仿射变换运算,并输出第一数据和第二数据;
[0008]基于加法掩码的有限域求逆模块,用于对所述第一基于加法掩码仿射变换模块输出的第一数据和第二数据进行有限域求逆运算,并输出第三数据;
[0009]第二基于加法掩码仿射变换模块,用于对所述第一基于加法掩码仿射变换模块输出的第二数据和所述基于加法掩码的有限域求逆模块输出的第三数据进行仿射变换运算,并输出第四数据和第五数据。
[0010]上述抵抗差分功耗分析攻击的数据处理系统中,所述第一基于加法掩码仿射变换模块包括:
[0011]第一向量乘法模块,用于对输入的掩码数据进行向量乘法运算;
[0012]第二向量乘法模块,用于对输入的掩码进行向量乘法运算,以输出第二数据;
[0013]第一异或运算模块,连接于所述第一向量乘法模块,并用于根据所述第一向量乘法模块输出的计算结果与输入的常数进行异或运算,以输出第一数据。
[0014]上述抵抗差分功耗分析攻击的数据处理系统中,所述第一向量乘法模块的数学模型为 Ia15I=A1 ;
[0015]所述第二向量乘法模块的数学模型为;
[0016]所述第一异或运算模块的数学模型为;
[0017]其中,和η依次为输入的掩码数据和掩码;
【权利要求】
1.一种抵抗差分功耗分析攻击的数据处理系统,其中包括采用SM4算法的S盒,其特征在于,所述S盒包括: 第一基于加法掩码仿射变换模块(I ),用于对输入的掩码数据和掩码进行仿射变换运算,并输出第一数据和第二数据; 基于加法掩码的有限域求逆模块(2),用于对所述第一基于加法掩码仿射变换模块(I)输出的第一数据和第二数据进行有限域求逆运算,并输出第三数据; 第二基于加法掩码仿射变换模块(3),用于对所述第一基于加法掩码仿射变换模块(I)输出的第二数据和所述基于加法掩码的有限域求逆模块(2)输出的第三数据进行仿射变换运算,并输出第四数据和第五数据。
2.根据权利要求1所述的抵抗差分功耗分析攻击的数据处理系统,其特征在于,所述第一基于加法掩码仿射变换模块(I)包括: 第一向量乘法模块(11),用于对输入的掩码数据进行向量乘法运算; 第二向量乘法模块(12),用于对输入的掩码进行向量乘法运算,以输出第二数据; 第一异或运算模块(13),连接于所述第一向量乘法模块(11),并用于根据所述第一向量乘法模块(11)输出的计算结果与输入的常数进行异或运算,以输出第一数据。
3.根据权利要求2所述的抵抗差分功耗分析攻击的数据处理系统,其特征在于,所述第一向量乘法模块(11)的数学模型为; 所述第二向量乘法模块(12)的数学模型为; 所述第一异或运算模块(13)的数学模型为; 其中,B1和rι依次为输入的掩码数据和掩码;
4.根据权利要求1所述的抵抗差分功耗分析攻击的数据处理系统,其特征在于,所述基于加法掩码的有限域求逆模块(2)包括: 第一同构映射模块(201),用于对所述第一数据进行同构映射; 第二同构映射模块(202),用于对所述第二数据进行同构映射; 第三同构映射模块(203),用于根据所述第一同构映射模块(201)输出的运算结果进行同构映射; 第四同构映射模块(204),用于根据所述第一同构映射模块(201)输出的运算结果进行同构映射; 第五同构映射模块(205),用于根据所述第二同构映射模块(202)输出的运算结果进行同构映射;第六同构映射模块(206),用于根据所述第二同构映射模块(202)输出的运算结果进行同构映射; 第一常量乘法运算模块(212),用于对所述第三同构映射模块(203)输出的运算结果进行常量乘法运算; 第一平方运算模块(208),用于根据所述第三同构映射模块(203)输出的运算结果进行平方运算; 第二平方运算模块(209),用于根据所述第六同构映射模块(206)输出的运算结果进行平方运算; 第三平方运算模块(211),用于根据所述第一平方运算模块(208)输出的运算结果进行平方运算; 第四平方运算模块(215),用于根据所述第五同构映射模块(205)输出的运算结果进行平方运算; 第一乘法运算模块(210),用于根据所述第三同构映射模块(203)和所述第四同构映射模块(204)输出的运算结果进行乘法运算; 第二乘法运算模块(213),用于根据所述第五同构映射模块(205)输出的运算结果进行乘法运算; 第三乘法运算模块(214),用于根据所述第四同构映射模块(204)和第六同构映射模块(206)输出的运算结果进行乘法运算; 第四乘法运算模块(216), 用于根据所述第五同构映射模块(205)和第六同构映射模块(206)输出的运算结果进行乘法运算; 第二常量乘法运算模块(217),用于根据所述第二平方运算模块(209)输出的运算结果进行乘法运算; 第二异或运算模块(218),用于根据所述第一乘法运算模块(210)、第二乘法运算模块(213)、第三乘法运算模块(214 )、第四乘法运算模块(216)、第二常量乘法运算模块(217)、第一常量乘法运算模块(212)、第三平方运算模块(211)以及第四平方运算模块(215)输出的运算结果进行异或运算; 求逆运算模块(219),用于根据所述第二异或运算模块(218)输出的运算结果进行求逆运算; 第三异或运算模块(220),用于根据所述求逆运算模块(219)和第四同构映射模块(204)输出的运算结果进行异或运算; 第四异或运算模块(221),用于根据所述第一平方运算模块(208)和所述第三异或运算模块(220)输出的运算结果进行异或运算; 第六乘法运算模块(222),用于根据所述第一平方运算模块(208)和所述第三异或运算模块(220)输出的运算结果进行乘法运算; 第七乘法运算模块(223),用于根据所述第二同构映射模块(202)和所述第三异或运算模块(220)输出的运算结果进行乘法运算; 第八乘法运算模块(224),用于根据所述第四同构映射模块(204)和所述第四异或运算模块(221)输出的运算结果进行乘法运算; 第九乘法运算模块(225), 用于根据所述第四异或运算模块(221)和所述第六乘法运算模块(222)输出的运算结果进行乘法运算; 第五异或运算模块(226),用于根据所述第一乘法运算模块(210)、第三乘法运算模块(214)、所述第六乘法运算模块(222)、第七乘法运算模块(223)以及所述第一平方运算模块(208)输出的运算结果进行异或运算; 第六异或运算模块(227),用于根据所述第二乘法运算模块(213)、所述第八乘法运算模块(224)、第九乘法运算模块(225)、所述第三异或运算模块(220)、所述第四异或运算模块(221)以及所述第五异或运算模块(226)输出的运算结果进行异或运算; 第一同构逆映射模块(228),用于根据所述第六异或运算模块(227)输出的运算结果进行同构逆映射运算; 第二同构逆映射模块(229),用于根据所述第五异或运算模块(226)输出的运算结果进行同构逆映射运算; 第三同构逆映射模块(230),用于根据所述第一同构逆映射模块(228)和所述第二同构逆映射模块(229)输出的运算结果进行同构逆映射运算以输出第三数据。
5.根据权利要求4所述的抵抗差分功耗分析攻击的数据处理系统,其特征在于,所述基于加法掩码的有限域求逆模块(2)的数学模型为:
6.根据权利要求1所述的抵抗差分功耗分析攻击的数据处理系统,其特征在于,所述第二基于加法掩码仿射变换模块(3)包括: 第三向量乘法模块(31),用于对输入的第三数据进行向量乘法运算; 第四向量乘法模块(32),用于对输入的第二数据进行向量乘法运算,以输出第五数据; 第七异或运算模块(33),连接于所述第三向量乘法模块(31),并用于根据所述第三向量乘法模块(31)输出的运算结果与输入的常数进行异或运算,以输出第四数据。
7.根据权利要求6所述的抵抗差分功耗分析攻击的数据处理系统,其特征在于,所述第三向量乘法模块(31)的数学模型为:a2*Ai ; 所述第四向量乘法模块(32)的数学模型为; 所述第七异或运算模块(33)的数学模型为; 其中,a2和r2依次为第三数据和第二数据;
8.一种抵抗差分功耗分析攻击的数据处理方法,其采用SM4算法进行数据处理,其特征在于,所述数据处理方法包括以下步骤: Α、对输入的掩码数据和掩码进行仿射变换运算,并输出第一数据和第二数据; B、对步骤A运算得到的所述第一数据和所述第二数据进行有限域求逆运算,并输出第三数据; C、对步骤A运算得到的所述第二数据和步骤B运算所述第三数据进行仿射变换运算,并输出第四数据和第五数据。
9.根据权利要求8所述的抵抗差分功耗分析攻击的数据处理方法,其特征在于,所述步骤B包括: B1、通过所述第一数据和所述第二数据计算等式:d = a]v^rahQ, + af + a,丨η + a,rh + η;ν + rf + rhr,;其中,ah 为第一数据 a 的高 4 比特,B1 为第一数据为a的低4比特,rh为第二数据r的高4比特,rx为第二数据r的低4比特,v为常数; B2、对步骤BI的运算结果d进行求逆运算,得到d的逆元素Cf1 ;B3、通算等式 wfa^cf1+;^) +((Tkr1)Iv^ahIvHrhIvHrh 和O1=Oh+ ((T+rh) B1+ ((T+rh); B4、对步骤B3的运算结果O1和Oh进行同构逆映射运算,以输出第三数据。
10.根据权利要求8所述的抵抗差分功耗分析攻击的数据处理方法,其特征在于,所述仿射变换运算包括: 对输入的数据分别进行向量乘法运算; 若输入的数据为掩码,则输出向量乘法运算的结果;若输入的数据为掩码数据,则对向量乘法运算的结果与外部输入常数进行异或运算,并输出异或运算的结果。
【文档编号】H04L9/06GK103888247SQ201410086766
【公开日】2014年6月25日 申请日期:2014年3月10日 优先权日:2014年3月10日
【发明者】孙金龙, 曾广旺 申请人:深圳华视微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1