论文部分内容阅读
20世纪以来,随着计算机技术、通信技术、互联网技术的突飞猛进和电子商务、网上银行等的兴起,信息安全受到越来越广泛的关注,同时随着物联网、无线传感器、RFID标签的出现,分组密码设计和分析技术高速发展,尤其是在轻量级分组方面的发展更为迅速,密码学在信息安全领域越来越重要,于是,近年来提出了许多适用于资源受限环境下的轻量级分组密码算法,例如LBLOCK,PRESENT,KATAN及KTANTAN,SIMON及SIPECK等等。本文主要对LBLOCK算法及KATAN和KTANTAN算法进行分析,LBLOCK算法是吴文玲和张蕾提出的基于Feistel结构的主密钥为80比特的轻量级分组密码,KATAN和KTANTAN算法是Christophe De Cannière和Orr Dunkelman采用流密码中常用的非线性移位寄存器而设计的轻量级分组密码。同时,与密码设计相对应的密码分析学的发展也十分迅速。最常用于分析分组密码的两种方法是差分分析和线性分析。本文使用Diffie和Hellman提出的中间相遇攻击方法对LBLOCK算法进行安全性分析,使用代数方法对KATAN和KTANTAN算法中间相遇攻击的中间匹配阶段进行分析。本文主要做了以下几方面的工作:<1>本文开始对密码学的发展历程做了简要介绍,对密码设计和密码分析相互对立相互促进有了新的认识,随着技术的更新,对密码学提出了新的要求,随之新的加密方法陆续提出,与此同时,密码分析学的发展齐头并进,新的分析方法不断涌现。对分组密码的两种结构Feistel结构和SP结构做了详细介绍。<2>对中间相遇攻击方法进行了详细介绍,其本质是将一个完整的复杂算法,划分为两个连续的部分,向前加密部分和向后解密部分,并对这两部分单独进行安全性分析,然后在中间某一轮进行中间匹配过程,如果两个部分能够匹配,则所猜测的密码为候选密钥,否则,猜测的密钥是错误密钥,予以筛除。<3>对LBLOCK算法进行中间相遇攻击,发现其算法本身因为基于扩散性较低的Feistel结构,所以算法的扩散性也比较低。虽然密钥编排中循环左移29比特破坏了移位后的对称性,而且每三轮主密钥就全部调用一次,密钥编排扩散性较高。因此本文对LBLOCK算法的中间相遇攻击轮数仅达到9轮,在使用了剪切-拼接技术以后扩展到10轮。<4>在对KTANTAN32算法的密钥编排分析,发现其对主密钥的调用并不均匀,有些比特的主密钥在100轮之后才被初次使用,很适合使用中间相遇攻击进行分析,再对KTANTAN32算法的中间相遇攻击中的中间匹配阶段使用单密钥代数分析方法进行间接匹配,达到降低其复杂性,增加了匹配的位数。