论文部分内容阅读
本文对基于分组密码的消息认证码进行了研究,包括消息认证码的安全性分析,消息认证码算法的改进,安全性证明的改进以得到一个更好的上界等,主要成果有:(1)OMAC1``算法是OMAC的一个改进算法,旨在消除OMAC中最后两个密钥之间的简单代数关系,提高OMAC抵抗密钥恢复攻击和伪造攻击的能力。但有关研究表明,即使在底层分组密码是一个伪随机置换的假设下,也不能证明OMAC1``的安全性。能构造一个满足一定条件的伪随机置换,使得利用该伪随机置换的OMAC1``不再安全,攻击者仅需一次询问便能得到成功的伪造。因此,OMAC1``并没有真正提高OMAC的安全性,OMAC1``的安全性较OMAC弱。因为OMAC1``的密钥之间存在常数异或的关系,当底层分组密码满足在一定相关密钥攻击下是一个RKA-PRP的更高安全性假设,证明了OMAC1``是一个伪随机函数。(2)尽管目前一些分组密码在已知的相关密钥攻击下仍然是安全的,但和伪随机置换的假设相比,分组密码在一定相关密钥攻击下是一个RKA-PRP的假设要求过高。事实上,几乎所有基于分组密码的消息认证码的安全性都是建立在底层分组密码是一个伪随机置换的假设上。将两个密钥之间的固定差分设为全0,并在CBC链中引入一个加密的常数,改进了OMAC1``算法。改进的OMAC1``能在底层分组密码是一个伪随机置换的假设下,证明是一个伪随机函数。并分析了改进方法的合理性。(3)基于有向无环图DAG结构的消息认证码利用满足伪随机函数保持性的一系列带权图。它包含了许多广泛使用的消息认证码,比如XCBC,TMAC,OMAC,以及PMAC等。改进了基于DAG的消息认证码的安全性证明,得到一个新的上界O ( qσ2 n),其中,q是攻击者询问的次数,σ是所有询问所包含的分组总数。(4)PMAC是一种可并行运算的消息认证码。消息的所有分组在分组密码加密前先要进行掩盖,以防止利用明文特征进行攻击。但这个过程也泄露了可以利用的信息。利用这些边信息,得到一种新的PMAC的攻击方法,该方法在长消息的应用环境很实用。(5)证明了OPMAC是一个伪随机函数,原OPMAC仅证明了其具有不可伪造性。对一个消息认证码来说,伪随机函数是一个比不可伪造性更强的安全性定义。OPMAC不仅仅具有不可伪造性,还是一个伪随机函数。而且,所得到的新上界是用所有询问所包含的分组总数表示的形式,不再是用最长消息长度表示的形式。当询问消息的长度严重失衡时,这是一个更好的界。(6)在一些安全协议中,经常需要同时认证一组数据。但普通消息认证码的输入仅为单个的字符串,因此,有必要设计一种输入可为字符串向量的消息认证码。文中得到两种不同的输入可为字符串向量的消息认证码的构造方法。第一个基于合成的通用哈希函数,先用一个并行的通用哈希函数处理字符串向量,所得结果输入另一个通用哈希函数,然后用分组密码加密得到认证标记。并在底层分组密码是一个伪随机置换的假设下,证明了它是一个伪随机函数。但它需要三个密钥。第二种构造方法利用分组密码,模拟PMAC的结构,得到的输入可为字符串向量的消息认证码具有双层可并行运算的结构。它仅需一个密钥。最后,证明了它的安全性。