论文部分内容阅读
在许多对称密码算法中,密码S盒通常作为唯一的非线性部件,实现字节代换功能,以完成算法所需的数据混淆性。注意到,这些对称密码算法的安全强度与S盒的代数性质紧密相关。S盒的主要安全性指标有:非线性度、差分均匀性、双射性及代数次数等。然而伴随着各种新攻击方法的不断涌现,S盒是否存在未知的安全缺陷?如何更全面的评价S盒的安全强度?都是亟待讨论的问题。
本文以现有的密码S盒的安全性指标为基础,结合非线性不变子攻击、侧信道攻击等方法,对密码S盒的新性质进行了探讨。进一步地,将新性质应用于算法分析中。主要成果如下:
1.分析了4比特S盒输入及输出低次代数关系。根据S盒的输入输出关系,提出了n比特S盒的非线性回路代数关系的通用求解算法。针对4比特S盒设计了高效的非线性回路代数关系求解算法,并对16类最优4比特S盒及多个著名的轻量级算法中的S盒进行了测试分析。同时,还检测上述轻量级S盒的所属等价类。研究结果表明:16类S盒代表元中只有3类不存在二次回路代数关系;同属等价类S盒可能会有不同的二次回路代数关系;MANTIS,PRIDE,Marvin等轻量级算法的S盒存在多个二次回路代数关系。即这些包含低次回路代数关系的S盒存在潜在的安全缺陷。
2.构造了类 Midori-64 算法族的广义非线性不变区分器,并进行安全性分析。以Midori-64算法为基础,用其他轻量级S盒替换Midori-64算法S盒,其他部件不变,构成类Midor-64算法族。以Midori-64PRIDE和Midori-64Marvin为例,证明了回路函数在构建区分器时,可降低轮常量的影响。进一步地,将回路函数应用于两种算法的广义非线性不变攻击,找到了弱密钥空间为296的区分器,而同等条件下非线性不变攻击的弱密钥空间仅为264。利用构造的区分器,可恢复Midori-64Marvin算法32比特明文。结果表明:类Midori-64算法族易受到广义非线性不变攻击,安全性较弱。
3.设计并测试分析了几类8比特结构密码S盒。综合考虑S盒的安全性和轻量级的实用性,基于SPN结构,给出了两种8比特S盒的设计方案。同时,设计了8比特S盒自动搜索算法,并用搜索算法构建了8类8比特结构S盒。通过对各类结构S盒的安全性指标测试分析,结果表明:置换层为M矩阵的结构S盒代数性质优于比特置换结构;8类8比特结构S盒的代数次数达7次,差分均匀度最小为16,非线性度最大为96;另外,发现了一类具有掩码方案的性能优良的8比特S盒。
本文以现有的密码S盒的安全性指标为基础,结合非线性不变子攻击、侧信道攻击等方法,对密码S盒的新性质进行了探讨。进一步地,将新性质应用于算法分析中。主要成果如下:
1.分析了4比特S盒输入及输出低次代数关系。根据S盒的输入输出关系,提出了n比特S盒的非线性回路代数关系的通用求解算法。针对4比特S盒设计了高效的非线性回路代数关系求解算法,并对16类最优4比特S盒及多个著名的轻量级算法中的S盒进行了测试分析。同时,还检测上述轻量级S盒的所属等价类。研究结果表明:16类S盒代表元中只有3类不存在二次回路代数关系;同属等价类S盒可能会有不同的二次回路代数关系;MANTIS,PRIDE,Marvin等轻量级算法的S盒存在多个二次回路代数关系。即这些包含低次回路代数关系的S盒存在潜在的安全缺陷。
2.构造了类 Midori-64 算法族的广义非线性不变区分器,并进行安全性分析。以Midori-64算法为基础,用其他轻量级S盒替换Midori-64算法S盒,其他部件不变,构成类Midor-64算法族。以Midori-64PRIDE和Midori-64Marvin为例,证明了回路函数在构建区分器时,可降低轮常量的影响。进一步地,将回路函数应用于两种算法的广义非线性不变攻击,找到了弱密钥空间为296的区分器,而同等条件下非线性不变攻击的弱密钥空间仅为264。利用构造的区分器,可恢复Midori-64Marvin算法32比特明文。结果表明:类Midori-64算法族易受到广义非线性不变攻击,安全性较弱。
3.设计并测试分析了几类8比特结构密码S盒。综合考虑S盒的安全性和轻量级的实用性,基于SPN结构,给出了两种8比特S盒的设计方案。同时,设计了8比特S盒自动搜索算法,并用搜索算法构建了8类8比特结构S盒。通过对各类结构S盒的安全性指标测试分析,结果表明:置换层为M矩阵的结构S盒代数性质优于比特置换结构;8类8比特结构S盒的代数次数达7次,差分均匀度最小为16,非线性度最大为96;另外,发现了一类具有掩码方案的性能优良的8比特S盒。