[发明专利]一种实现SM4分组对称密码算法的系统无效

专利信息
申请号: 201210441335.8 申请日: 2012-11-07
公开(公告)号: CN103812641A 公开(公告)日: 2014-05-21
发明(设计)人: 黑勇;王晨光;乔树山;任高峰 申请(专利权)人: 中国科学院微电子研究所
主分类号: H04L9/06 分类号: H04L9/06
代理公司: 中科专利商标代理有限责任公司 11021 代理人: 任岩
地址: 100083 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 实现 sm4 分组 对称 密码 算法 系统
【说明书】:

技术领域

发明涉及分组密码算法技术领域,尤其是一种实现SM4分组对称密码算法的系统。

背景技术

SM4分组对称密码算法即原SMS4算法,它是国内公布的第一个用于无线局域网产品的商用密码算法,该算法是我国首个公开针对特殊领域的密码算法,对无线局域网产业和商用密码研究都有重要的意义。SM4是基于S盒的分组对称密码算法,它对一组比特数据进行加解密运算,而不像流密码那样只针对单个比特运算。该算法的分组长度为128比特,密钥长度为128比特。加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反。

加密算法主要为读入加密数据和密钥进行加密运算的过程。算法的加密变换包含异或运算和合成置换T运算,其中合成置换T运算是由线性变换L和非线性变换τ复合而成,即T(·)=L(τ(·))。非线性变换τ由4个并行的S盒构成,S盒是固定的8比特输入8比特输出的变换;线性变换L包含异或运算和循环左移运算。

对密钥扩展算法而言,加密算法中的轮密钥是加密密钥MK通过密钥扩展算法生成。而该扩展算法基本结构与加解密算法相同,同样包含异或运算和合成置换T’运算。其中合成置换T’运算与加密算法中的合成置换T运算基本相同,仅仅将其中的线性变换L修改为L’,线性变化L’同样包含异或运算和左移运算,形式略有不同。

实现SM4算法的加解密系统在现有技术中存在多种方案,但这些方案大多基于以下架构,如图1所示,现有技术中一个标准SM4加解密系统包括:密钥扩展模块、控制模块和加解密模块。以加密操作为例,首先由密钥扩展模块读入加密密钥MK、系统参数FK和固定参数CK,其中FK和CK是固定值,读入的所有参数经过32轮迭代运算产生32个轮密钥并存储。当有明文进入加解密模块,则加密运算启动,并在每轮迭代中读入相应轮密钥,直至完成32轮迭代加密操作,最终输出密文。不同方案的区别在于加解密模块的实现上。

但从系统全局的结构考虑,加解密模块和密钥扩展模块在功能上有较大的相似性,使用两个模块实现系统的功能使得系统的部件冗余度较高。

发明内容

(一)要解决的技术问题

有鉴于此,本发明的主要目的在于提供一种实现SM4分组对称密码算法的系统,以降低系统部件的冗余度。

(二)技术方案

为达到上述目的,本发明提供了一种实现SM4分组对称密码算法的系统,包括:

输入密钥处理及结果存储器,用于对输入密钥进行处理,得到直接参与迭代运算的结果,并进行存储;

密钥缓存器,用于根据控制模块输出的控制信号更新和存储密钥扩展运算的中间结果,即加密运算需要的轮密钥;

数据缓存器,用于根据控制模块输出的控制信号更新和存储加解密迭代运算的中间结果;

数据处理选择模块,用于根据控制模块输出的控制信号,选择参与运算的数据为密钥还是加解密的数据;

运算逻辑模块,用于进行加解密运算和密钥扩展运算;以及

控制模块,用于根据输入的工作模式控制信号,输出相应的加解密控制信号和密钥扩展控制信号。

上述方案中,所述输入密钥处理及结果存储器包括运算部件以及存储单元,当接收到密钥时,该运算部件将该密钥与固定常数进行运算,得到直接参与密钥扩展算法进行迭代运算的数据,并将该数据存储于该存储单元中。

上述方案中,所述密钥缓存器包括一组存储单元,用于根据控制模块输出的控制信号更新和存储密钥扩展迭代运算得到的中间结果。

上述方案中,所述数据缓存器包括一组存储单元,用于根据控制模块输出的控制信号更新和存储数据加解密迭代运算得到的中间结果。

上述方案中,所述数据处理选择模块为一个数据选择器,用于选择输入到运算逻辑模块的数据是加解密数据还是密钥扩展数据,如果控制模块输出的是加解密控制信号,则输入到运算逻辑模块的数据是加解密数据;如果控制模块输出的是密钥扩展信号,则输入到运算逻辑模块的数据是密钥扩展数据。

上述方案中,所述运算逻辑模块包括轮密钥运算所需常数生成部件、第一运算部件、S盒部件、循环移位部件以及第二运算部件,其中:

所述轮密钥运算所需常数生成部件,用于根据控制逻辑输出的控制信号,按照相应的数学原理生成轮密钥生成时所需的常数;

所述第一运算部件,用于完成加解密数据与轮密钥进行的异或运算,或者密钥数据与生成轮密钥所需常数的异或运算;

所述S盒部件,用于在加解密模式或轮密钥扩展模式时对数据进行S盒查表运算;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院微电子研究所,未经中国科学院微电子研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210441335.8/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top