论文部分内容阅读
本文针对分组密码的不可能差分分析和网络编码下的认证体制,取得了一些创新性的成果。我们不仅对FOX分组密码和E2分组密码进行了不可能差分分析,还研究了网络编码下的消息认证码以及同态认证码。 FOX是2004年提出的系列分组密码算法,并具有可证明安全性。第二章,我们首先构造了FOX算法新的4轮不可能差分对应。并利用该类区分器对4轮不可能差分对应的后面增加一轮得到的5轮FOX进行了攻击。在密钥恢复阶段,我们引进了一种新的明文对早夭技术,通过减少检查测试密钥时需要的明文对来降低了时间复杂度。由此得到的对5,6,7轮FOX64和5轮FOX128的攻击结果,在数据复杂度和时间复杂度方面优于之前的所有攻击。为了进一步降低时间复杂度,我们给出了更多的4轮不可能差分对应,并提出了另一种攻击模式。对在4轮不可能差分对应的前面增加一轮得到的5轮FOX进行攻击。我们利用状态测试技术来减少猜测密钥的字节数结合明文对早夭技术降低时间复杂度。尽管这种攻击相比第一种攻击方法数据复杂度有所增加,但是再次降低了时间复杂度。而且我们的第二种攻击模式首次实现了对8轮FOX64和6轮FOX128的有效攻击。在时间复杂度和可以攻击的轮数方面,第二种攻击给出了目前最好的结果。我们还对这两种攻击模式做了详细的比较。 E2分组密码算法是由NTT设计并提交的15个AES候选算法之一,它的设计准则影响了最近的一些分组密码算法,例如一种ISO/IEC标准密码算法Camellia。E2采用Feistel结构作为整体结构,SPN结构作为轮函数结构。这种结构特点使得E2对现有的攻击是免疫的。目前对E2的主要攻击包括截断差分攻击,不可能差分攻击和多维零相关线性攻击。第三章,我们利用6轮不可能差分对应,结合状态测试技术,明文对早夭技术和快速排序法对7轮和8轮的E2算法(不包括IT和FT变换)得到了最好的不可能差分攻击结果。我们攻击7轮需要2117.6个选择明文,时间复杂度为2118.5次7轮加密,存储量为253字节。攻击8轮需要2118.5个选择明文,时间复杂度为2194.84次8轮加密,存储量为262.5字节。我们还对不带IT变换的7轮E2进行了不可能差分攻击得到和上述攻击7轮相同的时间复杂度和存储复杂度。对不带FT变换的7轮E2的攻击结果表明我们降低了时间复杂度和存储复杂度。 第四章,我们探讨了现有的用于网络编码的消息认证码。和传统的消息认证码相比,他们都具有密钥长度远远大于标签长度的问题。据此,我们针对用于网络编码的消息认证码定义了一个参数,用于刻划消息认证码的性能。从攻击者的角度出发,我们对网络编码的消息认证码建立了概率模型,并通过标签随机变量的概率分布,给出了现有消息认证码的安全参数。因为我们发现所有的消息认证码的构造都可以转换成内积的形式,所以安全参数在使用一个密钥时保持1/q不变。 Cheng et al.提出了一种同态消息认证码,声称只使用一个密钥就可以使得安全参数达到1/ql。我们发现了密钥分量之间的一个固有关系,证明了恢复密钥的概率要高于随机猜测的概率。进一步,我们证明了选择消息攻击和无消息伪造攻击都可以很高的概率实现,他们的消息认证码的安全参数实际上只有1/q,与l的大小没有关系。我们通过建立概率模型给出了标签分量之间的重要关系,从另一个角度揭示了失败的原因。Zhang et al.提出一种基于离散对数问题困难性的同态消息认证码,并且声称此消息认证码是安全的,安全参数为1/pl。我们发现它不满足同态性,通过修改其原始构造使其具有了同态性。更进一步,我们发现恶意网络节点可以对任意的消息向量伪造合理的标签。换句话说,他们的消息认证码是不安全的。我们可以进行成功伪造的原因在于标签的计算中消息向量和秘密密钥相互独立,可以分开。 我们提出了两种用于网络编码的同态消息认证码的构造方法。结合内积消息认证码和迹消息认证码,我们提出了分段内积消息认证码,将消息向量分段进行标签的计算。证明了分段内积消息认证码具有同态性,我们还定义了安全攻击实验来检验其安全性,证明了它在安全攻击实验下的安全性参数为1/ql1。我们的第二种构造通过改进Cheng et al.提出的消息认证码的缺陷,改变标签计算中的不变因素,使得新的消息认证码可以达到可靠的安全参数1/ql2。 将线性码和密钥共享方案相结合,我们提出了一种基于一般线性码C的针对网络编码中的子空间码的认证方案的构造方法。第五章,我们证明了我们的认证码方案抗不超过(d(C⊥)-2)个恶意验证节点的联合攻击是无条件安全的。令C是一个[V,k]线性码。对于任意的坐标i∈{1,2,…,V},我们定义了关于i的最小码字。并且由此给出了接收节点Ri的安全性,可以由对偶码C上中的关于i的最小码字详细刻划。 对于Oggier和Fathi提出的认证码,我们发现网络中的任意一个节点都可以进行污染攻击,只要将收到的任意一个或多个输入信道的消息向量替换成输入向量的线性组合,线性系数的和为1。我们还证明了他们的主要安全性证明定理中的一个很强的关键性条件可以去掉。没有这个条件限制,可以减少认证码的计算代价。