论文部分内容阅读
认证加密算法是能够同时保护数据机密性、完整性以及数据源认证的对称密码算法,在现实生活中有着广泛的应用需求。随着CAESAR竞赛的展开,认证加密算法的分析与设计成为了密码学领域的研究热点。 认证加密算法可以分为基于工作模式的认证加密算法和直接设计的认证加密算法。基于工作模式的认证加密算法安全性可以进行证明,但是算法效率受到底层模块限制;直接设计的认证加密算法效率较高,但是安全性目前不能进行证明,只能评估其针对各种分析方法的安全性。本文研究了认证加密算法的安全模型、评估了CAESAR竞赛候选算法的安全性、基于SM4分组密码进行了认证加密算法的设计。取得的主要研究成果和创新点如下: 研究了释放未经验证的明文(RUP)假设下的认证加密算法的安全模型。针对在线认证加密算法,给出了新的安全性定义OPA,并利用OPA安全性结合IND-CPA(OPRP-CPA)安全性更好地刻画了RUP假设下在线认证加密算法的机密性。分析了现有在线认证加密算法的安全性,证明了流式结构、ECB结构、PFB结构等一些典型结构的OPA不安全性,同时对ELmD等算法的OPA安全性进行了证明。最后以COPA算法的INT-RUP攻击为例,说明了iFeed、CPFB等算法的INT-RUP不安全性。 分析了基于XE(X)结构的认证加密算法的安全性。利用生日攻击恢复了ELmD、iFeed、AES-OTR等算法的子密钥和掩码,并分析了掩码恢复之后算法的安全性。利用算法的结构特点和性质,给出了ELmD的伪造攻击、明文恢复攻击,iFeed和AES-OTR的伪造攻击,OCB和COPA的明文恢复攻击。这些攻击并不破坏算法证明的安全界,但是反映了算法的安全性质。特别地,ELmD的明文恢复攻击的复杂度约为O(264),打破了设计者宣称的128比特的抵抗明文恢复攻击的安全性。 基于SM4分组密码标准设计了认证加密算法SMAE。利用混合整数线性规划(MILP)方法,分析了SM4抵抗(相关密钥)差分分析的安全性,给出了不同轮数SM4活跃S盒个数更紧的下界,并指出单密钥环境下23轮SM4或者相关密钥环境下19轮SM4至少有22个活跃S盒。利用SM4轮函数结合广义Feistel结构,设计了两种通用结构Qta和Rts,并分析了参数s和t对结构的效率和安全性的影响,给出了Q64、R42等安全的结构。选取了效率较优的结构R42设计了认证加密算法SMAE,分析了算法抵抗碰撞攻击、差分分析、线性分析等分析方法的安全性。软件实现了SMAE算法并评估比较了其和SM4-GCM的实现性能。