论文部分内容阅读
数字签名是实现认证的重要工具。其中普通数字签名由于有着广泛的使用背景,一直以来倍受关注,但现有大多数普通数字签名算法对于同态攻击和活动攻击是脆弱的,因此设计一种能有效克服这两方面缺陷的普通数字签名算法是一个十分重要的研究课题。本文即是从这一内容出发,从杂凑算法和数字签名算法两方面提出了一种新的普通数字签名算法ELDSA。本文的主要研究工作包括: (1)介绍了数字签名的基本特性、分类、两类密码体制的数字签名和公钥密码体制的基本概念。 (2)系统分析了RSA、ELGamal、DSS/DSA、LUC四种典型普通数字签名算法机制,指出了各自缺陷以及相应的解决办法;从分析结果可知,现有大多数普通数字签名算法易受同态攻击和活动攻击。 (3)介绍了杂凑函数的基本概念,讨论了杂凑函数的安全性,杂凑算法的结构,迭代杂凑函数的构造方法,单向迭代函数的选择,杂凑函数的设计思想以及杂凑函数的设计理论。 (4)由于解决同态攻击的方法是在对消息签名之前作杂凑变换,因此设计一种安全的杂凑函数将是克服这一缺陷的有效办法。而杂凑函数的安全性主要在于杂凑轮函数的安全性,因此杂凑轮函数的设计显得至关重要。但现有大多数杂凑算法如MD_x和SHA等都是采用三变量简单非线性布尔函数作为杂凑轮函数,并且这些杂凑轮函数有对称。因此在本文中,我们利用J.Seberry等人提出的方法,构造出了同时满足平衡性、高度非线性及严格雪崩特性的并且适合软件实现的新的五变量高度非线性布尔函数作为杂凑轮函数,并在此基础上提出了新的杂凑算法MSHA。该算法的杂凑值为160bit,与目前广泛使用且最安全的杂凑算法SHA-1相比,MSHA有着更高的安全性,并且速度差不多。 (5)由于解决活动攻击的方法是在验证签名之前先验证公钥的有效性,因此在本文中,我们提出了一种新的类似于ELGamal的数字签名算法ELDSA。该算法在验证签名的同时也验证了公钥的有效性,并且大大减少了计算量和存贮量。ELDSA的安全性基于单向杂凑函数、因子分解和离散对数假设。 (6)系统分析了ELDSA算法的安全性和时间复杂度,分析结果表明,新设计的算法具有足够的安全强度和较小的时间复杂度。