论文部分内容阅读
本文分析了AES和CAC分组密码算法的代数性质和安全性,并对ElGamal签名算法的安全性进行了分析,主要成果有: (1)证明了有限域上q-多项式、n阶矩阵和线性函数间的等价关系;然后通过证明有限域上同一线性函数在严格不同基下对应不同矩阵,扩展出一种通用的方法快速确定有限域上线性函数和n阶矩阵间的线性关系;最后,提出了有限域上q-多项式和n阶矩阵相互确定的一种新方案,从本质上解释了Rijndael S-box代数表达式的简洁性。 (2)提出了一种改进的AES S盒,在没有降低代数次数的前提下,将项数从原来的9项增加到255项,大大地提高了其代数表达式的复杂度;同时,改进S盒的布尔函数的严格雪崩、平衡性等密码学性质、抵抗差分密码分析的能力都没有改变,安全性高; (3)对AES S盒的阶次运算进行了研究,发现AES S盒的连续状态转移是一个马尔可夫链,其256个状态可以划分为5个常返态闭集,状态周期分别为59,87,81,27,2。 (4)从改变Rijndael的变换常量这一全新的角度降低了其实现的代价,包括软件和硬件的实现代价,尤其是硬件实现代价。改进后的AES加密和解密可以共享同样的硬件资源,尤其是其中的S盒,乘法列混合和其列混合的逆运算。除了密钥的安排顺序,Rijndael的加解密实现过程都是对称的。字节替换,字节逆变换,列混合与逆列混合都有同样的时间和空间复杂度。列混合和逆列混合的计算仅仅需要2次乘法和4次加法运算,此步运算与原先标准的AES的运算相比,时间复杂度降低了68%,从而可以大大的提高实现效率和减少实现资源。研究结果比目前其他的任何方法都要有效。 (5)分析了选择性明文攻击下,Subhayan Sen等人提出的基于细胞自动机的分组密码系统CAC(cellular automata based cryptosystem)是极不安全的,攻击数据复杂度仅为2个明密文对,时间复杂度为2次加密过程;尽管设计者隐瞒了其中某些模块的关键设计细节,本文给出了破解明文线性移位次数δ,Major CA的变换过程和其叠代次数Δ,使得这些隐瞒模块的细节更加明朗清楚,从而攻破了整个密码系统。 (6)分析了ElGamal签名方案在选择性密文攻击的情况下是不安全的,攻击者可以假冒签名者进行签名,而且可以攻击签名者的私钥,其攻击性不依赖于离散对数的求解问题。 (7)Bent函数是一类重要的密码函数,在密码学、纠错编码和组合设计中都有重要应用。通过对Bent函数的研究,发现偶数n≥4元平衡布尔函数的循环谱的所有谱值都可以被4整除,并给出了其最大绝对谱值。通过正规Hadamard矩阵研究给出了GF(2~n)上Bent函数计数的上下界,降低了Bent函数搜索的空间。