文件加密解密设计报告一、设计背景密码学是一门古老而深奥的学科,它对一般人来说是陌生的,因为长期以来,它只在很少的范围内,如军事、外交、情报等部门使用。计算机密码学是研究计算机信息加密、解密及其变换的科学,是数学和计算机的交义学科,也是一门新兴的学科。随着计算机网络和计算机通讯技术的发展,计算机密码学得到前所未有的重视并迅速普及和发展起来。在国外,它已成为计算机安全主要的研究方向,也是计算机安全课程教学中的主要内容。信息技术的飞速发展,人们的生活面貌发生了很大的改变,提高了各类型组织的管理水平和效率,同时信息技术也促进了社会的发展。如何保护计算机信息内容的问题,即信息内容的保密问题显得越来越重要。我们经常需要一种措施来保护我们的数据,防止被一些怀有不良用心的人所看到或破坏。文件加密为我们带来了帮助,使我们重要的信息和资料都有了很大的安全性。二、设计目的与意义目的:保密性:防止用户的标识或数据被读取;广泛性:可以对所有形式的文件进行加密解密,如:文档,图片,可执行文件等;数据完整性:防止数据被更改,加密解密后不改变原数据。意义:随着计算机的广泛应用,计算机信息的保密问题显得越来越重要。数据保密变换,或密码技术,是对计算机信息进行保护的最实用最可靠的方法。设计本系统可以对电脑中的任意文件进行加密,保证了计算机中信息的安全性、完整性。通过加密自己想加密的文件,防止他人偷窥,有利的保护了个人隐私。三、概述本系统使用对称的密钥来对文件进行加密解密。进入用户界面,用户使用此系统首先选择需要加密的文件,可选择路径也可以直接写入路径。然后输入密码(本系统要求输入8位),选择要加密的文件后点击加密键就可以对文件进行加密,生成密文。需要解密时,用户选择密文,同样可以直接写入路径或选择路径,然后需要输入与加密时相同的密码,之后点击解密键就可以对文件解密,生成与原文相同的文件。此加密系统包括下面四个组成部分:(1)未加密的文件,也称明文。(2)加密后的文件,也称密文。(3)加密解密设备或算法。(4)加密解密的密钥。五、系统流程系统流程图:用户选择加密解密获取密钥创建加密器初始化加密器获取等待加密的明文执行加密处理加密结果获取密钥创建密码器获取等待解密的密文初始化密码器执行解密处理解密结果输入密码输入密码生成密钥载入密钥保存密钥用户解析图:生成密钥:密钥位数设定计算出密钥当前密钥保存到了密钥缓存区中当前的备参量的值成功显示图形用户界面输入密码载入密钥:确定了载入的密钥类型密钥文件成功打开并读入了相应数据更新了相关备参量并成功显示更新数据四、功能模块确定了要保存的密钥类型和文件名称将相应密钥数据成功写入了文件图形用户界面提示了保存操作成功保存密钥:加密和解密文件:指定了运算将使用的密钥(密钥缓存区的key)准备好了将操作的数据缓存区(从文件读入了要加密或解密的数据)运算后数据成功写入文件图形用户界面给出加密或解密完成的提示制定了要写入的文件数据的文件名和路径设计内容:设计这个系统的主要目的是实现对文件的加密与解密,防止用户的标识或数据被读取,防止数据被更改,确保数据发自特定的一方。功能模块:设计的系统中共包括两个部分,加密模块,解密模块。加密模块:通过选择计算机中的需要加密的文件把其原始的数字信息(明文),按照加密算法变换成与明文完全不同的数字信息(密文)的过程。解密模块:是通过对已加密的文件(密文),按照解密算法把其还原成原来的数字信息(明文)的过程。五、开发环境开发工具:NetBeansIDE6.5运行环境:windowsXp系统六、参考文献《Java面向对象程序设计》/邱少明主编.—北京:清华大学出版社;北京交通大学出版社,2009.8《Java安全性编程实例》/徐迎晓编著.—北京:清华大学出版社;2003.4《Java数值计算算法编程》/周长发著.—北京:电子工业出版社;2007.1