论文部分内容阅读
随着计算机以及互联网技术的普及,信息安全越来越得到人们的重视,密码学作为信息安全的基石,也越来越得到人们的广泛关注。分组密码的研究是当今密码学研究的一个重要领域,分组密码一般采用迭代结构,运行速度快且易于实现,因此广泛运用于各种软硬件安全系统。分组密码有多种结构,例如SPN结构,Feitesl结构等,Present算法,Lbock算法就是SPN结构和Festiel结构的代表算法,Present算法是A.Bogdanov等在CHES2007上提出的一种SPN(Substitution Permutation Network)的结构的超轻量级加密算法,一共将会进行31轮,明密文长度都是64bit,密钥有两种选择分别是80bit和128bit两个版本,主要是适用于资源受限的环境。由于其简单且高效,在物联网和射频识别技术(RFID)中得到广泛的应用。Lblock密码算法是在2011年应用密码学网络安全会议上提出的轻量级分组密码.Lblock是分组长度为64bit的Feistel结构的分组密码算法,共32轮,密钥长度为80bit。MILP全称是混合整数线性规划(Mixed-Integer Linear Programming)是一类源于线性规划的优化,目标是优化在一定约束条件下的目标函数。混合整数线性规划在学术界和工业界都得到了广泛的应用。在分组密码各个模块,MILP的模型是不一样的。孙思维教授在亚密会上提出了MILP模型在分组密码中的应用,以及Nicky Mouha,Qingju Wang等人对于MILP模型结合分组密码的差分分析,以及最近由日本人Todo提出的Division Property,结合MILP方法去搜索轻量级分组密码算法的积分区分器的平衡位置。本文的主要研究内容包括:(1)对SPN类的Present算法,结合该算法的不可能差分特征进行研究,使用两种方法,一种是活跃S盒扩散的总数和轮数,统计S盒扩散之和最少的那一种情况,即为最优的情况;另一种是借助于贪婪算法进行研究,排出不可能出现的差分特征。(2)对Feitesl类的Lblock算法进行积分攻击,核心是构造合适的积分区分器,然后根据自己总结的Lblock算法的密钥扩散规律,统计需要猜测的密钥数量,并得出积分攻击的时间复杂度和数据复杂度,并与Lblock算法其他分析方法的时间数据复杂度进行对比,基于积分攻击的Lblock算法的时间复杂度降低。(3)由Lblock算法的积分攻击,结合最新的Todo提出的Division Property理论概念,在前人的基础上对Lblock算法结合MILP模型进行研究。