[实用新型]应用于SM4与Camellia密码算法的可重构S盒电路结构有效
申请号: | 201720503460.5 | 申请日: | 2017-05-08 |
公开(公告)号: | CN207184502U | 公开(公告)日: | 2018-04-03 |
发明(设计)人: | 郑辛星;张肖强;邢博昱;王倩 | 申请(专利权)人: | 芜湖职业技术学院 |
主分类号: | H04L9/06 | 分类号: | H04L9/06 |
代理公司: | 江苏爱信律师事务所32241 | 代理人: | 赵赞赞 |
地址: | 241003 安徽*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用于 sm4 camellia 密码 算法 可重构 电路 结构 | ||
技术领域
本实用新型涉及密码电路技术领域,尤其涉及一种应用于SM4与Camellia密码算法的可重构S盒电路结构。
背景技术
1.SM4密码算法和Camellia密码算法
SM4密码算法是由我国国家商用密码管理办公室于2006年1月公布的第一个商用分组密码算法,其分组长度和密钥长度均为128比特。Camellia算法是由日本电报电话公司和三菱公司于2000年共同设计,Camellia算法的数据分组长度也是128比特,密钥长度为128比特、192比特和256比特三种。Camellia已被许多组织选为标准算法,包括欧洲的NESSIE标准、日本的CRYPTREC标准、以及国际标准化组织与国际电工委员会制定的ISO/IEC18033-3标准。
分组密码标准的多样性为密码系统实现带来巨大挑战,为了满足不同地区和不同行业的应用需求,往往需要将不同的算法集成到一个硬件平台中。
2.SM4 S盒运算和Camellia S盒运算
在SM4密码算法和Camellia密码算法中,字节替换运算(通常称为S盒运算)是唯一的非线性运算,运算复杂度最高。因此在SM4密码算法电路和Camellia密码算法电路,S盒运算电路均是最主要的运算部件,分别在这两个密码算法电路中分别占据了大部分逻辑资源。
2.1SM4 S盒运算
在SM4密码算法中,加密过程和解密过程采用同一个S盒运算。SM4S盒首先对输入字节进行一个仿射运算,然后再进行一个GF(28)域乘法逆运算,最后再次进行仿射运算,其表示式为:
其中(Ms×x+cs)S-1为SM4密码算法指定的GF(28)域上的乘法逆运算,MS为8×8bit常数矩阵,cS为8bit常数向量,MS和cS用于完成仿射运算。
SM4密码算法中所指定的GF(28)域的不可约多项式为:
f(x)=x8+x7+x6+x5+x4+x2+1
常数矩阵MS和常数向量cS分别为:
2.2 Camellia S盒运算
Camellia密码算法加密过程采用了4个不同的S盒运算,分别为:
其中x为输入字节,(MCf×(x+cCf))C-1为有限域GF((24)2)上的乘法逆运算,MCf和MCh为8×8bit常数矩阵,cCf和cCh为8bit常数向量,MCf和cCf用于完成仿射运算f,MCh和cCh用于完成仿射运算h,<<<1为循环左移一位运算,>>>1为循环右移一位运算。
由公式(2)可知,S盒SC1的输出循环左移一位构成了S盒SC2,S盒SC1的输出循环右移一位构成了S盒SC3,S盒SC1的输入循环左移一位构成了S盒SC4。由于在硬件电路实现中,循环左移和循环右移不需要任何电路逻辑,只需要将总线顺序进行调换,因此,在硬件实现时,只需要实现SC1电路即可。S盒SC1首先对输入字节进行一个仿射运算(仿射运算f),然后再进行一个GF((24)2)域乘法逆运算,最后再进行一个仿射运算(仿射运算h)。Camellia密码算法中所指定的GF((24)2)域的不可约多项式为
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于芜湖职业技术学院,未经芜湖职业技术学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201720503460.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种五维二次类Liu超混沌系统模拟电路
- 下一篇:可重构S盒电路结构