发明名称 |
对称密码加密中S-盒的设计方法 |
摘要 |
本发明提供了一种对称密码加密算法中的S-盒的设计方法。包括将S-盒划分为多个小S-盒;将所有小S-盒的输出结果合并为一个n比特的数据块,作为线性变换混合器的输入;线性变换混合器对数据块进行处理;将线性变换混合器的输出分为多个小块再分别作为小S-盒的输入数据;将小S-盒的输出结果合并为一个n比特数据块,作为S-盒的输出。本发明的线性变换混合器采用的是分支数为5的二元矩阵,只需二元异或运算即可实现。本发明提供的S-盒的设计方法实现简单、运行效率高,且能够保证大规模地安全有效实现,依照实际情形,本加密结构可以部分或全部实现到一张智能卡上。 |
申请公布号 |
CN101951314A |
申请公布日期 |
2011.01.19 |
申请号 |
CN201010503575.7 |
申请日期 |
2010.10.12 |
申请人 |
北京航空航天大学 |
发明人 |
郑志明;高莹;王钊;邱望洁;王文华;张筱;刘建伟 |
分类号 |
H04L9/06(2006.01)I |
主分类号 |
H04L9/06(2006.01)I |
代理机构 |
北京万象新悦知识产权代理事务所(普通合伙) 11360 |
代理人 |
贾晓玲 |
主权项 |
1.一种对称密码加密算法中的S-盒的设计方法,包括如下步骤:A. 将S-盒划分为多个小S-盒,将S-盒的输入数据分为小块,分别作为小S-盒的输入数据; B. 将所述所有小S-盒的输出结果合并为一个<img file="769896DEST_PATH_IMAGE001.GIF" wi="14" he="16" />比特的数据块,作为线性变换混合器<i>L</i>的输入;C. 线性变换混合器<i>L</i>对数据块进行处理;D. 将线性变换混合器<i>L</i>的输出分为多个小块再分别作为小S-盒的输入数据;E. 将上一步中小S-盒的输出结果合并为一个<img file="482637DEST_PATH_IMAGE001.GIF" wi="14" he="16" />比特数据块,作为S-盒的输出;其特征在于,所述步骤C中线性变换混合器<i>L</i>由<img file="672310DEST_PATH_IMAGE002.GIF" wi="69" he="22" />定义,其中<img file="103291DEST_PATH_IMAGE003.GIF" wi="17" he="18" />为二元线性变换矩阵,该变换矩阵的构造方法如下:1) 随机选取一个8×8的二元矩阵<img file="669402DEST_PATH_IMAGE003.GIF" wi="17" he="18" />,该矩阵的每行汉明重量为5或4;2) 检测矩阵<img file="971070DEST_PATH_IMAGE004.GIF" wi="52" he="25" />是否满足任意4列线性无关,若通过测试则转步骤3),否则转步骤1); 其中<img file="862803DEST_PATH_IMAGE005.GIF" wi="24" he="21" />表示矩阵<img file="249922DEST_PATH_IMAGE003.GIF" wi="17" he="18" />的转置矩阵,<img file="150882DEST_PATH_IMAGE006.GIF" wi="14" he="18" />表示8阶单位矩阵;3) 检查测试矩阵<img file="41477DEST_PATH_IMAGE003.GIF" wi="17" he="18" />是否可逆,如果可逆则<img file="369690DEST_PATH_IMAGE003.GIF" wi="17" he="18" />即为一个合适的矩阵,算法结束;否则转步骤1)。 |
地址 |
100191 北京市海淀区学院路37号 |