文档介绍:目录
设计总说明 3
INTRODUCTION 5
1 绪论 7
研究背景和意义 7<br 8
本文的工作和内容安排 9
2 密码学概述 10
密码学基本概念 10
密码分析技术 10
密码学中的安全性定义 11
密码学的主要任务 12
机密性 12
数据完整性 12
鉴别 12
抗抵赖性 12
密码体制的分类 12
3 RSA算法的数学理论基础 13
单向和陷门单向函数 13
同余及模运算 13
欧拉函数、欧拉定理和费尔马定理 14
乘法逆元及其求法 15
4 RSA算法介绍 17
RSA公钥加密解密概述 17
17
加密 17
解密 17
RSA算法的应用与举例 18
RSA算法的应用 18
RSA应用举例 19
RSA算法的攻击与安全性的讨论 20
对RSA的分解模数n攻击 20
对RSA的选择密文攻击 21
对RSA的小指数攻击 21
对RSA共模攻击 22
关于RSA算法的明文部分信息安全性 22
RSA的安全性讨论 23
RSA参数的选择 24
模数N的确定 24
e的选取原则 25
d的选取原则 26
5 RSA算法的系统及实现 27
大素数生成实现 28
密钥对产生实现 31
加密密钥产生 32
解密密钥产生 34
模幂运算的实现 35
大数运算处理 37
大整数的进制表示 37
39
40
42
43
43
45
46
6. 总结与展望 48
48
48
参考文献 49
致谢 50
RSA加解密算法的研究与实现
设计总说明
自20世纪90年代以来,随着计算机互联网络的飞速发展,网络技术的应用几乎已经深入到人类社会生活的一切领域。例如网上银行的开通、网上购物的流行以及企业之间的商业机密,银行与银行之间的业务往来,这一切的一切都离不开信息的安全传输。因此在当前的网络环境下,敏感信息的保护已经成为一个很重要的问题,一个安全、健壮的信息系统离不开各种信息安全技术的支持。计算机网络中所采用的核心安全技术中有许多来源于现代密码学,这一技术的研究和发展是计算机技术发展的重要保障。
加密技术按照密码使用方法不同可以分为对称密钥算法和非对称密钥算法。对称密钥算法中,加密、解密都使用相同的密钥。非对称密钥算法又称公钥密码算法,即加密、解密使用两个不同的密钥。由于公钥密码算法在保证数据的机密性、完整性以及签名和认可等方面的突出优点,它已经成为当今网络安全中最重要的解决方法。
,,成为最流行的密码体制。RSA密码体制是目前比较成熟的公钥密码体制,可用于数据加解密、数字签名、身份验证等。在各种安全或认证领域,如WEB服务器和浏览器信息安全、Email的安全和认证、对远程登陆的安全保证和各种电子信用卡系统,起着安全核心的作用,而用微电子技术将加密算法转换成硬件实现,不仅加解密速度快,而且抗物理攻击能力强,所以研究如何用硬件快速实现RSA有着重要的现实意义。但是大密钥加解密存在着运算速度缓慢、效率低下的问题,这成为制约它进一步推广的瓶颈。因此,找到一个快速的RSA的实现算法也是当前密码学的一个研究方向。
RSA加解密算法的实现主要在大素数的产生,密钥对的生成,模幂运算的实现以及大整数的存储与运算这四方面的问题。本论文根据这几方面的问题一一做了详细的介绍,其中大素数的产生采用Miller-Rabin素数检测法。
RSA算法的核心运算是大整数模幂运算,而模幂运算是由一系列的模乘运算构成。因此本文主要针对RSA公钥密码体制中大整数模指数算法进行了深入的研究,将该问题分解为对乘法算法、模乘法算法、模指数算法的研究并使用流行的面向对象软件开发工具Visual C++进行了相应的软件实现。
RSA密码算法体制是一种公开密钥算法,其加密