CN106788974B - 掩码s盒、分组密钥计算单元、装置及对应的构造方法 - Google Patents

掩码s盒、分组密钥计算单元、装置及对应的构造方法 Download PDF

Info

Publication number
CN106788974B
CN106788974B CN201611198866.3A CN201611198866A CN106788974B CN 106788974 B CN106788974 B CN 106788974B CN 201611198866 A CN201611198866 A CN 201611198866A CN 106788974 B CN106788974 B CN 106788974B
Authority
CN
China
Prior art keywords
mask
round
box
key
random number
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.)
Active
Application number
CN201611198866.3A
Other languages
English (en)
Other versions
CN106788974A (zh
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.)
GUOWEI GROUP (SHENZHEN) Co.,Ltd.
Original Assignee
Shenzhen State Micro Technology 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 State Micro Technology Co Ltd filed Critical Shenzhen State Micro Technology Co Ltd
Priority to CN201611198866.3A priority Critical patent/CN106788974B/zh
Priority to PCT/CN2016/112940 priority patent/WO2018113014A1/zh
Publication of CN106788974A publication Critical patent/CN106788974A/zh
Priority to US15/838,979 priority patent/US10567162B2/en
Application granted granted Critical
Publication of CN106788974B publication Critical patent/CN106788974B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30029Logical and Boolean instructions, e.g. XOR, NOT
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种掩码S盒、分组密钥计算单元、装置及对应的构造方法,其中掩码S盒包括输入模块,接收随机数和已被随机数进行掩码处理的输入数据作为掩码S盒的两路输入;地址映射处理模块,将两路输入与掩码S盒的存储器中相应的存储地址进行一一映射;输出模块,利用线性方程对所述随机数进行线性处理,得到线性变换后的随机数作为掩码S盒的一路输出,所述存储地址为采用线性变换后的随机数对原始S盒的输出进行掩码处理后的结果,作为掩码S盒的另一路输出。该掩码S盒在不牺牲安全性的同时,满足容易实现、低功耗和面积小等需求,进而优化扩展实现了抗高阶DPA加密装置。

Description

掩码S盒、分组密钥计算单元、装置及对应的构造方法
技术领域
本发明涉及通信安全技术领域,尤其涉及一种掩码S盒的构造方法,基于该掩码S盒的构造方法进一步演化出来的分组密钥计算单元的构造方法,以及基于该分组密钥计算单元的构造方法形成的抗n阶DPA分组密钥算法实现方案,同时还涉及到上述方法所对应的产品。
背景技术
目前实用密码学的研究基本沿着两个方向进行:即以RSA为代表的公私钥加密方法,和以DES为代表的秘密密钥的分组加密方法。而分组密钥算法具有速度快,易于标准化和便于软硬件实现等特点,通常是信息与网络安全中实现数据加密、消息鉴别、认证以及密钥管理的核心密码算法,在计算机通信和信息系统安全中有着广泛的应用。常用的分组密钥算法包括DES,AES(Rijndael),国密SMS4,韩国标准ARIA等等。
分组密钥算法一般的设计原则是基于Shannon提出的混乱原则和扩散原则。大部分分组算法通过一个非线性的S盒替换操作满足混乱原则,通过线性操作来满足扩散原则。以AES(Rigndael)算法为例,其加密过程包含多轮次的S盒(替换)运算(SubBytes)、平移运算(ShiftRows)、列混合运算(MixColumns)和轮密钥异或运算(AddRoundKey)。解密过程由多轮次的逆运算和轮密钥异或运算组成,其中逆运算包括S盒逆运算(InvSubBytes)、逆平移运算(InvShiftRows)和逆列混合运算(InvMixColumns)。AES具有密钥建立时间短、灵敏性良好、抗攻击性强等特点,在POS机、智能卡、计算机网络、存储系统中被广泛应用。
边信道分析(Side Channel Attack)是一种通过收集和分析加密系统中泄露的有关物理实现信息而达到削弱攻破(compromise)加密系统的攻击方法;可被收集的信息包括时间信息,功耗信息,电磁辐射信息等等。相较于传统的数学方法密码分析(代数攻击),边信道分析在对分组算法的攻击上更为高效。边信道分析中的差分能量攻击(DifferentialPower Analysis,简称DPA),是对智能卡密码设备最有效的攻击之一。DPA攻击利用密码设备能量消耗对数据的依赖性,其使用大量的能量轨迹来分析固定时刻设备的能量消耗,并将能量消耗视为被处理数据的函数。一阶DPA攻击可以预测出某一个中间值,并且可以在攻击中利用这一个预测值。高阶DPA攻击则利用了某种联合泄露,该联合泄露基于出现在密码设备中的多个中间值。利用与同一个掩码相关的两个中间值的联合泄露,从而达到攻击目的高阶DPA攻击方法,被称为二阶DPA攻击。
对抗能量分析的有效方法是采用掩码对策。任何防御对策的目标都是消除密码设备的能耗与设备所执行操作及所处理数据(中间值)之间的相关性。掩码技术通过随机化密码设备所处理的中间值来达到这一个目的。其核心机理是在数据运算过程中,为其加上一个随机数掩码(在数字电路中,一般把原始操作数和一个同位长随机数异或⊕),然后在运算完成后,再把掩码去除。这样,在运算过程中产生的功耗和掩码后的操作数相关,而和原始操作数并无统计相关性。
掩码防护在数字电路中非常易于实现,并且在线性操作中,可以通过简单的异或添加或者消除掩码,并使得施加掩码和未施加掩码的线性操作结果一致。在分组算法中,掩码防护广泛用于线性操作步骤如线性平移(ShiftRows)、列混合(MixColumns)和轮密钥异或(AddRoundKey)中。而对于非线性操作S盒替换,需要采取和线性操作不同的实现方法,来实现带有掩码的S盒替换操作。
现有S盒一般采用查找表或者有限域计算的方式实现。采取查找表实现的S盒可采取以下方式完成掩码:保持S盒输入输出映射关系不变,将S盒输出值异或上一个固定随机值,达到输出掩码的目的;或者使输入偏移固定地址,使输出异或上固定随机数。此类掩码S盒实现方法相对简单,但其安全性较差,攻击者可以通过异或两次采样的S盒操作结果,消除输出掩码(两次S盒操作结果的输出掩码一样)。
采取有限域计算方式实现的S盒,其内部包含一系列加法和乘法运算;因此掩码型S盒需要满足对加法和乘法的掩码。然而,采取有限域运算的掩码S盒,其关键路径长度和实现面积会急剧增长,《A Masked AES ASIC Implementation》一文指出,与相应的原始S盒实现相比,复合域算术掩码S盒实现面积会增大2到3倍,且速度会减少1/3到1/2。此外,最为关键的一点,复合域算术掩码S盒对中间值为0的情况无效,这是由掩码乘法的主要缺点(对0值无效)决定的。而这一缺点,在针对此类S盒的(一阶)DPA攻击中有广泛应用。
文献《Thwarting Higher-Order Side Channel Analysis with Additive andMultiplicative Masking》提出了一种利用安全迪拉克方程(Secure Dirac Function)的方式,实现了可抗高阶DPA攻击的加法和乘法之间转换,并将之用以此类掩码S盒的实现。文中提供的加法和乘法之间的安全转换,需要通过以下步骤完成:含0元素复合域GF(2n)m元素到不含0元素复合域(GF(2n)*)m的映射,模加到模乘操作的转换,power函数操作,模乘到模加操作的转换,不含0元素复合域(GF(2n)*)m到含0元素复合域GF(2n)m元素的映射等操作。这种方法对于任意高阶DPA的抗性是安全可证的,然而随着需求抵抗的DPA阶数的增长,实现该方法的电路复杂度、面积开销、关键路径、功耗等会急剧上升,其实现的困难度也会急剧增大。
发明内容
本发明为了解决现有技术中存在的问题,提出了一种掩码S盒,该掩码S盒满足下述类线性方程:S'[X',R] = S'[X⊕R,R] = S(X)⊕fr(R)。具体包括输入模块,接收随机数和已被随机数进行掩码处理的输入数据作为掩码S盒的两路输入;地址映射处理模块,将两路输入按照地址映射函数fa(X',R)与掩码S盒的存储器中相应的存储地址进行一一映射;输出模块,利用线性方程fr(R)对所述随机数进行线性处理,得到线性变换后的随机数作为掩码S盒的一路输出,经过fa(X',R)指向的存储器地址,其存储内容为经fr(R)线性处理后的随机数和原始S盒进行查表操作输出的输出数据进行异或后的结果,该输出数据作为掩码S盒的另一路输出。
还提出了该掩码S盒的构造方法,包括如下步骤:
将随机数以及使用所述随机数对原始输入数据进行掩码处理得到的输入数据作为掩码S盒的输入;
将所述随机数和输入数据通过地址映射函数得到对应的S盒的存储器的地址,所述地址映射函数满足一一映射条件,所述存储器的地址内存储的内容为采用线性变换后的随机数对原始输出数据进行掩码处理得到的输出数据;
所述掩码S盒进行查表操作以后,将输出所述输出数据以及线性变换后的随机数。
本发明的掩码S盒构造方法可以用于含有查找表(Lookup Table)型S盒的分组密钥算法。在分组密码S盒替换步骤中,每次都可以引入新的随机数掩码值,增加了S盒替换步骤功耗随机性,加大了对S盒替换步骤实施DPA攻击的难度。掩码S盒使其内部查找表的地址通过随机数防护,输入和输出数据都施加掩码,整个S盒操作过程不会暴露未加掩码防护的操作数,并且在不牺牲安全性的同时,满足容易实现、低功耗和面积小等需求,以便于优化扩展为抗高阶DPA的掩码S盒。
本发明还提出了一种基于上述掩码S盒构造的分组密钥计算单元,包括以下几个子模块:随机数发生器、密钥处理模块、消息输入选择器、输入处理模块、掩码S盒、掩码值轮线性逻辑模块、数据轮线性逻辑模块以及掩码去除模块。
随机数发生器用于产生每次运算所需的随机数,且所述随机数作为掩码S盒的一路输入;密钥处理模块在起始轮利用当前轮的随机数对原始密钥进行掩码处理,生成掩码密钥,迭代轮将上一轮迭代运算输出的掩码值以及当前轮的随机数对原始密钥进行掩码处理,生成掩码密钥;消息输入选择器在起始轮选择原始输入数据并输出,迭代轮选择上一轮迭代运算输出的输出数据作为输入数据并输出;输入处理模块将消息输入选择器输出的数据通过掩码密钥进行数据密钥异或操作(如AES中的AddRoundKey)后,作为掩码S盒的另一路输入;掩码S盒接收两路输入并执行S盒查找过程,输出线性变换后的随机数和输出数据;掩码值轮线性逻辑模块利用掩码值轮线性函数对掩码S盒输出的线性变换的随机数进行处理,在未完成迭代运算时,供下一次迭代运算使用;数据轮线性逻辑模块利用数据轮线性函数对掩码S盒的输出数据进行处理,在未完成迭代运算时,作为下一次迭代运算的输入数据;掩码去除模块是一个可选择模块,当使用单个的分组密钥计算单元实现分组密钥运算时,需要该掩码去除模块,该掩码去除模块将掩码值轮线性逻辑模块和数据轮线性逻辑模块输出的结果进行异或以后,去除掩码得到最终的运算结果。当分组密钥计算单元只是抗高阶边信道攻击的对称密钥装置的一个计算分支,实现抗n阶DPA的分组密钥算法时,则不需要改掩码去除模块,单个分组密钥计算单元的数据轮线性逻辑模块输出的结果作为该分组密钥计算单元的最终输出结果,然后抗n阶DPA的分组密钥算法(抗高阶边信道攻击的对称密钥实现方法)将在最后将多个分组密钥计算单元的结果进行异或,得到抗n阶DPA的分组密钥算法的计算结果。
同时还基于上述掩码S盒的构造方法构造分组密钥计算单元的方法,包括如下步骤:
第0轮运算步骤,利用随机数发生器产生本轮所需要的随机数;利用消息输入选择器选择原始输入数据作为本轮原始输入数据;
利用所述随机数对本轮原始密钥进行掩码处理后,得到本轮密钥;利用本轮密钥对本轮原始输入数据进行AddRoundKey操作后,得到本轮掩码S盒的输入数据;向掩码S盒中输出所述随机数以及输入数据,进行掩码S盒的查找操作,得到掩码S盒的两路输出;将所述掩码S盒输出的线性变换后的随机数和输出数据分别输入至掩码值轮线性函数和数据轮线性函数,得到的两路输出参与下一轮迭代运算;
迭代运算步骤,利用随机数发生器产生本轮所需要的随机数;所述消息输入选择器选择上一轮运算中数据轮线性函数的输出结果作为本轮原始输入数据;
利用上一轮运算中掩码值轮线性函数的输出结果以及本轮随机数对本轮原始密钥进行掩码处理后,产生掩码后的本轮密钥;利用本轮密钥对本轮原始输入数据进行AddRoundKey操作后,得到本轮掩码S盒的输入数据;向掩码S盒中输出所述随机数以及输入数据,进行掩码S盒的查找操作,得到掩码S盒的两路输出; 将所述掩码S盒输出的线性变换后的随机数和输出数据分别输入至掩码值轮线性函数和数据轮线性函数,得到的两路输出参与下一轮迭代运算;重复上述迭代运算步骤,直至迭代完成。将最终轮迭代运算中数据轮线性函数输出的结果直接输出,或者将最终轮迭代运算中数据轮线性函数输出的结果和掩码值轮线性函数输出的结果进行异或作为分组密钥算法最终计算结果。
在计算单元优选实现方案中,掩码后的中间计算结果和当前对应的掩码值在存储和轮线性运算中是互相独立的;当所有运算结束时,通过异或掩码后计算结果和当前掩码值能够得到分组密钥算法的最终运算结果。另外,通过选择对掩码后中间结果和当前掩码值执行并行的线性运算或者分时复用的线性运算,可以达到不同的功耗和安全性需求。选择并行执行线性运算操作时,在提高运算速度的同时,可以增加对功耗曲线实施DPA攻击的困难度;选择分时复用的线性运算时,可以减少面积开销,降低功耗。
本发明还提出了基于上述分组密钥计算单元构造的抗高阶边信道攻击的对称密钥装置,包括掩码值模块,包含n+1个随机数构成的掩码值集合R0, R1,…,Rn,且各掩码子份满足如下条件:R0⊕R1⊕…⊕Rn = 0,n为大于等于0的自然数;消息模块,将消息X划分为相同份数的消息子份形成消息集合X0,X1,…,Xn;n+1个分组密钥计算单元,接收各所述n+1个掩码子份分别作为n+1个分组密钥计算单元的输入随机数;接收所述n+1个消息子份分别作为所述n+1个分组密钥计算单元的第0轮运算的原始输入数据;异或输出模块,将n+1个分组密钥计算单元的输出进行异或,得到消息X的分组密钥运算结果。
还提出了基于上述构造分组密钥计算单元的方法构造抗高阶边信道攻击的对称密钥实现方法,包括如下步骤:
取n+1个随机数构成掩码值集合R0, R1,…,Rn,各掩码子份满足如下条件:R0⊕R1⊕…⊕Rn= 0,n为大于等于0的自然数;将消息X划分为相同份数的消息子份形成消息集合X0,X1,…,Xn;将轮密钥RK划分为相同份数的轮密钥子份形成轮密钥集合RK0,RK1,…RKn;将上述n+1个掩码子份分别作为n+1个分组密钥计算单元的输入随机数;将上述n+1个消息子份分别作为所述n+1个分组密钥计算单元的第0轮运算的原始输入数据;将上述n+1个轮密钥子份分别作为所述n+1个分组密钥计算单元的第0轮原始轮密钥;各分组密钥计算单元分别进行迭代运算,直至迭代运算完成;将各分组密钥计算单元的输出结果进行异或运算,得到最终结果。
在抗高阶边信道攻击的对称密钥实现方法优选实现方案中,有两种具体实现方案可供选择:第一种方案为例化n+1份计算单元并行计算,每份计算单元完成消息X一个子份和一个随机数掩码序列的计算;第二种方案为对同一份计算单元进行分时复用,每次完成消息X一个子份和一个随机数掩码序列的计算,共进行n+1次。采用前者可以提升运算速度并且增加对功耗曲线实施n阶DPA攻击的困难度;采用后者可以减少面积开销,降低功耗。
基于复合域计算和安全迪拉克函数的抗n阶DPA分组密钥算法实现方案随着需求的安全性上升(n值增大),其设计的复杂度会急剧提升,电路功耗、面积、关键路径等参数也会急剧上升,而且其电路的可重复利用度不高。而本发明中提供的抗n阶DPA分组密钥算法实现方案具有电路可重复利用度高,易于根据面积、功耗、安全性等需求修改设计,面积、功耗开销小等优点。
附图说明
图1为本发明掩码S盒的构造示意图。
图2为本发明分组密钥计算单元的构造示意图。
图3是本发明抗n阶DPA分组密钥算法装置的结构示意图。
具体实施方式
下面结合附图对本发明的原理及方法进行详细说明。
图1示出的是本发明的掩码S盒MSBox构造示意图。
掩码S盒具有输入模块、输出模块以及地址映射处理模块。
输入模块接收两路输入,分别为随机数R和输入数据X⊕R,随机数R是原始输入数据的掩码值,和原始输入数据以及输入数据X⊕R等位宽,而输入数据X⊕R是已经通过异或运算将原始输入数据X进行掩码后形成的输入数据。
地址映射处理模块包含有一个地址映射方程fa,完成掩码后的输入数据和掩码值组合到存储器MEM的地址映射,即A=fa(X⊕R,R)。映射方程fa的输入是作为掩码值的随机数R和掩码后的输入数据X⊕R,输出是存储器MEM的地址A。映射方程fa可以是线性或者非线性的,(例如循环左移或者循环右移1~15之间整数位),但必须满足输入和输出一一映射。存储器MEM可采用ROM构造MEM,存储器地址A位置存储的内容是S(X)⊕fr(R),输入为地址映射方程fa的结果A,输出为掩码后的原始S盒查找结果。即掩码S盒的输入先通过地址映射函数fa(X',R)得到地址A,然后从掩码S盒存储器地址A中读取出存储内容S(X)⊕fr(R)作为掩码S盒的一路输出。
输出模块具有一个线性方程fr,输出模块利用线性方程fr对随机数R进行线性处理,得到的线性变换后的随机数(也叫输出掩码fr(R))作为掩码S盒的另一路输出,线性方程fr可以由循环左移、循环右移和异或等线性操作构成。输出掩码fr(R)是输入掩码(随机数R)的线性组合,通过线性方程fr可以由随机数R计算出输出掩码fr(R)。
最终本发明的掩码S盒的输入输出满足条件S'[X',R] = S'[X⊕R,R] = S(X)⊕fr(R),其中X为原始S盒的输入,X'为输入数据X⊕R,S(X)为原始S盒的输出。同时,掩码S盒还会输出随机数R的线性变换结果(输出掩码fr(R))。
地址映射方程fa和线性方程fr决定了掩码S盒的地址与内容之间映射方式和输出掩码,一旦这两个方程确定,则生成的掩码S盒固定。当这两个方程中的任意一个发生改变时,需要重新对掩码S盒进行初始化。
掩码防护在分组算法实现中,很容易在线性操作中实现,如列混合运算、平移运算和轮密钥异或运算中;而在非线性操作S盒查找上较难实现。现本发明提供了一种新的掩码S盒的构造方法,使S盒非线性操作转化为一种类线性操作,保证了输入和输出S盒的数据都为掩码后数据,并且保证S盒内部的查找表的地址被加扰、数据被掩码,增加了S盒的安全性。
分组密钥算法一般由S盒非线性操作和若干线性操作以循环迭代的方式组成。在循环轮中,上一轮的输出操作数,是下一轮运算的输入操作数,轮密钥扩展独立运算。为了方便叙述如何使用掩码S盒进行分组加密运算,并跟随计算中间结果的掩码值,将分组加密运算分解成三个大部分:第一部分是第0轮操作数和轮密钥运算;第二部分是多轮迭代运算,包括S盒查找和若干线性运算(部分分组密钥算法的最后一轮迭代和其他轮略有不同,此处为了简化叙述,将最后一轮迭代归入多轮迭代中);第三部分是去除掩码和最终结果输出。除了第三部分去除掩码外,要求第一和第二部分运算全部是在施加掩码的情况下进行。
设计一个典型的基于掩码方式的安全保护方案,其关键在于如何进行中间值的掩码操作,如何跟随计算中间值的掩码值,如何添加、消除和改变(引入新掩码值)掩码。在本发明中,初始掩码值由随机数发生器生成,是分组加密运算第一部分时(如AES中第0轮AddRoundKey),添加在原始数据上的。在第二部分运算中,中间结果的掩码值需要跟随中间结果进行运算,并在每一轮新的随机数和轮密钥异或后(引入本轮随机数掩码),和AddRoundKey运算结果异或,去除旧掩码(上一轮掩码)。在第二部分运算中的线性运算时,掩码后的中间结果和当前掩码值都要进行线性运算。
图2是利用上述掩码S盒构造而成的分组密钥计算单元的示意图,分组密钥计算单元包括随机数发生器、密钥处理模块、消息输入选择器、输入处理模块、掩码S盒、掩码值轮线性逻辑模块以及数据轮线性逻辑模块。随机数发生器用于产生随机数Ri(0≤i<迭代次数),从第0轮迭代运算开始到迭代运算结束,每一次都会产生一个新的随机数作为初始掩码值,且每次所产生的随机数都将作为本次掩码S盒的一路输入。
密钥处理模块,起始轮利用当前轮的随机数对原始密钥进行掩码处理,生成掩码密钥,迭代轮除了采用当前轮的随机数对原始密钥进行掩码处理得到RKi⊕Ri以外,还会再加入上一轮迭代运算输出的掩码值R'i-1进行掩码处理,生成掩码密钥RKi⊕Ri⊕R'i-1
消息输入选择器,起始轮选择原始输入数据X并输出,原始输入数据X也就是原始S盒的输入,明文未掩码处理,为了防止DPA攻击,明文数据和明文密钥不能直接碰撞;迭代轮选择上一轮迭代运算输出的输出数据X'i-1⊕R'i-1(已掩码中间数据)作为输入数据Xi并输出。
输入处理模块,将消息输入选择器输出的数据通过掩码密钥进行AddRoundKey操作后,作为掩码S盒的另一路输入。
掩码S盒,接收两路输入并执行S盒查找过程,输出线性处理后的随机数和输出数据。
掩码值轮线性逻辑模块,利用掩码值轮线性函数对掩码S盒输出的线性变换后的随机数进行处理,在未完成迭代运算时,供下一次迭代运算使用。
数据轮线性逻辑模块,利用数据轮线性函数对掩码S盒的输出数据进行处理,在未完成迭代运算时,作为下一次迭代运算的输入数据;在完成迭代运算后,作为最终结果输出。
掩码去除模块是一个可选择模块,当使用单个的分组密钥计算单元实现分组密钥运算时,需要该掩码去除模块,该掩码去除模块将掩码值轮线性逻辑模块和数据轮线性逻辑模块输出的结果进行异或,去除掩码得到最终的运算结果。当分组密钥计算单元只是抗高阶边信道攻击的对称密钥装置的一个计算分支,实现抗n阶DPA的分组密钥算法时,则不需要该掩码去除模块,单个分组密钥计算单元的数据轮线性逻辑模块输出的结果作为该分组密钥计算单元的最终输出结果,然后抗n阶DPA的分组密钥算法将在最后将多个分组密钥计算单元的结果进行异或,得到抗n阶DPA的分组密钥算法的计算结果。
具体的构造方法包括第0轮运算步骤和迭代轮运算步骤。
第0轮运算步骤时,利用随机数发生器产生本轮所需要的随机数Ri,利用消息输入选择器选择原始输入数据Xi作为本轮原始输入数据,利用随机数Ri对本轮原始密钥Rki进行掩码处理后,得到本轮密钥RKi⊕Ri,利用本轮密钥对本轮原始输入数据Xi进行AddRoundKey操作后,得到本轮掩码S盒的输入数据Xi⊕RKi⊕Ri,向掩码S盒中输出随机数Ri以及输入数据Xi⊕RKi⊕Ri,进行掩码S盒的查找操作,得到掩码S盒的两路输出。
将掩码S盒输出的线性处理后的随机数和输出数据分别输入至掩码值轮线性函数和数据轮线性函数,得到的两路输出参与下一轮迭代运算,在下一轮迭代运算中,这两路输出的标号变为了R'i-1以及中间数据X'i-1
迭代运算步骤时,利用随机数发生器产生本轮所需要的随机数,消息输入选择器选择上一轮运算中数据轮线性函数的输出结果X'i-1⊕R'i-1作为本轮原始输入数据Xi,利用上一轮运算中掩码值轮线性函数的输出结果R'i-1以及随机数Ri对本轮原始密钥进行掩码处理后,产生掩码后的本轮密钥,利用本轮密钥对本轮原始输入数据进行AddeRoundKey处理,得到本轮掩码S盒的输入数据,上一轮输出掩码值R'i-1与原始密钥以及随机数异或后可在AddRoundKey步骤时将上一轮掩码值去掉,只保留本轮掩码值Ri。向掩码S盒中输出随机数以及输入数据,进行掩码S盒的查找操作,得到掩码S盒的两路输出; 将掩码S盒输出的线性变换后的随机数和输出数据分别输入至掩码值轮线性函数和数据轮线性函数,得到的两路输出参与下一轮迭代运算;
重复上述迭代运算步骤,直至迭代完成;迭代运算完成后,掩码后的中间数据的最终输出结果Y与最后一轮掩码值轮线性逻辑模块的输出进行异或,可以得到除去掩码后的分组密钥算法最终结果。
图3是由多个分组密钥计算单元构成的抗高阶边信道攻击的对称密钥装置,该装置包括掩码值模块、消息模块、轮密钥模块、分组密钥计算单元以及异或输出模块,异或输出模块只有一个,掩码值模块、消息模块、轮密钥模块、分组密钥计算单元具有n+1个,n为大于等于0的自然数。图3中的每一个分组密钥计算单元与图2中的单元结构完全相同,为了便于显示,图3中将其结构进行了简化处理。
掩码值模块包含n+1个随机数构成的掩码值集合R0, R1,…,Rn,且各掩码子份满足如下条件:R0⊕R1⊕…⊕Rn= 0。
消息模块将消息X划分为相同份数的消息子份,形成消息集合X0,X1,…,Xn,满足如下条件:X0⊕X1⊕…⊕Xn= X。
轮密钥模块将轮密钥RK划分为相同份数的轮密钥子份,形成轮密钥集合RK0,RK1,…,RKn,满足如下条件:RK0⊕RK1⊕…⊕RKn= RK。
各分组密钥计算单元分别接收各掩码子份分别作为其输入的随机数,分别接收消息子份作为第0轮运算的原始输入数据,分别接收轮密钥子份作为第0轮运算的原始轮密钥。
异或输出模块将n+1个分组密钥计算单元的输出进行异或,得到消息X的分组密钥运算结果。
其具体的抗高阶边信道攻击的对称密钥实现方法包括如下步骤:
取n+1个随机数构成掩码值集合R0, R1,…,Rn,各掩码子份满足如下条件:R0⊕R1⊕…⊕Rn = 0,n为大于等于0的自然数;
将消息X划分为相同份数的消息子份形成消息集合X0,X1…,Xn;消息X是原始S盒的明文输入数据;
将密钥RK划分为相同份数的轮密钥子份形成密钥集合RK0,RK1,…,RKn;密钥RK是原始密钥;
将上述n+1个掩码子份分别作为n+1个分组密钥计算单元的输入随机数;
将上述n+1个消息子份分别作为n+1个分组密钥计算单元的第0轮运算的原始输入数据;
将上述n+1个轮密钥子份作为n+1个分组密钥计算单元的原始密钥。
需要强调的是:在分组密钥计算单元的第0轮迭代运算中,是先用随机数集合(R0,R1,…,Rn)将明文轮密钥子份(RK0,RK1,…,RKn)掩码成为n+1个掩码密钥(RK0', RK1',…,RKn');原始S盒的输入X分别与这n+1个掩码密钥 (RK0', RK1',…,RKn')异或得到n+1个子份(X0',X1',…,Xn'),完成第0轮的AddRoundKey操作;其中n+1份掩码子份满足如下条件:X0'⊕X1'⊕…⊕Xn'= X⊕RK。
n+1个随机数和n+1个掩码子份组合形成n+1个分支操作数(X0',R0),(X1',R1),…,(Xn',Rn);每个分支操作数利用掩码S盒进行独立的对称算法运算,得到n+1个分支结果集合(Y0, Y1,…,Yn);n+1个随机数线性变换结果也分别进行S盒之后的线性运算得到n+1个结果,得到轮输出掩码集合(R0',R1',…,Rn')。
n+1个分支结果集合(Y0, Y1,…,Yn)迭代进入下一轮的运算中。下一轮运算的n+1个随机数需要迭代入其前一轮的轮输出掩码集合(R0',R1',…,Rn')。引入新的掩码集合后,计算单元内部通过异或的方式去除上一轮的轮输出掩码集合。
如果是最后一轮,则n+1个分支结果Y0,Y1,…,Yn异或在一起可以得到最终结果。
n+1路分支运算的实现可以是并行的,共用同一份分组密钥算法单元;也可以是并行的,例化n+1份分组密钥算法单元。采用前者可以节约电路面积,降低功耗。攻击者即便分析出了该支路的信息,因其仅为原始消息X的某一个子分量,攻击者仍然无法获取消息X。如果采用并行实现方式,运算速度会大幅提升,并且因为(n+1)路运算在同时进行,攻击者将很难分析出消息子分量。
最后需要指出的本发明所指的进行掩码处理指的是将需要进行掩码处理的数据与掩码值进行异或处理。
以上具体实施例仅用以举例说明本发明的结构,本领域的普通技术人员在本发明的构思下可以做出多种变形和变化,这些变形和变化均包括在本发明的保护范围之内。

Claims (9)

1.一种掩码S盒的构造方法,其特征在于,包括如下步骤:
将随机数以及使用所述随机数对原始输入数据进行掩码处理得到的输入数据作为掩码S盒的输入;
将所述随机数和输入数据通过地址映射函数得到对应的S盒的存储器的地址,所述地址映射函数满足一一映射条件,所述存储器的地址内存储的内容为采用线性变换后的随机数对原始输出数据进行掩码处理得到的输出数据;
所述掩码S盒进行查表操作以后,将输出所述输出数据以及线性变换后的随机数。
2.基于权利要求1所述的构造方法构造分组密钥计算单元的方法,包括如下步骤:
第0轮运算步骤:
利用随机数发生器产生本轮所需要的随机数;
利用消息输入选择器选择原始输入数据作为本轮原始输入数据;
利用所述随机数对本轮原始密钥进行掩码处理后,得到本轮密钥;
利用本轮密钥对本轮原始输入数据进行轮密钥异或处理后,得到本轮掩码S盒的输入数据;
向掩码S盒中输出所述随机数以及输入数据,进行掩码S盒的查找操作,得到掩码S盒的两路输出;
将所述掩码S盒输出的线性变换后的随机数和输出数据分别输入至掩码值轮线性函数和数据轮线性函数,得到的两路输出参与下一轮迭代运算;
迭代运算步骤:
利用随机数发生器产生本轮所需要的随机数;
所述消息输入选择器选择上一轮运算中数据轮线性函数的输出结果作为本轮原始输入数据;
利用上一轮运算中掩码值轮线性函数的输出结果以及所述随机数对本轮原始密钥进行掩码处理后,产生掩码后的本轮密钥;
利用本轮密钥对本轮原始输入数据进行轮密钥异或处理后,得到本轮掩码S盒的输入数据;
向掩码S盒中输出所述随机数以及输入数据,进行掩码S盒的查找操作,得到掩码S盒的两路输出;
将所述掩码S盒输出的线性变换后的随机数和输出数据分别输入至掩码值轮线性函数和数据轮线性函数,得到的两路输出参与下一轮迭代运算;
重复上述迭代运算步骤,直至迭代完成。
3.如权利要求2所述的构造分组密钥计算单元的方法,其特征在于,迭代完成后,将最终轮迭代运算中数据轮线性函数输出的结果与掩码值轮线性函数的输出结果异或后得到分组密钥算法最终计算结果。
4.基于权利要求2或3所述的方法构造抗高阶边信道攻击的对称密钥实现方法,包括如下步骤:
取n+1个随机数构成掩码值集合R0, R1,…,Rn,各掩码子份满足如下条件:R0⊕R1⊕…⊕Rn= 0,n为大于等于0的自然数;
将消息X划分为相同份数的消息子份形成消息集合X0,X1,…,Xn,各消息子份满足如下条件:X0⊕X1⊕…⊕Xn =X;
将轮密钥RK划分为相同份数的轮密钥子份,形成轮密钥集合RK0,RK1,…,RKn,各轮密钥子份满足条件:RK0⊕RK1⊕…⊕RKn= RK;
将上述n+1个掩码子份分别作为n+1个分组密钥计算单元的输入随机数;
将上述n+1个消息子份分别作为所述n+1个分组密钥计算单元的第0轮运算的原始输入数据;
将上述n+1个轮密钥子份作为所述n+1个分组密钥计算单元的原始密钥;
各分组密钥计算单元分别进行迭代运算,直至迭代运算完成;
将各分组密钥计算单元的输出结果进行异或运算,得到最终结果。
5.一种掩码S盒,其特征在于,包括:
输入模块,接收随机数和已被随机数进行掩码处理的输入数据作为掩码S盒的两路输入;
地址映射处理模块,将两路输入与掩码S盒的存储器中相应的存储地址进行一一映射,所述掩码S盒的存储器中相应的存储地址内存储的内容为线性变换后的随机数对原始S盒的输出数据进行掩码处理后得到的结果;
输出模块,利用线性方程对所述随机数进行线性变换,得到线性变换后的随机数作为掩码S盒的一路输出,将对应的存储地址内存储的内容作为掩码S盒的另一路输出。
6.如权利要求5所述的掩码S盒,其特征在于,所述线性方程由循环左移、循环右移、异或当中的至少一种线性操作构成。
7.一种采用如权利要求5所述的掩码S盒构造的分组密钥计算单元,包括:
随机数发生器,用于产生每次运算所需的随机数,且所述随机数作为掩码S盒的一路输入;
轮密钥处理模块,起始轮将当前轮的随机数对原始密钥进行掩码处理,生成掩码密钥,迭代轮将上一轮迭代运算输出的掩码值以及当前轮的随机数对原始密钥进行掩码处理,生成掩码密钥;
消息输入选择器,起始轮选择原始输入数据并输出;迭代轮选择上一轮迭代运算输出的输出数据作为输入数据并输出;
输入处理模块,将消息输入选择器输出的数据通过掩码密钥进行轮密钥异或后,作为掩码S盒的另一路输入;
掩码S盒,接收两路输入并执行S盒查找过程,输出经过线性变换后的随机数和输出数据;
掩码值轮线性逻辑模块,利用掩码值轮线性函数对掩码S盒输出的线性变换后的随机数进行处理,在未完成迭代运算时,供下一次迭代运算使用;
数据轮线性逻辑模块,利用数据轮线性函数对掩码S盒的输出数据进行处理,在未完成迭代运算时,作为下一次迭代运算的输入数据,在完成迭代运算后,直接作为分组密钥计算单元的输出数据输出。
8.如权利要求7所述的分组密钥计算单元,其特征在于,掩码去除模块,用于在完成迭代运算后,将所述分组密钥计算单元的输出数据与掩码值轮线性逻辑模块输出的线性处理后的随机数异或后,得到去除掩码后的计算结果。
9.采用多个上述权利要求7所述的分组密钥计算单元构造的抗高阶边信道攻击的对称密钥装置,包括:
掩码值模块,包含n+1个随机数构成的掩码值集合R0, R1,…,Rn,且各掩码子份满足如下条件:R0⊕R1⊕…⊕Rn = 0,n为大于等于0的自然数;
消息模块,将消息X划分为相同份数的消息子份形成消息集合X0,X1,…,Xn,各消息子份满足如下条件:X0⊕X1⊕…⊕Xn =X;
轮密钥模块,将轮密钥RK划分为相同份数的轮密钥子份,形成轮密钥集合RK0,RK1,…,RKn,各轮密钥子份满足条件:RK0⊕RK1⊕…⊕RKn= RK;
n+1个分组密钥计算单元,接收各所述n+1个掩码子份分别作为n+1个分组密钥计算单元的输入随机数;接收所述n+1个消息子份分别作为所述n+1个分组密钥计算单元的第0轮运算的原始输入数据;接收所述n+1个轮密钥子份作为所述n+1个分组密钥计算单元的原始密钥;
异或输出模块,将n+1个分组密钥计算单元的输出进行异或,得到消息X的分组密钥运算结果。
CN201611198866.3A 2016-12-22 2016-12-22 掩码s盒、分组密钥计算单元、装置及对应的构造方法 Active CN106788974B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201611198866.3A CN106788974B (zh) 2016-12-22 2016-12-22 掩码s盒、分组密钥计算单元、装置及对应的构造方法
PCT/CN2016/112940 WO2018113014A1 (zh) 2016-12-22 2016-12-29 掩码s盒、分组密钥计算单元、装置及对应的构造方法
US15/838,979 US10567162B2 (en) 2016-12-22 2017-12-12 Mask S-box, block ciphers algorithm device and corresponding construction process

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611198866.3A CN106788974B (zh) 2016-12-22 2016-12-22 掩码s盒、分组密钥计算单元、装置及对应的构造方法

Publications (2)

Publication Number Publication Date
CN106788974A CN106788974A (zh) 2017-05-31
CN106788974B true CN106788974B (zh) 2020-04-28

Family

ID=58899556

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611198866.3A Active CN106788974B (zh) 2016-12-22 2016-12-22 掩码s盒、分组密钥计算单元、装置及对应的构造方法

Country Status (3)

Country Link
US (1) US10567162B2 (zh)
CN (1) CN106788974B (zh)
WO (1) WO2018113014A1 (zh)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106209347B (zh) * 2016-07-22 2019-03-19 武汉大学 一种复杂度可变的任意阶掩码防护方法
CN107294700B (zh) * 2017-08-22 2019-11-08 兆讯恒达微电子技术(北京)有限公司 防御旁路攻击的与逻辑电路装置及处理方法
KR102411884B1 (ko) * 2017-09-28 2022-06-22 삼성전자주식회사 전자 장치 및 그의 제어 방법
US10902142B2 (en) * 2017-10-09 2021-01-26 Ceruleant Systems, Llc Methods and systems for encrypting data using object-based screens
CN107800530B (zh) * 2017-11-28 2020-09-18 聚辰半导体股份有限公司 一种sms4的s盒掩码方法
CN108173642A (zh) * 2018-03-21 2018-06-15 电子科技大学 一种抗高阶差分功耗攻击的aes硬件实现方法
DE102018107114A1 (de) * 2018-03-26 2019-09-26 Infineon Technologies Ag Seitenkanalgehärtete Operation
EP3557813A1 (en) * 2018-04-17 2019-10-23 Gemalto Sa Method secured against side-channel attacks performing an arithmetic operation of a cryptographic algorithm mixing boolean and arithmetic operations
CN108777611B (zh) * 2018-05-11 2021-06-18 吉林大学 基于双密钥流密码的双向链表顺序加密解密方法
CN108718230B (zh) * 2018-06-01 2021-08-03 桂林电子科技大学 密码s盒无随机数门限实现新方法
CN109412784A (zh) * 2018-10-17 2019-03-01 哈尔滨工业大学(威海) 一种基于s盒的wsn动态复合混沌加密方法
CN109617668A (zh) * 2018-12-14 2019-04-12 四川长虹电器股份有限公司 一种防止旁路攻击的方法
US11410078B2 (en) * 2019-03-11 2022-08-09 Nxp B.V. Method and data processing system for making machine learning model more resistent to adversarial examples
CN110034918B (zh) * 2019-03-15 2023-10-20 深圳市纽创信安科技开发有限公司 一种sm4加速方法和装置
US20200313850A1 (en) * 2019-03-29 2020-10-01 Irdeto Canada Corporation Method and apparatus for implementing a white-box cipher
CN109936437B (zh) * 2019-04-10 2020-01-31 衡阳师范学院 一种基于d+1阶掩码的抗功耗攻击方法
CN112422272B (zh) * 2019-08-20 2022-10-21 深圳市航顺芯片技术研发有限公司 一种防功耗攻击的aes加密方法及电路
CN110674510B (zh) * 2019-08-20 2023-04-07 安徽继远软件有限公司 一种类sm4密码算法的实现方法
US11507699B2 (en) * 2019-09-27 2022-11-22 Intel Corporation Processor with private pipeline
JP7383985B2 (ja) * 2019-10-30 2023-11-21 富士電機株式会社 情報処理装置、情報処理方法及びプログラム
US11615025B2 (en) * 2020-02-10 2023-03-28 SK Hynix Inc. Encoding and decoding device for system data of storage device
CN111339577B (zh) * 2020-02-12 2022-06-07 南京师范大学 一种具有优良dpa抗性s盒的构造方法
US11632231B2 (en) * 2020-03-05 2023-04-18 Novatek Microelectronics Corp. Substitute box, substitute method and apparatus thereof
JP7314108B2 (ja) * 2020-08-27 2023-07-25 株式会社東芝 暗号処理装置、暗号処理方法およびプログラム
CN112054887B (zh) * 2020-08-31 2024-02-20 深圳技术大学 一种功耗碰撞攻击方法及装置
CN112422360A (zh) * 2020-10-14 2021-02-26 锐捷网络股份有限公司 一种报文采样方法、装置、设备及介质
CN112532375B (zh) * 2020-11-17 2022-12-02 华东师范大学 一种基于大状态s盒的自动化搜索差分路径的方法及应用
CN112543094B (zh) * 2020-12-07 2022-09-27 山东华翼微电子技术股份有限公司 一种基于多随机数的des掩码抗侧信道攻击实现方法
CN112765616B (zh) * 2020-12-18 2024-02-02 百度在线网络技术(北京)有限公司 多方安全计算方法、装置、电子设备和存储介质
CN113014377B (zh) * 2021-02-01 2022-07-22 中国科学院软件研究所 一种利用分组密码s盒双射特性的持久故障攻击防护方法和装置
CN112636903A (zh) * 2021-03-11 2021-04-09 北京信安世纪科技股份有限公司 构造方法、加密方法、解密方法、装置、设备及存储介质
CN113328848B (zh) * 2021-05-21 2022-07-15 清华大学 参数化s盒生成方法、装置、设备及存储介质
IT202100016910A1 (it) * 2021-06-28 2022-12-28 St Microelectronics Srl Procedimento per eseguire operazioni di crittografia in un dispositivo di elaborazione, corrispondenti dispositivo di elaborazione e prodotto informatico
CN113343276B (zh) * 2021-07-01 2022-06-14 衡阳师范学院 基于广义二维猫映射的轻量级分组密码算法gcm的加密方法
CN113794549B (zh) * 2021-09-15 2023-07-28 桂林电子科技大学 一种4比特密码s盒自动化门限掩码方法
CN114285545B (zh) * 2021-12-24 2024-05-17 成都三零嘉微电子有限公司 一种基于卷积神经网络的侧信道攻击方法及系统
CN115442031A (zh) * 2022-08-24 2022-12-06 湖南国科微电子股份有限公司 Sm4算法的实现方法与装置
CN116566588B (zh) * 2023-04-25 2023-12-01 广州南网科研技术有限责任公司 一种白盒sm4算法的防护方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8422668B1 (en) * 2006-12-15 2013-04-16 Spansion Llc Table lookup operation on masked data
CN103618595A (zh) * 2013-09-13 2014-03-05 杭州晟元芯片技术有限公司 一种抗功耗分析的密码算法代换电路
CN104158649A (zh) * 2013-05-14 2014-11-19 上海复旦微电子集团股份有限公司 安全性sbox的实现方法及装置
CN104579635A (zh) * 2015-01-27 2015-04-29 聚辰半导体(上海)有限公司 可循环迭代抗侧信道攻击的des系统及实现可重映射sbox方法
CN104639502A (zh) * 2013-11-08 2015-05-20 国家电网公司 一种sm4算法抗能量攻击的掩码方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1281254A4 (en) * 2000-04-20 2003-06-04 Noel D Matchett CRYPTOGRAPHIC SYSTEM FOR DATA ENCRYPTION STANDARD
JP4909018B2 (ja) * 2006-11-16 2012-04-04 富士通株式会社 共通鍵暗号のための暗号化装置
CN102546157B (zh) * 2011-12-14 2014-06-18 北京航空航天大学 一种抵抗能量分析的随机混合加密系统及其实现方法
CN103888247B (zh) * 2014-03-10 2017-09-22 深圳华视微电子有限公司 抵抗差分功耗分析攻击的数据处理系统及其数据处理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8422668B1 (en) * 2006-12-15 2013-04-16 Spansion Llc Table lookup operation on masked data
CN104158649A (zh) * 2013-05-14 2014-11-19 上海复旦微电子集团股份有限公司 安全性sbox的实现方法及装置
CN103618595A (zh) * 2013-09-13 2014-03-05 杭州晟元芯片技术有限公司 一种抗功耗分析的密码算法代换电路
CN104639502A (zh) * 2013-11-08 2015-05-20 国家电网公司 一种sm4算法抗能量攻击的掩码方法及装置
CN104579635A (zh) * 2015-01-27 2015-04-29 聚辰半导体(上海)有限公司 可循环迭代抗侧信道攻击的des系统及实现可重映射sbox方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
抗侧信道攻击的SM4多路径乘法掩码方法;谭锐能;《计算机工程》;20140515;第40卷(第5期);第103-108、114页 *

Also Published As

Publication number Publication date
US20180183576A1 (en) 2018-06-28
WO2018113014A1 (zh) 2018-06-28
US10567162B2 (en) 2020-02-18
CN106788974A (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
CN106788974B (zh) 掩码s盒、分组密钥计算单元、装置及对应的构造方法
US8369516B2 (en) Encryption apparatus having common key encryption function and embedded apparatus
US9143325B2 (en) Masking with shared random bits
US11546135B2 (en) Key sequence generation for cryptographic operations
CN110278072A (zh) 一种16轮sm4-128/128白盒密码实现方法
JP2002366029A (ja) Dpaに対して安全な暗号化
RU2357365C2 (ru) Способ и устройство для выполнения криптографического вычисления
Tunstall Improved``Partial Sums"-based Square Attack on AES
Lavanya et al. Enhancing the security of AES through small scale confusion operations for data communication
KR101601684B1 (ko) 부채널 공격에 대응하는 대칭키 암호 알고리즘 구현 방법
Yang et al. An improved AES encryption algorithm based on chaos theory in wireless communication networks
Lamba Design and analysis of stream cipher for network security
JP6136325B2 (ja) 暗号処理装置、暗号処理方法およびプログラム
CN109936437A (zh) 一种基于d+1阶掩码的抗功耗攻击方法
Chou et al. A high performance, low energy, compact masked 128-bit AES in 22nm CMOS technology
Abdulwahed Chaos-Based Advanced Encryption Standard
RU2738321C1 (ru) Способ криптографического преобразования и устройство для его осуществления
Putra et al. Performance Analysis Of The Combination Of Advanced Encryption Standard Cryptography Algorithms With Luc For Text Security
CN111740818A (zh) 一种数据处理方法、装置、设备及存储介质
Murtaza et al. Fortification of aes with dynamic mix-column transformation
JP5500277B2 (ja) 共通鍵暗号機能を搭載した暗号化装置及び組込装置
Bai et al. Securing SMS4 cipher against differential power analysis and its VLSI implementation
Hattab et al. Developing the Complexity and Security of the Twofish Algorithm Through a New Key Scheduling Design
Murtaza et al. Lightweight, Fast and Secure Data Authentication Algorithm for Satellite Application
Karunakaran et al. FPGA based Fault Analysis for Encrypted Code

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 22A, Guoshi building, 1801 Shahe West Road, high tech Zone, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: GUOWEI GROUP (SHENZHEN) Co.,Ltd.

Address before: 518000 Guangdong city of Shenzhen province Nanshan District high tech Industrial Park South high SSMEC building two floor

Patentee before: SHENZHEN STATE MICRO TECHNOLOGY Co.,Ltd.