摘 要
本文讲述了是一个简单的文件加密软件的设计与实现,采用对称加密技术将文件的信息进行加密,将文件的信息转换成密文,而只有拥有密钥的用户才能获取文件的明文数据。。
对称加密的基本算法有DES、RC4、RC5和Blowfish等,本文介绍的软件采用的是DES算法。DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法。本文还涉及的算法有MD5,MD5是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值,用于确保信息传输完整一致。MD5的典型应用是对一段信息产生信息摘要,以防止被篡改。
本次设计的编程环境是在Linux上使用Qt进行c/c++进行开发,Qt是一个跨平台c++图形用户界面应用程序开发框架。Qt是面向对象的框架,使用特殊的代码生成扩展以及一些宏,Qt很容易扩展,并且允许真正地组件编程。本次设计是运用c/c++语言将DES加密的核心算法与Qt结合来实现对于信息的加密与解密功能。
关键词:Linux,DES算法,MD5,文件加密
Abstract
This paper describes the design and implementation of a simple file encryption software, which uses symmetrical encryption technology to encrypt the information of the file and convert the information of the file into ciphertext. Only the user who has the key can obtain the clear data of the file.
The basic algorithms of symmetric encryption are DES, RC4, RC5 and Blowfish. The software introduced in this paper is DES algorithm. DES, which is called Data Encryption Standard, is a block algorithm using key encryption. MD5 is a widely used cryptographic hash function, which can generate a 128-bit (16 bytes) hash value to ensure the integrity and consistency of information transmission. A typical application of MD5 is to generate a summary of a piece of information to prevent tampering.
The programming environment of this design is to use Qt to develop c/c++ in Linux. Qt is a cross-platform application development framework of C++ graphical user interface. Qt is an object-oriented framework, using special code generation extensions and some macros, Qt is easy to expand, and allows real component programming. This design uses c/c++ language to combine the core algorithm of DES encryption with Qt to realize the function of encrypting and decrypting information.
Key words: Linux,DES algorithm,MD5,File encrypti
第一章 绪论
1.1 课题来源和意义
1.2 课题国内外研究现状分析
1.3 课题研究目标及内容
1.4 本文组织结构
1.5本章小结
第二章 系统需求分析
2.1 整体需求概述
2.2 功能需求分析
2.3 相关技术
2.4 本章小结
第三章 系统总体设计
3.1系统平台架构设计
3.2 系统功能模块设计
3.3 本章小结
第四章 系统详细设计与实现
4.1系统整体的设计与实现
4.2 加密的设计与实现
4.3 解密的设计与实现
4.4 本章小结
第五章 测试与验证
5.1 系统测试策略
5.2 系统测试方案
5.3 测试结果分析
5.4 测试结论
5.5 本章小结
总结与展望
参考文献
致谢