论文部分内容阅读
RSA是一种公钥密码算法,其加密密钥和算法本身都可以公开,解密密钥则归用户私人拥有。从诞生那天起,RSA就因为安全强度高、使用方便等卓越性能受到关注,并得到广泛应用。目前,许多密码系统中都嵌有RSA密码算法。但是,教科书式的RSA算法安全性差,相反,只要RSA的大数核心猜想成立,那么随机填充的RSA算法在当前技术条件下将获得较好的安全性。本文针对RSA模的安全性,利用算术级数的素数定理对大素数进行分类,来分析分类后的素数对RSA模安全性的影响和作用,并将安全的RSA模用于随机化填充的概率数字签名,实验结果证明随机化填充的RSA概率数字签名是安全的。本论文完成的主要工作如下:RSA密码算法有关基础理论的学习和研究。本文学习和研究了RSA模与Blum数的有关性质,并分析了这些性质对RSA算法安全性的影响;提出了算术级数的素数定理的一种证明方法,并介绍了一种结合伪随机数生成算法产生大素数的算法。给予RSA的随机数字化签名以及形式化证明。RSA函数是单向陷门函数,从而保证了RSA公钥密码系统的安全性。本文给出了RSA概率数字签名的形式化证明。设计了一种随机化填充的RSA数字签名的具体实现方法。本文的实验过程中验证了RSA算法参数选取,包括如何产生大素数和构造RSA算法参数;实现了具体的数字签名的生成,包括模的幂运算,以及数字签名的验证过程,包括随机化填充的RSA概率数字签名算法及其具体实现。本文的研究表明:为了保证RSA算法的安全性,RSA模的选择既要满足Blum数的六个性质外,还需要满足本文对素数的分类及素数定理中给出的相关性质;通过形式化证明安全性所涉及的一个量化关系,该关系把RSA系统的安全性和计算复杂性理论中的Factor数论问题转换成著名难题的解-大数分解;实验表明,利用本文提出的方法和算法进行基于随机化填充的RSA概率数字签名是可行的,可有效地保证数字签名过程的安全性。