赞
踩
通过对DES和RSA的使用和开发,加深对数据加密算法的理解,掌握对称加密和非对称加密体制的框架。提高对加密和解密原理的认识;学会使用加密和解密软件。
密码体制是指实现加密和解密功能的密码方案,从密钥使用策略上,可分为对称密码体制和非对称密码体制两类。非对称密码体制也被称作公钥密码体制。它们的主要差别在于解密时所用的解密密钥能否由加密时采用的加密密钥推导出来。在DES加密过程中,采用的是一系列古典加密的算法中的置换、异或加密、代替等方法经过16轮变换后得到加密的结果,解密的过程是加密的逆过程。
RSA是一种经典的反对称加密算法,它的加密过程涉及到大数的幂指数运算。到目前为止,还没有找到一种有效的方法,能够在短时间内将一个给定的大数分解成两个素数的乘积。因而可以利用这种数学难题,设计出解密密钥和加密密钥,而且很难从解密密钥推出加密密钥。这个算法的优势在于其安全性得到了数学上的NP问题的保证,具有一定的数学基础。与传统的对称密码算法相比,RSA具有两个明显的优势,首先它为实现数字签名和认证提供了手段,而DES无法实现这一功能;另一方面,在一个具有N个节点的网络中,DES算法进行数据加密时,需要使用N(N-1)/2对密钥,而用RSA算法进行加密时,只需要N对密钥,从而大大减轻了密钥分配和管理的工作量。
一台安装Windows 2000/XP的PC机,Visual C++或Win-TC开发环境。
1)从服务器下载DES示例程序,并执行,输入明文、密钥、密文进行加密和解密,可以观察采用不同的密钥进行加密和解密后的结果情况(如图A.1所示),并对实现的代码进行修改和完善。
2) 从服务器下载RSA示例程序,并执行,通过生成随机数、寻找素数、最后形成密钥对,可以实现对明文和密文的加密和解密(如图A.2),比较对称加密和非对称加密在密钥上的差别,以及解密的安全性。并修改和完善基于MFC的RSA源程序,对其中存在的问题进行改进(例如,改进密码框可以实现自动填充到对应的文本框,改进代码加密解密的时候存在小bug等问题),形成一个RSA的加密/解密演示系统。
从这个实验可以看出,DES对于大规模的数据加密速度明显快于RSA,但从安全上来讲,RSA 的安全性会优于DES。
3)参考服务器上给出的RC4参考代码,设计一个界面,可以实现在该界面中对给定的明文信息用RC4算法对该明文进行加密和解密操作。
4) 从服务器上下载PGP相关程序,并阅读相关文档,参考文档的说明实现两个人之间的信息加密传输。(这部分可以选做)
图A.1 DES加密/解密示例程序
图A.2 RSA加密解密示例
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。