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

技术编号:10152515 阅读:219 留言:0更新日期:2014-06-30 19:12
本发明专利技术涉及通讯技术领域,特别涉及一种抵抗差分功耗分析攻击的数据处理系统及其数据处理方法。该数据处理系统包括:第一基于加法掩码仿射变换模块,用于对输入的掩码数据和掩码进行仿射变换运算,并输出第一数据和第二数据;基于加法掩码的有限域求逆模块,用于对第一数据和第二数据进行有限域求逆运算,并输出第三数据;第二基于加法掩码仿射变换模块,用于对第二数据和第三数据进行仿射变换运算,并输出第四数据和第五数据。本发明专利技术S盒的运算系统通过代数逻辑实现了S盒的运算,使得S盒的面积减小、功耗降低,减小了用户的实现代价。

【技术实现步骤摘要】
抵抗差分功耗分析攻击的数据处理系统及其数据处理方法
本专利技术涉及通讯
,更具体地说,涉及一种抵抗差分功耗分析攻击的数据处理系统及其数据处理方法。
技术介绍
随着网络技术的进步,电子商务、电子政务、网上银行等业务得到广泛开展,智能卡具有良好的安全特性,同时具有便于携带、使用方便等特点,这使得它在金融、社保、交通等领域扮演着非常重要角色。但由于网络的开放性,这些新兴业务更容易受到攻击。随着研究的不断深入,针对智能卡的侧信道攻击被认为是最危险的一种攻击方法。侧信道攻击可以利用智能卡的电力消耗、执行时间、故障时的输出与输入行为、辐射、电力尖峰情形等信息来攻击智能卡,最终得到用户的密钥。在各种各样的侧信道攻击中,差分功耗分析攻击是最有效的攻击方法之一。由于智能卡芯片在执行不同的指令进行各种运算时,它的功耗也会有相应的变化,差分功耗分析攻击根据数据和功耗之间的关联性,还原出密钥,进而达到攻击的效果。差分功耗分析攻击对智能卡中的加密算法的成功攻击已经被广泛报道。国家商用密码管理局在2006年1月公布了用于无线局域网产品的分组对称密码算法SMS4算法。该算法采用非平衡的Feistel结构,具有较强的抵抗差分攻击的能力,安全强度达到国际分组密码算法标准。这是国内官方公布的第一个商用密码算法。在2012年3月,国家商用密码管理局批准SMS4算法为商用密码行业标准,命名为SM4算法。在SM4算法中,S盒是唯一的非线性部件,并且存在于密钥扩展运算和加解密运算中的每一轮运算中,因此S盒的实现不仅决定这SM4算法的性能,还决定了SM4算法的硬件是否能够抵抗差分功耗分析攻击。现有的SM4算法中S盒的输入和输出都是8比特的数据,一般都是采用查表方法来实现。这种实现方法由于输入数据太多,实现代价很大,并且很难抵抗差分功耗分析攻击。
技术实现思路
本专利技术要解决的技术问题在于,提供一种改进的抵抗差分功耗分析攻击的数据处理系统及其数据处理方法。本专利技术解决其技术问题所采用的技术方案是:构造一种抵抗差分功耗分析攻击的数据处理系统,其中包括采用SM4算法的S盒,所述S盒包括:第一基于加法掩码仿射变换模块,用于对输入的掩码数据和掩码进行仿射变换运算,并输出第一数据和第二数据;基于加法掩码的有限域求逆模块,用于对所述第一基于加法掩码仿射变换模块输出的第一数据和第二数据进行有限域求逆运算,并输出第三数据;第二基于加法掩码仿射变换模块,用于对所述第一基于加法掩码仿射变换模块输出的第二数据和所述基于加法掩码的有限域求逆模块输出的第三数据进行仿射变换运算,并输出第四数据和第五数据。上述抵抗差分功耗分析攻击的数据处理系统中,所述第一基于加法掩码仿射变换模块包括:第一向量乘法模块,用于对输入的掩码数据进行向量乘法运算;第二向量乘法模块,用于对输入的掩码进行向量乘法运算,以输出第二数据;第一异或运算模块,连接于所述第一向量乘法模块,并用于根据所述第一向量乘法模块输出的计算结果与输入的常数进行异或运算,以输出第一数据。上述抵抗差分功耗分析攻击的数据处理系统中,所述第一向量乘法模块的数学模型为:a1*A1;所述第二向量乘法模块的数学模型为:r1*A1;所述第一异或运算模块的数学模型为:a1*A1+C1;其中,a1和r1依次为输入的掩码数据和掩码;常数C1=(1,1,0,0,1,0,1,1)。上述抵抗差分功耗分析攻击的数据处理系统中,所述基于加法掩码的有限域求逆模块包括:第一同构映射模块,用于对所述第一数据进行同构映射;第二同构映射模块,用于对所述第二数据进行同构映射;第三同构映射模块,用于根据所述第一同构映射模块输出的运算结果进行同构映射;第四同构映射模块,用于根据所述第一同构映射模块输出的运算结果进行同构映射;第五同构映射模块,用于根据所述第二同构映射模块输出的运算结果进行同构映射;第六同构映射模块,用于根据所述第二同构映射模块输出的运算结果进行同构映射;第一常量乘法运算模块,用于对所述第三同构映射模块输出的运算结果进行常量乘法运算;第一平方运算模块,用于根据所述第三同构映射模块输出的运算结果进行平方运算;第二平方运算模块,用于根据所述第六同构映射模块输出的运算结果进行平方运算;第三平方运算模块,用于根据所述第一平方运算模块输出的运算结果进行平方运算;第四平方运算模块,用于根据所述第五同构映射模块输出的运算结果进行平方运算;第一乘法运算模块,用于根据所述第三同构映射模块和所述第四同构映射模块输出的运算结果进行乘法运算;第二乘法运算模块,用于根据所述第五同构映射模块输出的运算结果进行乘法运算;第三乘法运算模块,用于根据所述第四同构映射模块和第六同构映射模块输出的运算结果进行乘法运算;第四乘法运算模块,用于根据所述第五同构映射模块和第六同构映射模块输出的运算结果进行乘法运算;第二常量乘法运算模块,用于根据所述第二平方运算模块输出的运算结果进行乘法运算;第二异或运算模块,用于根据所述第一乘法运算模块、第二乘法运算模块、第三乘法运算模块、第四乘法运算模块、第二常量乘法运算模块、第一常量乘法运算模块、第三平方运算模块以及第四平方运算模块输出的运算结果进行异或运算;求逆运算模块,用于根据所述第二异或运算模块输出的运算结果进行求逆运算;第三异或运算模块,用于根据所述求逆运算模块和第四同构映射模块输出的运算结果进行异或运算;第四异或运算模块,用于根据所述第一平方运算模块和所述第三异或运算模块输出的运算结果进行异或运算;第六乘法运算模块,用于根据所述第一平方运算模块和所述第三异或运算模块输出的运算结果进行乘法运算;第七乘法运算模块,用于根据所述第二同构映射模块和所述第三异或运算模块输出的运算结果进行乘法运算;第八乘法运算模块,用于根据所述第四同构映射模块和所述第四异或运算模块输出的运算结果进行乘法运算;第九乘法运算模块,用于根据所述第四异或运算模块和所述第六乘法运算模块输出的运算结果进行乘法运算;第五异或运算模块,用于根据所述第一乘法运算模块、第三乘法运算模块、所述第六乘法运算模块、第七乘法运算模块以及所述第一平方运算模块输出的运算结果进行异或运算;第六异或运算模块,用于根据所述第二乘法运算模块、所述第八乘法运算模块、第九乘法运算模块、所述第三异或运算模块、所述第四异或运算模块以及所述第五异或运算模块输出的运算结果进行异或运算;第一同构逆映射模块,用于根据所述第六异或运算模块输出的运算结果进行同构逆映射运算;第二同构逆映射模块,用于根据所述第五异或运算模块输出的运算结果进行同构逆映射运算;第三同构逆映射模块,用于根据所述第一同构逆映射模块和所述第二同构逆映射模块输出的运算结果进行同构逆映射运算以输出第三数据。上述抵抗差分功耗分析攻击的数据处理系统中,所述基于加法掩码的有限域求逆模块的数学模型为:oh=ah(d-1+rl)+(d-1+rl)rh+ahrl+rhrl+rh,以及ol=oh+(d-1+rh)al+(d-1+rh)rh+alrh+rl+rhrl+rh;其中,ah为第一数据为a的高4比特,al为第一数据a的低4比特,rh为第二数据r的高4比特,rl为第二数据r的低4比特,v为常数;d-1为中间数据d的逆元素;ol和oh所述基于加法掩码的有限域求逆模块(2)中的中间本文档来自技高网
...
抵抗差分功耗分析攻击的数据处理系统及其数据处理方法

【技术保护点】
一种抵抗差分功耗分析攻击的数据处理系统,其中包括采用SM4算法的S盒,其特征在于,所述S盒包括:第一基于加法掩码仿射变换模块(1),用于对输入的掩码数据和掩码进行仿射变换运算,并输出第一数据和第二数据;基于加法掩码的有限域求逆模块(2),用于对所述第一基于加法掩码仿射变换模块(1)输出的第一数据和第二数据进行有限域求逆运算,并输出第三数据;第二基于加法掩码仿射变换模块(3),用于对所述第一基于加法掩码仿射变换模块(1)输出的第二数据和所述基于加法掩码的有限域求逆模块(2)输出的第三数据进行仿射变换运算,并输出第四数据和第五数据。

【技术特征摘要】
1.一种抵抗差分功耗分析攻击的数据处理系统,其中包括采用SM4算法的S盒,其特征在于,所述S盒包括:第一基于加法掩码仿射变换模块(1),用于对输入的掩码数据和掩码进行仿射变换运算,并输出第一数据和第二数据;基于加法掩码的有限域求逆模块(2),用于对所述第一基于加法掩码仿射变换模块(1)输出的第一数据和第二数据进行有限域求逆运算,并输出第三数据;第二基于加法掩码仿射变换模块(3),用于对所述第一基于加法掩码仿射变换模块(1)输出的第二数据和所述基于加法掩码的有限域求逆模块(2)输出的第三数据进行仿射变换运算,并输出第四数据和第五数据;所述第一基于加法掩码仿射变换模块(1)包括:第一向量乘法模块(11),用于对输入的掩码数据进行向量乘法运算;第二向量乘法模块(12),用于对输入的掩码进行向量乘法运算,以输出第二数据;第一异或运算模块(13),连接于所述第一向量乘法模块(11),并用于根据所述第一向量乘法模块(11)输出的计算结果与输入的常数进行异或运算,以输出第一数据;所述第一向量乘法模块(11)的数学模型为:a1*A1;所述第二向量乘法模块(12)的数学模型为:r1*A1;所述第一异或运算模块(13)的数学模型为:a1*A1+C1;其中,a1和r1依次为输入的掩码数据和掩码;常数C1=(1,1,0,0,1,0,1,1);所述基于加法掩码的有限域求逆模块(2)的数学模型为:oh=ah(d-1+rl)+(d-1+rl)rh+ahrl+rhrl+rh,以及ol=oh+(d-1+rh)al+(d-1+rh)rh+alrh+rl+rhrl+rh;其中,ah为第一数据a的高4比特,al为第一数据a的低4比特,rh为第二数据r的高4比特,rl为第二数据r的低4比特,v为常数;d-1为中间数据d的逆元素;ol和oh为所述基于加法掩码的有限域求逆模块(2)中的中间数据;所述基于加法掩码的有限域求逆模块(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)输出的运算结...

【专利技术属性】
技术研发人员:孙金龙曾广旺
申请(专利权)人:深圳华视微电子有限公司
类型:发明
国别省市:广东;44

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

1