论文部分内容阅读
随着互联网应用的普及,信息安全的观念已深入人心。从技术角度讲,密码技术是使信息系统达到安全的核心手段。密码体制按密钥可以划分为传统密码体制和公钥密码体制两种。公钥密码体制证实了从发送端到接收端无密钥传输的保密通信是可行的,从而非常适合于计算机网络的保密通信。RSA是公钥密码体制最成熟、最典型的代表。既可用于密钥传递又可用于数字签名,用途十分广泛。已成为数据加密事实上的标准。RSA加解密可归结为对的运算,由于计算机的处理速度的不断提高,分解大整数的能力日益增强,为了保证安全,目前模数及密钥的二进制位数为1024 2048,所以RSA算法运算量极大。因而,对RSA公钥密码系统算法中的大整数运算进行研究具有显著的现实价值。
本论文完成的主要工作如下:
(1)对RSA公钥密码体制原理进行了描述。介绍了公钥密码用到的数论知识;讨论了针对RSA的各种攻击方法,以及如何作出处理以抵制这些攻击;讨论了RSA的安全性和参数选择;详细讨论了大素数的生成和检测。以同余理论为基础,推广了整除性的两个性质。
(2)对RSA公钥密码系统中的算法进行了研究。首先给出了一些常用的算法,包括大整数的四则运算,模运算,求逆元算法,欧几里德算法,快速平方算法,模幂运算等。其次,对快速平方算法进行了改进,使其易于在计算机上实现;提出了一种新的模运算算法,该算法没有乘法和除法运算。
(3)RSA公钥密码系统的实现。讨论了表示大整数的数据结构;在深入研究RSA体制基础上,用C++语言实现了大部分算法模块。总结了作者在程序设计中积累的一些经验和心得。