[发明专利]可循环迭代抗侧信道攻击的DES系统及实现可重映射SBOX方法有效
申请号: | 201510040323.8 | 申请日: | 2015-01-27 |
公开(公告)号: | CN104579635B | 公开(公告)日: | 2018-07-06 |
发明(设计)人: | 刘峥;张晨;刘力睿;罗许喜 | 申请(专利权)人: | 聚辰半导体(上海)有限公司 |
主分类号: | H04L9/06 | 分类号: | H04L9/06 |
代理公司: | 上海信好专利代理事务所(普通合伙) 31249 | 代理人: | 张静洁;张妍 |
地址: | 201203 上海市浦东*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 重映射 抗侧信道攻击 非线性运算 函数运算 可循环 迭代 掩码 弱化 电路结构 电路实现 电路系统 工作功耗 功耗曲线 减少信号 数据翻转 相关参数 信道攻击 异或运算 功耗 权重 延迟 电路 威胁 | ||
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置换的逆运算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于聚辰半导体(上海)有限公司,未经聚辰半导体(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510040323.8/1.html,转载请声明来源钻瓜专利网。