CN104579635B - 可循环迭代抗侧信道攻击的des系统及实现可重映射sbox方法 - Google Patents

可循环迭代抗侧信道攻击的des系统及实现可重映射sbox方法 Download PDF

Info

Publication number
CN104579635B
CN104579635B CN201510040323.8A CN201510040323A CN104579635B CN 104579635 B CN104579635 B CN 104579635B CN 201510040323 A CN201510040323 A CN 201510040323A CN 104579635 B CN104579635 B CN 104579635B
Authority
CN
China
Prior art keywords
data
storage unit
mask
layer
arithmetic element
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
CN201510040323.8A
Other languages
English (en)
Other versions
CN104579635A (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.)
Juchen Semiconductor Co., Ltd.
Original Assignee
GIANTEC SEMICONDUCTOR Inc
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 GIANTEC SEMICONDUCTOR Inc filed Critical GIANTEC SEMICONDUCTOR Inc
Priority to CN201510040323.8A priority Critical patent/CN104579635B/zh
Publication of CN104579635A publication Critical patent/CN104579635A/zh
Application granted granted Critical
Publication of CN104579635B publication Critical patent/CN104579635B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了可循环迭代抗侧信道攻击的DES系统及实现可重映射SBOX方法,通过设置第一掩码C、第二掩码Cx以及经处理的Cx’,当进行非线性运算函数运算时,能够将传统SBOX功耗与汉明权重的线性相关性重映射为其他相关性类型,能够从原理上弱化传统侧信道攻击的威胁,提高DES的安全性。同时,本发明简化了进行非线性运算函数运算时的部分异或运算,在设计该DES电路系统中还能够减少电路的面积、降低工作功耗,具有较大的实用性。本发明通过对SBOX的重映射变化,一方面从原理上将了功耗曲线与数据翻转的关系弱化,另一方面通过设计SBOX的相关参数,简化了电路结构,在电路实现上减少信号延迟。

Description

可循环迭代抗侧信道攻击的DES系统及实现可重映射SBOX 方法
技术领域
本发明涉及数据加密的实现方法,具体涉及可循环迭代抗侧信道攻击的DES系统及实现可重映射SBOX方法。
背景技术
数据加密标准(Data Encryption Standard,简称DES)是上世纪70年代由IBM公开的分组加密算法,由于其良好的密码特性,时至今日在各种场合仍有大量应用。然而接近40年前的加密算法在如今不断更新的攻击技术面前,安全性岌岌可危。特别是1998年差分功耗分析(Differential Power Analysis)技术的公布,使得侧信道攻击成为了一个新的突破点。
DES功耗攻击的重点在于SBOX(substitution box,非线性代换盒)计算。基于查找表原理的SBOX是DES运算中唯一的非线性组件,也是寄存器状态变化最为剧烈的部分,因此功耗特性曲线泄漏的秘密也最多。
发明内容
本发明的目的在于提供可循环迭代抗侧信道攻击的DES系统及实现可重映射SBOX方法,通过设置第一掩码C、第二掩码Cx以及经处理的Cx’,当进行非线性运算函数运算时,能够将传统SBOX功耗与汉明权重的线性相关性重映射为其他相关性类型,能够从原理上弱化传统侧信道攻击的威胁,提高DES的安全性。同时,本发明简化了进行非线性运算函数运算时的部分异或运算,在设计该DES电路系统中还能够减少电路的面积、降低工作功耗,具有较大的实用性。本发明通过对SBOX的重映射变化,一方面从原理上将了功耗曲线与数据翻转的关系弱化,另一方面通过设计SBOX的相关参数,简化了电路结构,在电路实现上减少信号延迟。
为了达到上述目的,本发明通过以下技术方案实现:
一种可循环迭代抗侧信道攻击的DES系统,其特点是,该DES系统包含:
运算单元,获取数据块,并对该数据块进行置换运算、非线性运算函数运算;
多层运算存储单元,多层所述运算存储单元依次连接,每层所述运算存储单元与所述运算单元连接;每层所述运算存储单元包含L数据存储器、R数据存储器及K密钥存储器;
数据寄存单元,分别与最后一层所述运算存储单元、所述运算单元连接;所述数据寄存单元包含LN数据存储器、RN数据存储器;
掩码存储单元,与所述运算单元连接。
优选地,
每层所述运算存储单元的L数据存储器、R数据存储器及K密钥存储器分别与所述运算单元连接;每个所述K密钥存储器内存储密钥数据;
每层所述运算存储单元的R数据存储器与下一层所述运算存储单元的L数据存储器连接,该层L数据存储器与下一层所述运算存储单元的R数据存储器连接;
所述数据寄存单元的LN数据存储器分别与最后一层所述运算存储单元的L数据存储器、所述运算单元连接;该数据寄存单元的RN数据存储器分别与最后一层所述运算存储单元的R数据存储器、所述运算单元连接;
优选地,所述掩码存储单元内存储第一掩码C、第二掩码Cx及经处理的第二掩码Cx’。
优选地,
所述运算单元获取原始数据块,将原始数据块通过初始置换分为第一半块数据、第二半块数据,并将第一半块数据、第二半块数据分别存入第一层所述运算存储单元的R数据寄存器、L数据寄存器;
所述运算单元依次调用每层运算存储单元的R数据寄存器内的数据、对应所述K密钥存储器内的密钥数据、所述掩码存储单元内第一掩码C、第二掩码Cx进行非线性运算函数运算,并将运算结果与该层运算存储单元的L数据寄存器的数据进行异或运算;
所述运算单元最后分别获取所述数据寄存单元的LN数据存储器内数据、RN数据寄存器内数据,并通过逆初始置换形成加密数据块。
一种利用可循环迭代抗侧信道攻击的DES系统实现可重映射SBOX的方法,其特点是,当所述运算单元对每层所述运算存储单元的R数据寄存器内的数据进行非线性运算函数运算时,采用可重映射SBOX的方法,该方法包含如下步骤:
S1,所述运算单元将当前层运算存储单元的R数据寄存器内的数据进行扩展置换;
S2,该运算单元将所述步骤S1中扩展置换后的数据与所述掩码存储单元内的第一掩码C进行异或运算,并将该结果与当前层运算存储单元的K密钥存储器的密钥数据进行异或运算,将该运算结果进行SBOX处理,形成多个SBOX数据块;
S3,所述运算单元将所有所述SBOX数据块与所述第二掩码Cx进行异或运算,并将该运算结果与L数据存储器存储的数据进行异或运算处理;
S4,所述运算单元将所述步骤S3的运算处理结果发送至与L数据存储器连接的下一层运算存储单元的R数据寄存器内。
优选地,所述步骤S3包含如下步骤:
S3.1,所述运算单元将每个所述SBOX数据块与所述第二掩码Cx的异或运算结果进行P置换;
S3.2,所述运算单元将进行P置换的运算结果与所述L数据存储器存储的数据进行异或运算处理。
优选地,该方法还包含步骤S5:
当所述运算单元运算至最后一层运算存储单元时,所述运算单元将最后一层运算存储单元的R数据寄存器内数据发送至数据寄存单元的RN数据寄存器内;
该运算单元同时将进行P置换的运算结果发送至数据寄存单元的LN数据寄存器内。
优选地,每层所述运算存储单元的掩码存储单元内的第一掩码C、第二掩码Cx及SBOX的具体运算关系如下:
newSBOXn[i]=(SBOXn[i]^C)^Cx;
其中,SBOXn[i]为第n个原始SBOX数据块数值,n表示SBOX数据块编号;
newSBOXn[i]为所述运算单元掩码后的第n个新SBOX数据块数值。
优选地,由于所述运算单元对多层所述运算存储单元的R数据寄存器内的数据进行非线性运算函数运算时,都需要在所述步骤S1中,该运算单元对当前层运算存储单元的R数据寄存器内的数据进行扩展置换,在所述步骤S3中,对所有SBOX数据块进行P置换;则该方法另一种操作步骤如下:
A1,所述运算单元将第一层运算存储单元的R数据寄存器内的数据进行扩展置换;并将扩展置换后的数据与所述掩码存储单元内的第一掩码C进行异或运算,并将该结果与当前层运算存储单元的K密钥存储器内的密钥数据进行异或运算,将上述运算结果进行SBOX处理,形成多个SBOX数据块;
A2,所述运算单元将所有所述SBOX数据块与经处理的第二掩码Cx’进行异或运算,并将该运算结果与L数据存储器存储的数据进行异或运算处理;
A3,所述运算单元将上述运算处理结果发送至与该L数据存储器连接的下一层运算存储单元的R数据寄存器内;
A4,所述运算单元将所述步骤A3中R数据寄存器内的数据与当前层运算存储单元的K密钥存储器的密钥数据进行异或运算,将上述运算结果进行SBOX处理,形成多个SBOX数据块;
A5,所述运算单元将所述步骤A4中所有所述SBOX数据块与经处理的第二掩码Cx’进行异或运算,并将结果与该层运算存储单元的L数据存储器存储的数据进行异或运算处理;
所述运算单元判断下一层所述运算存储单元是否为最后一层所述运算存储单元,当是最后一层所述运算存储单元时,执行步骤A6;否则,跳转至所述步骤A3;
A6,所述运算单元将最后一层运算存储单元的R数据寄存器内数据发送至数据寄存单元的RN数据寄存器内;
该运算单元同时将最后一层运算存储单元的R数据寄存器内数据与该层运算存储单元的K密钥存储器的密钥数据进行异或运算,将上述运算结果进行SBOX处理,形成多个SBOX数据块;将每个所述SBOX数据块与经处理的第二掩码Cx’进行异或运算,并将该运算结果进行P置换,并将该置换结果发送至数据寄存单元的LN数据寄存器内。
优选地,所述步骤A2、A5中经处理的Cx’具体算法如下:
Cx’ = Cx ^ invPP(invEP(C));
其中,invEP(C)表示对所述第一掩码C进行扩展运算的逆运算;
invPP表示为P置换的逆运算。
本发明与现有技术相比具有以下优点:
本发明通过设置第一掩码C、第二掩码Cx以及经处理的Cx’,当进行非线性运算函数运算时,能够将传统SBOX功耗与汉明权重的线性相关性重映射为其他相关性类型,能够从原理上弱化传统侧信道攻击的威胁,提高DES的安全性。本发明通过对SBOX的重映射变化,一方面从原理上将了功耗曲线与数据翻转的关系弱化,另一方面通过设计SBOX的相关参数,简化了电路结构,在电路实现上减少信号延迟。
附图说明
图1为本发明一种可循环迭代抗侧信道攻击的DES系统的整体结构示意图。
图2为本发明一种利用可循环迭代抗侧信道攻击的DES系统实现可重映射SBOX的方法中非线性运算函数运算结构示意图之一。
图3为本发明一种利用可循环迭代抗侧信道攻击的DES系统实现可重映射SBOX的方法中非线性运算函数运算结构示意图之二。
图4为本发明一种利用可循环迭代抗侧信道攻击的DES系统实现可重映射SBOX的方法中非线性运算函数运算结构示意图之三。
图5为本发明一种可循环迭代抗侧信道攻击的可重映射的SBOX实现方法的实施例示意图。
具体实施方式
以下结合附图,通过详细说明一个较佳的具体实施例,对本发明做进一步阐述。
如图1所示,一种可循环迭代抗侧信道攻击的DES系统,该DES系统包含:运算单元、多层运算存储单元、数据寄存单元及掩码存储单元。
其中,多层运算存储单元依次连接,每层运算存储单元均与运算单元连接。数据寄存单元分别与最后一层运算存储单元、运算单元连接;掩码存储单元与运算单元连接。
每层运算存储单元包含L数据存储器、R数据存储器及K密钥存储器;该层运算存储单元的L数据存储器、R数据存储器及K密钥存储器分别与运算单元连接。每层运算存储单元的R数据存储器与下一层运算存储单元的L数据存储器连接,该层L数据存储器与下一层运算存储单元的R数据存储器连接。数据寄存单元包含LN数据存储器、RN数据存储器,数据寄存单元的LN数据存储器分别与最后一层运算存储单元的L数据存储器、运算单元连接;该数据寄存单元的RN数据存储器分别与最后一层运算存储单元的R数据存储器、运算单元连接。
本发明中,每个K密钥存储器内存储密钥数据;掩码存储单元内存储第一掩码C、第二掩码Cx及经处理的第二掩码Cx’。
运算单元用于获取数据块,并对该数据块进行置换运算、非线性运算函数运算。运算单元首先获取原始数据块,将原始数据块通过初始置换分为第一半块数据、第二半块数据,并将第一半块数据、第二半块数据分别存入第一层运算存储单元的R数据寄存器、L数据寄存器。
运算单元将每层运算存储单元的R数据寄存器内的数据发送至与其连接的下一层算存储单元的L数据寄存器内;同时依次调用每层运算存储单元的R数据寄存器内的数据、对应K密钥存储器内的密钥数据、掩码存储单元内第一掩码C、第二掩码Cx进行非线性运算函数(Feistel函数,简称F函数)运算,并将运算结果与该层运算存储单元的L数据寄存器的数据进行异或运算;运算单元将上述运算结果发送至下一层运算存储单元的R数据寄存器中。
运算单元依次控制多层运算存储单元进行上述操作直至最后一层运算存储单元,运算单元控制最后一层运算存储单元的R数据寄存器内数据输入数据寄存单元的RN数据存储器,将最后一层运算存储单元的L数据寄存器内数据输入数据寄存单元的LN数据存储器。
运算单元分别获取数据寄存单元的LN数据存储器内数据、RN数据寄存器内数据,并通过逆初始置换将原始数据块形成加密数据块。
如图1所示,本实施例中,一共有16层运算存储单元,设定第一层运算存储单元的R数据寄存器、L数据寄存器、K密钥存储器分别为R0数据寄存器、L0数据寄存器、K0密钥存储器,以此类推,第m层运算存储单元的R数据寄存器、L数据寄存器、K密钥存储器分别为Rm-1数据寄存器、Lm-1数据寄存器及Km-1密钥存储器,其中m=1,2,……,16。
原始数据块为64位数据,运算单元经过初始置换(Initial Permutation,简称IP,如图1所示)将该原始数据块分为大小分别为32位的第一半块数据、第二半块数据,并将第一半块数据、第二半块数据分别存入R0数据寄存器、L0数据寄存器中。
运算单元控制R0数据寄存器内的第一半块数据发送至第二层运算存储单元的L1数据寄存器内。同时,运算单元控制R0数据寄存器内的第一半块数据与K0密钥存储器内存入的密钥数据进行非线性运算函数运算,并将运算结果与L0数据寄存器内的第二半块数据进行异或运算,并将运算结果发送至第二层运算存储单元的R1数据寄存器内。
运算单元控制第二层运算存储单元、第三层运算存储单元直至第十六层运算存储单元进行上述运算。
如图1所示,当运算单元控制第十六层运算存储单元进行运算时,运算单元将R15数据寄存器内数据发送至数据寄存单元的RN数据存储器中,将第十五层运算存储单元的L14数据寄存器与经过F函数运算的结果进行异或运算结果发送至L15数据寄存器中。
运算单元将R15数据寄存器内数据与L15数据寄存器内数据进行逆初始置换(inverse Initial Permutation,简称invIP)从而将原始数据块形成加密数据块。
本发明中,当运算单元对每层运算存储单元的R数据寄存器内的数据进行非线性运算函数运算时,采用可重映射SBOX的方法,该方法包含如下步骤:
如图2所示为本发明中DES系统进行F函数运算的具体结构。
S1,运算单元将第m层运算存储单元的Rm数据寄存器内的数据进行扩展置换。
本实施例中,由于每层运算存储单元的R数据寄存器或L数据寄存器均存放32位数据。因此运算单元获取Rm数据寄存器内的32位数据后,进行扩展置换(ExpansionPermutation,简称EPerm,如图2、图3所示)成为48位数据。
S2,该运算单元将步骤S1中扩展置换后的数据与掩码存储单元内的第一掩码C进行异或运算,并将该结果与第m层运算存储单元的Km密钥存储器的密钥数据进行异或运算,将该运算结果进行SBOX处理,形成多个SBOX数据块。
本实施例中,运算单元对第m层运算存储单元的Rm数据寄存器内的数据进行SBOX处理之前,在SBOX上叠加第一掩码C, SBOX输入数据的汉明权重发生变化,使得SBOX输入与输出数据的关联性被重映射,则SBOX输出是需要另外一个参数第二掩码Cx恢复SBOX输入添加的掩码。
本实施例中,运算单元将48位数据与Km密钥存储器的密钥数据进行混合,随后,将48位数据分成8个6位的SBOX数据块,然后进行处理SBOX。
如图2所示,8个S盒(S1,S2,……S8)的每个都使用以查找表方式提供的非线性的变化,将每个S盒中的6位输入变为4位输出。
S3,运算单元将所有SBOX数据块与第二掩码Cx进行异或运算,并将该运算结果与L数据存储器存储的数据进行异或运算处理。该步骤S3包含如下步骤:
S3.1,运算单元将所有SBOX数据盒与第二掩码Cx的异或运算结果进行P置换。
通过上述步骤,将运算结果从48位数据转化为32位数据。
S3.2,运算单元将进行P置换的运算结果与L数据存储器存储的数据进行异或运算处理。
本发明中,每层运算存储单元的掩码存储单元内的第一掩码C、第二掩码Cx及SBOX的具体运算关系如下:
newSBOXn[i]=(SBOXn[i]^C)^Cx;
其中,SBOXn[i]为第n个原始SBOX数据块数值,n表示SBOX数据块编号;newSBOXn[i]为所述运算单元掩码后的第n个新SBOX数据块数值。
由于一共有8个S盒,因此n=1,2,……,8,i=0,1,=……,63,即每个SBOX数组中的64个元素。
C*、Cx*为相对应的计算每个SBOX需要的C和Cx的值。由于C为48位数据,Cx为32位数据,则每个C*、Cx*的宽度分别为6位、4位。将8个C*、Cx*分别拼接起来,形成掩码存储单元中的第一掩码C、第二掩码Cx。
S4,运算单元将步骤S3的运算处理结果发送至与L数据存储器连接的下一层运算存储单元的R数据寄存器内。
当运算单元运算至最后一层运算存储单元时,该方法还包含步骤S5:
运算单元将最后一层运算存储单元的R数据寄存器内数据发送至数据寄存单元的RN数据寄存器内;该运算单元同时将进行P置换的运算结果发送至数据寄存单元的LN数据寄存器内。
如图3所示,由于运算单元对多层运算存储单元的R数据寄存器内的数据进行非线性运算函数运算时,都需要在步骤S1中,该运算单元对当前层运算存储单元的R数据寄存器内的数据进行扩展置换,在步骤S3中,对所有SBOX数据块进行P置换。因此可以对图3中方框内的步骤进行简化,简化为图4中步骤,该方法另一种操作步骤如下:
A1,运算单元将第一层运算存储单元的R数据寄存器内的数据进行扩展置换;并将扩展置换后的数据与掩码存储单元内的第一掩码C进行异或运算,并将该结果与当前层运算存储单元的K密钥存储器内的密钥数据进行异或运算,将上述运算结果进行SBOX处理,形成多个SBOX数据块。
A2,运算单元将所有SBOX数据块与经处理的第二掩码Cx’进行异或运算,并将该运算结果与L数据存储器存储的数据进行异或运算处理。
本发明中,经处理的Cx’具体算法如下:
Cx’ = Cx ^ invPP(invEP(C));
其中,invEP(C)表示对第一掩码C进行扩展运算的逆运算;invPP表示为P置换的逆运算。
A3,运算单元将上述运算处理结果发送至与该L数据存储器连接的下一层运算存储单元的R数据寄存器内。
A4,运算单元将步骤A3中R数据寄存器内的数据与当前层运算存储单元的K密钥存储器的密钥数据进行异或运算,将上述运算结果进行SBOX处理,形成多个SBOX数据块。
A5,运算单元将步骤A4中所有SBOX数据块与经处理的第二掩码Cx’进行异或运算,并将结果与该层运算存储单元的L数据存储器存储的数据进行异或运算处理。运算单元判断下一层运算存储单元是否为最后一层运算存储单元,当是最后一层运算存储单元时,执行步骤A6;否则,跳转至步骤A3。
A6,运算单元将最后一层运算存储单元的R数据寄存器内数据发送至数据寄存单元的RN数据寄存器内。
该运算单元同时将最后一层运算存储单元的R数据寄存器内数据与该层运算存储单元的K密钥存储器的密钥数据进行异或运算,将上述运算结果进行SBOX处理,形成多个SBOX数据块;将每个SBOX数据块与经处理的第二掩码Cx进行异或运算,并将该运算结果进行P置换,并将该置换结果发送至数据寄存单元的LN数据寄存器内。
如图5所示,原始数据由二进制000000b(十进制0)到二进制111111b(十进制63),经过掩码C=010101b后,数据汉明权重的重新分布。原始数据在000000b(十进制0)到001111b(十进制15)区间的汉明权重曲线与110000b(十进制48)到111111b(十进制63)区间的汉明权重曲线有显著的线性相关,即显著的功耗相关,这也就是差分功耗攻击(Differential Power Analysis,简称DPA)的着重攻击点。而通过映射,经过本发明方法的掩码曲线在相同横轴数值区间是完全相同的变化趋势,使得功耗攻击无法区分,也就无法轻易攻击。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

Claims (4)

1.一种可循环迭代抗侧信道攻击的数据加密标准DES系统,其特征在于,该DES系统包含:
运算单元,获取数据块,并对该数据块进行置换运算、非线性运算函数运算;
多层运算存储单元,多层所述运算存储单元依次连接,每层所述运算存储单元与所述运算单元连接;每层所述运算存储单元包含L数据存储器、R数据存储器及K密钥存储器;
数据寄存单元,分别与最后一层所述运算存储单元、所述运算单元连接;所述数据寄存单元包含LN数据存储器、RN数据存储器;
掩码存储单元,与所述运算单元连接;
其中,所述掩码存储单元内存储第一掩码C、第二掩码Cx及经处理的第二掩码Cx’;
经处理的第二掩码Cx’具体算法为:Cx’ = Cx ^ invPP(invEP(C));invEP(C)表示对所述第一掩码C进行扩展运算的逆运算;invPP表示为P置换的逆运算。
2.如权利要求1所述的可循环迭代抗侧信道攻击的DES系统,其特征在于,每层所述运算存储单元的L数据存储器、R数据存储器及K密钥存储器分别与所述运算单元连接;每个所述K密钥存储器内存储密钥数据;
每层所述运算存储单元的R数据存储器与下一层所述运算存储单元的L数据存储器连接,每层L数据存储器与下一层所述运算存储单元的R数据存储器连接;
所述数据寄存单元的LN数据存储器分别与最后一层所述运算存储单元的L数据存储器、所述运算单元连接;该数据寄存单元的RN数据存储器分别与最后一层所述运算存储单元的R数据存储器、所述运算单元连接。
3.如权利要求2所述的可循环迭代抗侧信道攻击的DES系统,其特征在于,
所述运算单元获取原始数据块,将原始数据块通过初始置换分为第一半块数据、第二半块数据,并将第一半块数据、第二半块数据分别存入第一层所述运算存储单元的R数据寄存器、L数据寄存器;
所述运算单元依次调用每层运算存储单元的R数据寄存器内的数据、对应所述K密钥存储器内的密钥数据、所述掩码存储单元内第一掩码C、第二掩码Cx进行非线性运算函数运算,并将运算结果与该层运算存储单元的L数据寄存器的数据进行异或运算;
所述运算单元最后分别获取所述数据寄存单元的LN数据存储器内数据、RN数据寄存器内数据,并通过逆初始置换形成加密数据块。
4.一种利用可循环迭代抗侧信道攻击的数据加密标准DES系统实现可重映射非线性代换盒SBOX的方法,其特征在于,操作步骤如下:
A1,运算单元将第一层运算存储单元的R数据寄存器内的数据进行扩展置换;并将扩展置换后的数据与掩码存储单元内的第一掩码C进行异或运算,并将该异或运算结果与当前层运算存储单元的K密钥存储器内的密钥数据进行异或运算,将上述运算结果进行SBOX处理,形成多个SBOX数据块;
A2,所述运算单元将所有所述SBOX数据块与经处理的第二掩码Cx’进行异或运算,并将该运算结果与第一层L数据存储器存储的数据进行异或运算处理;
A3,所述运算单元将上述运算处理结果发送至与该L数据存储器连接的下一层运算存储单元的R数据寄存器内;
A4,所述运算单元将所述步骤A3中R数据寄存器内的数据与当前层运算存储单元的K密钥存储器的密钥数据进行异或运算,将上述运算结果进行SBOX处理,形成多个SBOX数据块;
A5,所述运算单元将所述步骤A4中所有所述SBOX数据块与经处理的第二掩码Cx’进行异或运算,并将结果与该层运算存储单元的L数据存储器存储的数据进行异或运算处理;
所述运算单元判断下一层所述运算存储单元是否为最后一层所述运算存储单元,当是最后一层所述运算存储单元时,执行步骤A6;否则,跳转至所述步骤A3;
A6,所述运算单元将最后一层运算存储单元的R数据寄存器内数据发送至数据寄存单元的RN数据寄存器内;
该运算单元同时将最后一层运算存储单元的R数据寄存器内数据与该层运算存储单元的K密钥存储器的密钥数据进行异或运算,将上述运算结果进行SBOX处理,形成多个SBOX数据块;将每个所述SBOX数据块与经处理的第二掩码Cx’进行异或运算,并将该运算结果进行P置换,并将该置换结果发送至数据寄存单元的LN数据寄存器内;
其中,经处理的第二掩码Cx’具体算法为:Cx’ = Cx ^ invPP(invEP(C));invEP(C)表示对所述第一掩码C进行扩展运算的逆运算;invPP表示为P置换的逆运算。
CN201510040323.8A 2015-01-27 2015-01-27 可循环迭代抗侧信道攻击的des系统及实现可重映射sbox方法 Active CN104579635B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510040323.8A CN104579635B (zh) 2015-01-27 2015-01-27 可循环迭代抗侧信道攻击的des系统及实现可重映射sbox方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510040323.8A CN104579635B (zh) 2015-01-27 2015-01-27 可循环迭代抗侧信道攻击的des系统及实现可重映射sbox方法

Publications (2)

Publication Number Publication Date
CN104579635A CN104579635A (zh) 2015-04-29
CN104579635B true CN104579635B (zh) 2018-07-06

Family

ID=53094923

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510040323.8A Active CN104579635B (zh) 2015-01-27 2015-01-27 可循环迭代抗侧信道攻击的des系统及实现可重映射sbox方法

Country Status (1)

Country Link
CN (1) CN104579635B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015209123A1 (de) * 2015-05-19 2016-11-24 Robert Bosch Gmbh Recheneinrichtung und Betriebsverfahren hierfür
CN109791517B (zh) * 2016-12-21 2023-09-08 密码研究公司 保护并行乘法运算免受外部监测攻击
CN106788974B (zh) * 2016-12-22 2020-04-28 深圳国微技术有限公司 掩码s盒、分组密钥计算单元、装置及对应的构造方法
CN113922943B (zh) * 2021-09-29 2023-09-19 哲库科技(北京)有限公司 Sbox电路、运算方法及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1656733A (zh) * 2002-05-23 2005-08-17 皇家飞利浦电子股份有限公司 块密码实现方式中的s-box加密
CN101197660A (zh) * 2006-12-07 2008-06-11 上海安创信息科技有限公司 防攻击标准加密标准的加密方法及其加密芯片
CN101512620A (zh) * 2006-09-01 2009-08-19 索尼株式会社 密码处理装置和密码处理方法、以及计算机程序
CN102713994A (zh) * 2009-10-27 2012-10-03 日本电气株式会社 加密装置、加密方法以及程序
CN103647638A (zh) * 2013-12-03 2014-03-19 北京中电华大电子设计有限责任公司 一种抵抗侧信道攻击的des掩码方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1656733A (zh) * 2002-05-23 2005-08-17 皇家飞利浦电子股份有限公司 块密码实现方式中的s-box加密
CN101512620A (zh) * 2006-09-01 2009-08-19 索尼株式会社 密码处理装置和密码处理方法、以及计算机程序
CN101197660A (zh) * 2006-12-07 2008-06-11 上海安创信息科技有限公司 防攻击标准加密标准的加密方法及其加密芯片
CN102713994A (zh) * 2009-10-27 2012-10-03 日本电气株式会社 加密装置、加密方法以及程序
CN103647638A (zh) * 2013-12-03 2014-03-19 北京中电华大电子设计有限责任公司 一种抵抗侧信道攻击的des掩码方法

Also Published As

Publication number Publication date
CN104579635A (zh) 2015-04-29

Similar Documents

Publication Publication Date Title
US8422668B1 (en) Table lookup operation on masked data
CN104579635B (zh) 可循环迭代抗侧信道攻击的des系统及实现可重映射sbox方法
CN107070630B (zh) 一种aes算法的快速安全硬件结构
CN102138300B (zh) 消息认证码预计算在安全存储器中的应用
AU2005263805B2 (en) Method and device for carrying out a cryptographic calculation
US10699030B2 (en) Determining cryptographic operation masks for improving resistance to external monitoring attacks
CN107690681B (zh) 用于集成电路数据路径保密性及其扩展的技术
CA2508160C (en) Table masking for resistance to power analysis attacks
CN102904716A (zh) 一种抗侧信道攻击的对策方法
US20100098244A1 (en) System and method for stream/block cipher with internal random states
CN101729241A (zh) 抵御差分能量攻击的aes加密方法
CN108768620A (zh) 一种数据处理方法及装置
CN103795527A (zh) 防止基于功耗分析攻击aes算法的软件掩码防护方案
CN107273724A (zh) 为白盒实施方案的输入和输出加水印
US9729319B2 (en) Key management for on-the-fly hardware decryption within integrated circuits
CN113940027A (zh) 用于加速证书提供的系统和方法
CN104484615B (zh) 适用于可重构阵列架构的基于空间随机化抗故障攻击方法
CN101431407A (zh) 支持线程级加解密的密码处理器及其密码运算操作方法
CN104301096A (zh) Aes轮运算方法和电路
EP1587237B1 (en) Security countermeasures for power analysis attacks
CN102567689A (zh) 基于相变存储器的非易失内存数据机密性保护方法
CN117171202A (zh) 一种数据查询方法及装置
CN108092760A (zh) 一种分组密码的协处理器装置和非线性变换方法
CN103684748B (zh) 对称式加解密方法、对称式加解密系统
CN104871476B (zh) 用于可计算、大型、可变及安全的替换盒的方法及设备

Legal Events

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

Address after: 201203 No. 12, Lane 647, Songtao Road, Shanghai China (Shanghai) Free Trade Pilot Area

Patentee after: Juchen Semiconductor Co., Ltd.

Address before: 201203 No. 12, Lane 647, Songtao Road, Zhangjiang High-tech Park, Pudong New Area, Shanghai

Patentee before: Giantec Semiconductor Inc.

CP03 Change of name, title or address