[发明专利]掩码S盒、分组密钥计算单元、装置及对应的构造方法有效
申请号: | 201611198866.3 | 申请日: | 2016-12-22 |
公开(公告)号: | CN106788974B | 公开(公告)日: | 2020-04-28 |
发明(设计)人: | 王良清;于松亮;王若璨 | 申请(专利权)人: | 深圳国微技术有限公司 |
主分类号: | H04L9/06 | 分类号: | H04L9/06;G06F21/60 |
代理公司: | 深圳市康弘知识产权代理有限公司 44247 | 代理人: | 胡朝阳;尹彦 |
地址: | 518000 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 掩码 分组 密钥 计算 单元 装置 对应 构造 方法 | ||
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个分组密钥计算单元的原始密钥;
各分组密钥计算单元分别进行迭代运算,直至迭代运算完成;
将各分组密钥计算单元的输出结果进行异或运算,得到最终结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳国微技术有限公司,未经深圳国微技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611198866.3/1.html,转载请声明来源钻瓜专利网。