CN105790923A - 密码算法抗功耗分析的实现方法及装置 - Google Patents

密码算法抗功耗分析的实现方法及装置 Download PDF

Info

Publication number
CN105790923A
CN105790923A CN201610266587.XA CN201610266587A CN105790923A CN 105790923 A CN105790923 A CN 105790923A CN 201610266587 A CN201610266587 A CN 201610266587A CN 105790923 A CN105790923 A CN 105790923A
Authority
CN
China
Prior art keywords
cryptographic algorithm
logic
power consumption
consumption analysis
box
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610266587.XA
Other languages
English (en)
Inventor
余思洋
朱文楚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Zhengtong Electronics Co Ltd
Original Assignee
Shenzhen Zhengtong Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Zhengtong Electronics Co Ltd filed Critical Shenzhen Zhengtong Electronics Co Ltd
Priority to CN201610266587.XA priority Critical patent/CN105790923A/zh
Publication of CN105790923A publication Critical patent/CN105790923A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms

Abstract

本发明公开了一种密码算法抗功耗分析的实现方法和装置,其方法包括:将SM4密码算法中的模逆运算映射成对应的查找表,并进行保存;在SM4密码算法的S盒中添加预设的抗功耗分析逻辑,在SM4密码算法的轮函数中添加预设的计算逻辑,并根据查找表对数据进行加密操作。本发明解决了现有技术中SM4密码算法容易受到功耗分析的安全问题。实现了改善SM4密码算法中有限域模逆的运算效率,同时提高SM4密码算法的安全性。

Description

密码算法抗功耗分析的实现方法及装置
技术领域
本发明涉及密码技术领域,尤其涉及一种密码算法抗功耗分析的实现方法及装置。
背景技术
SM4密码算法是我国官方公布的第一个商用密码,对我国密码算法标准的制定推广,以及密码学研究来说都具有重要的意义。自SM4密码算法公布以后,对它的各类研究也逐渐开展起来,包括SM4密码算法的密码学分析、软硬件设计实现和攻击与防护。
SM4密码算法中S盒的非线性运算可以在GF(28)和GF(2)两个不同的有限域上进行,在有限域上的S盒操作由两个仿射变换和一个模逆运算组成。其中,模逆是有限域上比较重要也是比较复杂的一个非线性运算,通常会使用费马小定理来实现该运算。但由于二进制域上的特性,直接在GF(28)域上实现模逆运算会增加比较大的时间和面积复杂度,因此近年来相关的研究中都会采用有限域降阶的方式来实现模逆运算。通常的做法是采用多级降阶法,即将有限域GF(28)通过二级或三级降阶,降阶到有限域GF(24)或GF(22)上,采用这种降阶运算来降低运算的复杂度。虽然这种降阶的方法可以有效的改善面积开销,但由于运算链路的增加会在最后芯片设计时增加过多和过长的连线。而且由于运算步骤的增加,也会降低算法的整体性能。
发明内容
本发明的主要目的在于提出一种密码算法抗功耗分析的实现方法及装置,对已有的抗功耗分析逻辑进行改进,旨在解决现有技术中SM4密码算法容易受到功耗分析的安全问题。实现了改善SM4密码算法中有限域模逆的运算效率,同时提高SM4密码算法的安全性。
为实现上述目的,本发明提出一种密码算法抗功耗分析的实现方法,包括:
将SM4密码算法中的模逆运算映射成对应的查找表,并进行保存;
在所述SM4密码算法的S盒中添加预设的抗功耗分析逻辑,在所述SM4密码算法的轮函数中添加预设的计算逻辑,并根据所述查找表对数据进行加密操作。
优选地,将模逆运算映射成对应的查找表,并进行保存的步骤之前,还包括:
将所述SM4密码算法的S盒基于预设的有限域进行实现。
优选地,所述在经过优化后的所述SM4密码算法的S盒中添加预设的抗功耗分析逻辑,在所述SM4密码算法的轮函数中添加预设的计算逻辑的步骤包括:
在所述SM4密码算法的S盒中添加抗功耗分析逻辑。
优选地,所述在所述SM4密码算法的S盒中添加抗功耗分析逻辑的步骤之后,还包括:
在所述SM4密码算法的轮函数中添加掩码移除逻辑。
优选地,所述在所述SM4密码算法的轮函数中添加掩码移除逻辑的步骤之后,还包括:
在所述SM4密码算法的轮函数中添加抗0值攻击逻辑。
为实现上述目的,本发明还提出一种密码算法抗功耗分析的实现装置,所述装置包括:
映射模块,用于将模逆运算映射成对应的查找表,并进行保存;
逻辑模块,用于在经过优化后的SM4密码算法的S盒中添加预设的抗功耗分析逻辑,在所述SM4密码算法的轮函数中添加预设的计算逻辑,并根据所述查找表对数据进行加密操作。
优选地,所述装置还包括:
实现模块,用于将所述SM4密码算法的S盒基于预设的有限域进行实现。
优选地,所述逻辑模块包括:
抗功耗逻辑子模块,用于在所述优化后的SM4密码算法的S盒中添加抗功耗分析逻辑;
优选地,所述逻辑模块还包括:
掩码移除逻辑子模块,用于在所述SM4密码算法的轮函数中添加掩码移除逻辑。
优选地,所述逻辑模块还包括:
抗攻击子模块,用于在所述SM4密码算法的轮函数中添加抗0值攻击逻辑。
本发明公开了一种密码算法抗功耗分析的实现方法和装置,通过将SM4密码算法中的模逆运算映射成对应的查找表,并进行保存;在SM4密码算法的S盒中添加预设的抗功耗分析逻辑,在SM4密码算法的轮函数中添加预设的掩码移除逻辑和抗0值攻击逻辑。
上述模逆运算的设计方式的面积开销较小,但性能有很大的提升,同时,添加了一个分支判断逻辑来掩盖0值攻击时产生的功耗相关性,达到抗功耗分析和0值攻击的目的。
由此,解决了现有技术中SM4密码算法容易受到功耗分析的安全问题。实现了改善SM4密码算法中有限域模逆的运算效率,同时提高SM4密码算法的安全性。
附图说明
图1是本发明密码算法抗功耗分析的实现方法第一实施例的流程示意图;
图2是本发明实施例中乘法掩码流程图;
图3是本发明实施例中SM4轮函数掩码流程图;
图4是本发明实施例中抗0值攻击逻辑流程图;
图5是本发明SM4密码算法抗功耗分析的实现方法第二实施例的流程示意图;
图6是本发明实施例中在经过优化后的所述SM4密码算法的S盒中添加预设的抗功耗分析逻辑,在所述SM4密码算法的轮函数中添加预设的计算逻辑的步骤的一种流程示意图;
图7是本发明密码算法抗功耗分析的实现装置第一实施例的功能模块示意图;
图8是本发明密码算法抗功耗分析的实现装置第二实施例的功能模块示意图;
图9是本发明密码算法抗功耗分析的实现装置第三实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:将SM4密码算法中的模逆运算映射成对应的查找表,并进行保存;在SM4密码算法的S盒中添加预设的抗功耗分析逻辑,在SM4密码算法的轮函数中添加预设的计算逻辑,并根据查找表对数据进行加密操作。
由此,解决了现有技术中SM4密码算法容易受到功耗分析的安全问题。实现了改善SM4密码算法中有限域模逆的运算效率,同时提高SM4密码算法的安全性。
如图1所示,本发明第一实施例提出一种密码算法抗功耗分析的实现方法,包括:
步骤S10,将SM4密码算法中的模逆运算映射成对应的查找表,并进行保存。
本发明方法的执行主体可以为一种密码机或加密设备,本实施例以加密设备进行举例,当然也不限定于其他能够实现SM4密码密码算法的抗功耗分析设备或装置。
由于降阶之后有限域上的模逆运算可以转换成加法运算,因此加法掩码主要是应用于降阶之后的有限域。而乘法掩码主要是应用在GF(28)有限域上,由于模逆是一个非线性运算,故使用乘法方便从将掩码数据还原,而且,与加法掩码相比,乘法掩码的逻辑更加简单方便。因此,本发明的SM4密码算法是基于GF(28)有限域和乘法掩码设计的。
具体地,加密设备将SM4密码算法中的模逆运算映射成对应的查找表,并进行保存。
在具体实现时,加密设备可以将模逆运算映射成一个查找表,并用ROM(或者其他存储空间)的IP进行实例保存,其目的是降低功耗和面积。
其中,加密设备将SM4密码算法中的查找表S盒转换成有限域GF(28)上的数学形式,基于有限域GF(28)上的数学形式,能够对S盒逻辑进行有效的优化,并且能够根据实际的需求,满足不同的时间复杂度或面积复杂度。由于GF(28)有限域上的模逆实现比较复杂,并且会增加芯片的面积和时间开销,在实现过程中,加密设备使用的模逆设计方式的面积开销较小,性能有很大的提升,在实际的运算过程中,模逆运算只需要1个周期就能完成。
步骤S20,在所述SM4密码算法的S盒中添加预设的抗功耗分析逻辑,在所述SM4密码算法的轮函数中添加预设的计算逻辑,并根据所述查找表对数据进行加密操作。
具体地,在将SM4密码算法中的模逆运算映射成对应的查找表,并进行保存后,加密设备在SM4密码算法的S盒中添加预设的抗功耗分析逻辑,在SM4密码算法的轮函数中添加预设的计算逻辑,并根据查找表对数据进行加密操作。
在具体实现时,可以采取如下方式:
1、如图2所示,加密设备在SM4密码算法的S盒中添加抗功耗分析逻辑;
2、如图3所示,加密设备在SM4密码算法的轮函数中添加掩码移除逻辑;
3、如图4所示,加密设备在SM4密码算法的轮函数中添加抗0值攻击逻辑。
通过上述方案,本发明提供了一种密码算法抗功耗分析的实现方法,通过模逆运算的设计和增加计算逻辑,解决了现有技术中SM4密码算法容易受到功耗分析的安全问题。实现了改善SM4密码算法中有限域模逆的运算效率,同时提高SM4密码算法的安全性。
如图5所示,本发明第二实施例提出一种密码算法抗功耗分析的实现方法,在上述第一实施例步骤S10之前,还包括:
步骤S30,将所述SM4密码算法的S盒基于预设的有限域进行实现。
具体地,在将SM4密码算法中的模逆运算映射成对应的查找表,并进行保存前,加密设备将SM4密码算法的S盒基于预设的有限域进行实现。
其中,基于有限域GF(28)上的数学形式,能够对S盒逻辑进行有效的优化。
在具体实现时,加密设备可以将SM4密码算法的S盒基于有限域GF(28)实现,对SM4密码算法的S盒进行优化,以便于添加抗功耗逻辑。
通过上述方案,本发明提供了一种密码算法抗功耗分析的实现方法,通过将优化SM4密码算法的S盒,为后续的添加抗功耗逻辑操作提供便利,更好地解决了现有技术中SM4密码算法容易受到功耗分析的安全问题。实现了改善SM4密码算法中有限域模逆的运算效率,同时提高SM4密码算法的安全性。
进一步的,为了更好地实现SM4密码算法抗功耗分析,参照图6,为本发明具体实施方式中在经过优化后的所述SM4密码算法的S盒中添加预设的抗功耗分析逻辑,在所述SM4密码算法的轮函数中添加预设的计算逻辑的步骤的步骤的一种流程示意图。
作为一种实施方式,上述步骤S20包括:
步骤S21,在所述SM4算法的S盒中添加抗功耗分析逻辑。
具体地,在将SM4密码算法中的模逆运算映射成对应的查找表,并进行保存后,加密设备在SM4算法的S盒中添加抗功耗分析逻辑。
其中,如图2所示,在具体实现时,可以采用如下方式:
1、加密设备执行乘法操作:(XM)*M,得到结果X*MM2
2、加密设备执行异或操作:(X*MM2)M2,得到结果X*M;
3、加密设备执行模逆操作:(X*M)-1,得到结果X-1*M-1
4、加密设备执行异或操作:(X-1*M-1)1,得到结果X-1*M-11;
5、加密设备执行乘法操作:(X-1*M-11)*M,得到结果X-1M。
其中,该乘法掩码算法的目的是保证待运算数据X和随机掩码M,在完成模逆之后只有输入数据X的值变成模逆运算之后的结果,而随机掩码M的值仍然是M不变,方便在以后的运算过程中移除随机掩码M。
步骤S22,在所述SM4密码算法的轮函数中添加掩码移除逻辑。
具体地,在SM4算法的S盒中添加抗功耗分析逻辑后,加密设备在SM4密码算法的轮函数中添加掩码移除逻辑。
其中,如图3所示,为添加乘法掩码之后的轮函数流程图,在原SM4密码算法的轮函数中,加密设备对S盒替换操作г()添加了如图2所示的乘法掩码逻辑,故轮函数最后的输出位置添加了一个异或操作,操作数为L(MA1A2)。
由于待运算数据X添加了随机掩码M,完成修改之后置换操作T后,可以得到L(X-1A1A2)L(MA1A2)的运算结果,而未修改的轮函数在完成T置换操作后,只得到L(X-1A1A2)这一部分。因此需要在轮函数的最后输出位置添加一个异或L(MA1A2)的操作来移除这个操作数。
步骤S23,在所述SM4密码算法的轮函数中添加抗0值攻击逻辑。
具体地,在SM4密码算法的轮函数中添加掩码移除逻辑后,加密设备在所述SM4密码算法的轮函数中添加抗0值攻击逻辑。
其中,如图4所示,为抗0值攻击逻辑,由于加密设备使用的是乘法掩码逻辑,因此,无论随机掩码为何值,与0相乘得到的都是0,这样就会导致添加有掩码逻辑的г()操作失去抗功耗分析的功能,于是加密设备添加一个判断逻辑来抗0值攻击。
当г()的输入数据为0值,加密设备会并行进行一次非零值输入的г()变换。这样就可以保证无论输入数据在0或非0的状态下г()产生的功耗都会有很大的差异,降低数据与功耗之间的相关性。
其中,上述抗0值攻击逻辑是基于算法层面的,并且是利用算法中现存的资源,并不额外增加算法逻辑或运算步骤,因此,在达到抗功耗分析和0值攻击的目的的基础上,并不会增加时间和面积开销。
通过上述方案,本发明提供了一种密码算法抗功耗分析的实现方法,通过添加抗功耗逻辑、掩码移除逻辑和抗0值攻击逻辑,消除了功耗与状态值的相关性,达到抗功耗分析和0值攻击的目的,更好地解决了现有技术中SM4密码算法容易受到功耗分析的安全问题。实现了改善SM4密码算法中有限域模逆的运算效率,同时提高SM4密码算法的安全性。
基于上述方法实施例的实现,本发明还提供对应的装置实施例。
如图7所示,本发明第一实施例提出一种密码算法抗功耗分析的实现装置,包括:
映射模块100,用于将SM4密码算法中的模逆运算映射成对应的查找表,并进行保存。
由于降阶之后有限域上的模逆运算可以转换成加法运算,因此加法掩码主要是应用于降阶之后的有限域。而乘法掩码主要是应用在GF(28)有限域上,由于模逆是一个非线性运算,故使用乘法方便从将掩码数据还原,而且,与加法掩码相比,乘法掩码的逻辑更加简单方便。因此,本发明的SM4密码算法是基于GF(28)有限域和乘法掩码设计的。
具体地,映射模块100将SM4密码算法中的模逆运算映射成对应的查找表,并进行保存。
在具体实现时,映射模块100可以将模逆运算映射成一个查找表,并用ROM(或者其他存储空间)的IP进行实例保存,其目的是降低功耗和面积。
其中,映射模块100将SM4密码算法中的查找表S盒转换成有限域GF(28)上的数学形式,基于有限域GF(28)上的数学形式,能够对S盒逻辑进行有效的优化,并且能够根据实际的需求,满足不同的时间复杂度或面积复杂度。由于GF(28)有限域上的模逆实现比较复杂,并且会增加芯片的面积和时间开销,在实现过程中,映射模块100使用的模逆设计方式的面积开销较小,性能有很大的提升,在实际的运算过程中,模逆运算只需要1个周期就能完成。
逻辑模块200,用于在所述SM4密码算法的S盒中添加预设的抗功耗分析逻辑,在所述SM4算法的轮函数中添加预设的计算逻辑,并根据所述查找表对数据进行加密操作。
具体地,在将SM4密码算法中的模逆运算映射成对应的查找表,并进行保存后,逻辑模块200在SM4密码算法的S盒中添加预设的抗功耗分析逻辑,在SM4密码算法的轮函数中添加预设的计算逻辑,并根据查找表对数据进行加密操作。
在具体实现时,可以采取如下方式:
1、如图2所示,逻辑模块200在SM4密码算法的S盒中添加抗功耗分析逻辑;
2、如图3所示,逻辑模块200在SM4密码算法的轮函数中添加掩码移除逻辑;
3、如图4所示,逻辑模块200在SM4密码算法的轮函数中添加抗0值攻击逻辑。
通过上述方案,本发明提供了一种密码算法抗功耗分析的实现装置,通过模逆运算的设计和增加计算逻辑,解决了现有技术中SM4密码算法容易受到功耗分析的安全问题。实现了改善SM4密码算法中有限域模逆的运算效率,同时提高SM4密码算法的安全性。
如图8所示,本发明第二实施例提出一种密码算法抗功耗分析的实现装置,在上述第一实施例的基础上,该装置还包括:
实现模块300,用于将所述SM4密码算法的S盒基于预设的有限域进行实现。
具体地,在将SM4密码算法中的模逆运算映射成对应的查找表,并进行保存前,实现模块300将SM4密码算法的S盒基于预设的有限域进行实现。
其中,基于有限域GF(28)上的数学形式,能够对S盒逻辑进行有效的优化。
在具体实现时,实现模块300可以将SM4密码算法的S盒基于有限域GF(28)实现,对SM4密码算法的S盒进行优化,以便于添加抗功耗逻辑。
通过上述方案,本发明提供了一种密码算法抗功耗分析的实现装置,通过将优化SM4密码算法的S盒,为后续的添加抗功耗逻辑操作提供便利,更好地解决了现有技术中SM4密码算法容易受到功耗分析的安全问题。实现了改善SM4密码算法中有限域模逆的运算效率,同时提高SM4密码算法的安全性。
进一步的,为了更好地实现SM4密码算法抗功耗分析,如图9所示,作为一种实施方式,上述逻辑模块200包括:
抗功耗逻辑子模块210,用于在所述SM4算法的S盒中添加抗功耗分析逻辑。
具体地,在将SM4密码算法中的模逆运算映射成对应的查找表,并进行保存后,抗功耗逻辑子模块210在SM4算法的S盒中添加抗功耗分析逻辑。
其中,如图2所示,在具体实现时,可以采用如下方式:
1、抗功耗逻辑子模块210执行乘法操作:(XM)*M,得到结果X*MM2
2、抗功耗逻辑子模块210执行异或操作:(X*MM2)M2,得到结果X*M;
3、抗功耗逻辑子模块210执行模逆操作:(X*M)-1,得到结果X-1*M-1
4、抗功耗逻辑子模块210执行异或操作:(X-1*M-1)1,得到结果X-1*M-11;
5、抗功耗逻辑子模块210执行乘法操作:(X-1*M-11)*M,得到结果X-1M。
其中,该乘法掩码算法的目的是保证待运算数据X和随机掩码M,在完成模逆之后只有输入数据X的值变成模逆运算之后的结果,而随机掩码M的值仍然是M不变,方便在以后的运算过程中移除随机掩码M。
掩码移除逻辑子模块220,用于在所述SM4密码算法的轮函数中添加掩码移除逻辑。
具体地,在SM4密码算法的S盒中添加抗功耗分析逻辑后,掩码移除逻辑子模块220在SM4密码算法的轮函数中添加掩码移除逻辑。
其中,如图3所示,为添加乘法掩码之后的轮函数流程图,在原SM4密码算法的轮函数中,掩码移除逻辑子模块220对S盒替换操作г()添加了如图2所示的乘法掩码逻辑,故轮函数最后的输出位置添加了一个异或操作,操作数为L(MA1A2)。
由于待运算数据X添加了随机掩码M,完成修改之后置换操作T后,可以得到L(X-1A1A2)L(MA1A2)的运算结果,而未修改的轮函数在完成T置换操作后,只得到L(X-1A1A2)这一部分。因此需要在轮函数的最后输出位置添加一个异或L(MA1A2)的操作来移除这个操作数。
抗攻击子模块230,用于在所述SM4密码算法的轮函数中添加抗0值攻击逻辑。
具体地,在SM4密码算法的轮函数中添加掩码移除逻辑后,抗攻击子模块230在所述SM4密码算法的轮函数中添加抗0值攻击逻辑。
其中,如图4所示,为抗0值攻击逻辑,由于抗攻击子模块230使用的是乘法掩码逻辑,因此,无论随机掩码为何值,与0相乘得到的都是0,这样就会导致添加有掩码逻辑的г()操作失去抗功耗分析的功能,于是需要抗攻击子模块230来抗0值攻击。
当г()的输入数据为0值,加密设备会并行进行一次非零值输入的г()变换。这样就可以保证无论输入数据在0或非0的状态下г()产生的功耗都会有很大的差异,降低数据与功耗之间的相关性。
其中,上述抗0值攻击逻辑是基于算法层面的,并且是利用算法中现存的资源,并不额外增加算法逻辑或运算步骤,因此,在达到抗功耗分析和0值攻击的目的的基础上,并不会增加时间和面积开销。
通过上述方案,本发明提供了一种密码算法抗功耗分析的实现装置,通过添加抗功耗逻辑、掩码移除逻辑和抗0值攻击逻辑,消除了功耗与状态值的相关性,达到抗功耗分析和0值攻击的目的,更好地解决了现有技术中SM4密码算法功耗高,安全性低的问题。实现了降低SM4密码算法的功耗和面积,同时提高SM4密码算法的安全性。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种密码算法抗功耗分析的实现方法,其特征在于,所述方法包括:
将SM4密码算法中的模逆运算映射成对应的查找表,并进行保存;
在所述SM4算法的S盒中添加预设的抗功耗分析逻辑,在所述SM4算法的轮函数中添加预设的计算逻辑,并根据所述查找表对数据进行加密操作。
2.根据权利要求1所述的方法,其特征在于,将模逆运算映射成对应的查找表,并进行保存的步骤之前,还包括:
将所述SM4密码算法的S盒基于预设的有限域进行实现。
3.根据权利要求2所述的方法,其特征在于,所述在经过优化后的所述SM4密码算法的S盒中添加预设的抗功耗分析逻辑,在所述SM4密码算法的轮函数中添加预设的计算逻辑的步骤包括:
在所述SM4密码算法的S盒中添加抗功耗分析逻辑。
4.根据权利要求3所述的方法,其特征在于,所述在所述SM4密码算法的S盒中添加抗功耗分析逻辑的步骤之后,还包括:
在所述SM4密码算法的轮函数中添加掩码移除逻辑。
5.根据权利要求4所述的方法,其特征在于,所述在所述SM4密码算法的轮函数中添加掩码移除逻辑的步骤之后,还包括:
在所述SM4密码算法的轮函数中添加抗0值攻击逻辑。
6.一种密码算法抗功耗分析的实现装置,其特征在于,所述装置包括:
映射模块,用于将模逆运算映射成对应的查找表,并进行保存;
逻辑模块,用于在经过优化后的SM4密码算法的S盒中添加预设的抗功耗分析逻辑,在所述SM4密码算法的轮函数中添加预设的计算逻辑根据所述查找表对数据进行加密操作。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
实现模块,用于将所述SM4密码算法的S盒基于预设的有限域进行实现。
8.根据权利要求7所述的装置,其特征在于,所述逻辑模块包括:
抗功耗逻辑子模块,用于在所述优化后的SM4密码算法的S盒中添加抗功耗分析逻辑。
9.根据权利要求8所述的装置,其特征在于,所述逻辑模块还包括:
掩码移除逻辑子模块,用于在所述SM4密码算法的轮函数中添加掩码移除逻辑。
10.根据权利要求9所述的装置,其特征在于,所述逻辑模块还包括:
抗攻击子模块,用于在所述SM4密码算法的轮函数中添加抗0值攻击逻辑。
CN201610266587.XA 2016-04-26 2016-04-26 密码算法抗功耗分析的实现方法及装置 Pending CN105790923A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610266587.XA CN105790923A (zh) 2016-04-26 2016-04-26 密码算法抗功耗分析的实现方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610266587.XA CN105790923A (zh) 2016-04-26 2016-04-26 密码算法抗功耗分析的实现方法及装置

Publications (1)

Publication Number Publication Date
CN105790923A true CN105790923A (zh) 2016-07-20

Family

ID=56399669

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610266587.XA Pending CN105790923A (zh) 2016-04-26 2016-04-26 密码算法抗功耗分析的实现方法及装置

Country Status (1)

Country Link
CN (1) CN105790923A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106059746A (zh) * 2016-07-22 2016-10-26 武汉大学 一种抗任意阶侧信道攻击的掩码防护方法及系统
CN106656465A (zh) * 2016-12-08 2017-05-10 上海爱信诺航芯电子科技有限公司 一种抵御能量分析攻击的加法掩码硬件实现方法及电路

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104065473A (zh) * 2014-06-25 2014-09-24 成都信息工程学院 Sm4分组密码算法s盒的紧凑实现方法
CN104852795A (zh) * 2015-05-05 2015-08-19 国家密码管理局商用密码检测中心 一种轮输出为布尔掩码的zuc序列密码算法掩码防护方法
CN105049194A (zh) * 2015-06-01 2015-11-11 北京时代民芯科技有限公司 一种流水线结构的sm4算法实现系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104065473A (zh) * 2014-06-25 2014-09-24 成都信息工程学院 Sm4分组密码算法s盒的紧凑实现方法
CN104852795A (zh) * 2015-05-05 2015-08-19 国家密码管理局商用密码检测中心 一种轮输出为布尔掩码的zuc序列密码算法掩码防护方法
CN105049194A (zh) * 2015-06-01 2015-11-11 北京时代民芯科技有限公司 一种流水线结构的sm4算法实现系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
朱念好: "对称密码算法功耗分析攻击防御措施的研究", 《中国博士学位论文全文数据库.信息科技辑》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106059746A (zh) * 2016-07-22 2016-10-26 武汉大学 一种抗任意阶侧信道攻击的掩码防护方法及系统
CN106059746B (zh) * 2016-07-22 2019-04-12 武汉大学 一种抗任意阶侧信道攻击的掩码防护方法及系统
CN106656465A (zh) * 2016-12-08 2017-05-10 上海爱信诺航芯电子科技有限公司 一种抵御能量分析攻击的加法掩码硬件实现方法及电路
CN106656465B (zh) * 2016-12-08 2019-09-06 上海爱信诺航芯电子科技有限公司 一种抵御能量分析攻击的加法掩码硬件实现方法及电路

Similar Documents

Publication Publication Date Title
CN106788974B (zh) 掩码s盒、分组密钥计算单元、装置及对应的构造方法
CN107294698B (zh) 单密文同态计算的全同态加密方法
CN105099672B (zh) 混合加密方法及实现该方法的装置
US9166789B2 (en) Cryptographic processing apparatus
Vigila et al. Implementation of text based cryptosystem using elliptic curve cryptography
JP2014533017A (ja) デジタル・プリディストーション(dpd)および他の非線形アプリケーションのためのユーザ定義の非線形関数を含む命令セットを有するプロセッサ
CN106936569B (zh) 一种抗功耗攻击的sm4算法掩码s盒的实现方法
US20140169553A1 (en) Masking with shared random bits
Al-Haija et al. A tiny RSA cryptosystem based on Arduino microcontroller useful for small scale networks
US20100011047A1 (en) Hardware-Based Cryptographic Accelerator
WO2011029753A1 (en) A method of diversification of a round function of an encryption algorithm
Sahoo et al. An optimized S-box for advanced encryption standard (AES) design
US9584320B1 (en) Blinding function in elliptic curve cryptography
KR101586811B1 (ko) Hight 부채널 분석에 대응하기 위한 장치 및 방법
KR101601684B1 (ko) 부채널 공격에 대응하는 대칭키 암호 알고리즘 구현 방법
KR20120070873A (ko) 부채널 방지 마스킹 덧셈 연산 장치
CN105790923A (zh) 密码算法抗功耗分析的实现方法及装置
US20180278426A1 (en) Online/Offline Signature System and Method Based on Multivariate Cryptography
CN103260156A (zh) 密钥流生成装置及方法、机密性保护装置及方法
CN117527223B (zh) 一种基于格的抗量子密码的分布式解密方法及系统
CN103780794A (zh) 一种基于混沌系统的图像加密改进方法
KR101923293B1 (ko) 데이터 가산 장치 및 방법
CN104753662B (zh) 基于aes算法的加密密钥流产生方法
US20120039462A1 (en) Rsa signature method and apparatus
Astya et al. Image encryption and decryption using elliptic curve cryptography

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20160720

RJ01 Rejection of invention patent application after publication