[发明专利]一种分组加密算法的高效实现方法和高效实现装置有效
申请号: | 201811494967.4 | 申请日: | 2018-12-07 |
公开(公告)号: | CN109600215B | 公开(公告)日: | 2021-09-24 |
发明(设计)人: | 王亚伟;雷艳;张贺 | 申请(专利权)人: | 北京宏思电子技术有限责任公司 |
主分类号: | H04L9/06 | 分类号: | H04L9/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分组 加密算法 高效 实现 方法 装置 | ||
1.一种分组加密算法的高效实现方法,其特征在于,包括:
步骤r1:安全芯片将第二段输入数据进行拆分得到x个输入值;
步骤r2:所述安全芯片将x个输入值分别与各自相匹配的预设数据进行与运算得到多个第一与运算结果;对所述多个第一与运算结果中的全部或者部分进行预设移位运算得到多个移位运算结果;将部分输入值分别进行预设移位运算后再分别与匹配的预设数据进行与运算得到多个第二与运算结果;
所述安全芯片按照预设组合将所有移位运算结果和所有第二与运算结果分组进行或运算得到多个中间数据,将多个中间数据分成y组中间数据;每组中间数据中包括:一个高位中间数据和一个低位中间数据;
所述安全芯片使用高位替换框组件对每组中间数据中的高位中间数据进行非线性置换运算得到线性计算值;将所述线性计算值进行左移第四预设位运算,得到一个高位数据;使用低位替换框组件对每组中间数据中的低位中间数据进行非线性置换运算得到一个低位数据;
所述安全芯片将每组中的低位数据与高位数据二者进行或运算得到1个或运算结果,共计得到y个或运算结果;
步骤r3:所述安全芯片将y个或运算结果进行组合得到第二段输出数据;
所述x为正整数,所述y为正整数;
所述步骤r2具体包括:
步骤r2-1:所述安全芯片按照预设规则将所述x个输入数据分成y组输入数据,每组输入数据中包括:一组高位输入数据组和一组低位输入数据组;
所述安全芯片以每组输入数据为单位执行步骤r2-2;
步骤r2-2:所述安全芯片将高位输入数据组中的各个输入数据分别与各自相匹配的预设数据进行与运算得到多个第一与运算结果;对所述多个第一与运算结果中的全部或者部分进行预设移位运算得到多个移位运算结果;将多个移位运算结果进行或运算得到1个高位中间数据;或者所述安全芯片将高位输入数据组中的各个输入数据分别与各自相匹配的预设数据进行与运算得到多个第一与运算结果;对所述多个第一与运算结果中的全部或者部分进行预设移位运算得到多个移位运算结果;将高位输入数据组中的部分输入值进行预设移位运算后再与匹配的预设数据进行与运算得到第二运算结果;将多个移位运算结果和第二运算结果进行或运算得到1个高位中间数据;
所述安全芯片将低位输入数据组中的各个输入数据分别与各自相匹配的预设数据进行与运算得到多个与运算结果;对所述多个与运算结果中的全部或者部分进行预设移位运算得到多个移位运算结果;若对所述多个与运算结果中的全部进行预设移位运算得到多个移位运算结果,则将多个移位运算结果进行或运算得到1个低位中间数据;
若对所述多个与运算结果中的部分进行预设移位运算得到多个移位运算结果,则将多个移位运算结果与未进行移位运算的与运算结果进行或运算得到1个低位中间数据;
所述安全芯片使用高位替换框组件对高位中间数据进行非线性置换运算得到线性计算值;将所述线性计算值进行左移第四预设位运算,得到一个高位数据;使用低位替换框组件对每组中间数据中的低位中间数据进行非线性置换运算得到一个低位数据;
所述安全芯片将低位数据与高位数据二者进行或运算得到1个或运算结果;
步骤r2-3:当所述安全芯片将各组输入数据均执行完步骤r2-2的操作后,得到y个或运算结果。
2.根据权利要求1所述的方法,其特征在于,所述安全芯片以每组输入数据为单位执行步骤r2-2,具体为:所述安全芯片以每组输入数据为单位并行或串行执行步骤r2-2。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京宏思电子技术有限责任公司,未经北京宏思电子技术有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811494967.4/1.html,转载请声明来源钻瓜专利网。