几种常见加密算法的实现和对比研究

本文分析了MD5,RSA,AES三种加密算法的模型架构。详细诉说了选择这三种加密算法的原因和角度。


摘   要:作为基础理论性研究,本文尝试在数据加密领域中对最常用的算法进行研究比较。主要的任务是针对MD5,RSA和AES这三个算法的实现及其相关性能进行对比研究。在算法实现这一环节,设计程序主要借助了OpenSSL函数库,利用C++这一强大的开发语言进行仿真实现。程序实现了三个算法对数据的加密,AES和RSA对数据的解密算法。MD5由于其原理采用的是散列算法,作为一种单向不可逆的加密算法不可解密。

在对比研究这一环节,利用MFC技术做成了单文档形式的可视化程序。用表格的形式对三个数据加密算法从破解可行性、加密算法运行时间、解密算法运行时间等角度进行了对比研究。在整个程序的实现过程中,不断加深了对数据加密领域方面的知识的认识和学习。在论文的撰写过程中,对数据加密的数学原理、模型概念、实现流程、程序实现进行了深入的探讨。在互联网随处可见的今天,进一步完善和更新数据加密技术是时代所需。

关键词:加密算法;MD5;RSA;AES

Abstract:The graduation design is a theoretical study,which tries to discuss and compare the most commonly algorithms in the field of data encryption. The main tasks are the realization of MD5,RSA,AES and comparison of these three algorithms in comparative performance. In the section of implementing the algorithms,the program mainly utilizes the OpenSSL function library and make use of C++ development language for simulation. The program completes the task of three algorithms for data encryption,AES and RSA for data decryption. MD5,as a one-way irreversible encryption algorithm which is based on hash algorithm,can not be decrypted.

In the section of comparing three algorithms,I make use of MFC single document technology in the form of visualization. The three data encryption algorithms are used to compare the crack feasibility,the running time of the encryption algorithm and the running time of the decryption algorithm. In the whole process of the research,I have a deeper understanding of the field of data encryption knowledge. In the process of writing the paper,the mathematical principles of data encryption,model concept,implementation process and program implementation were discussed in depth. With the popularity of the Internet,Improving and updating the data encryption technology is the general trend.

Keywords: encryption algorithm; MD5; RSA; AES

目 录

第1章 绪论 1

1.1 选题意义 1

1.2 国内外研究现状 1

1.3 本文框架结构 1

1.4 本章小结 2

第2章 加密算法介绍 3

2.1 加密算法的基本概念 3

2.2 加密算法的一般原理 3

2.3 加密算法选择的标准 5

2.4 本章小结 6

第3章 几种典型加密算法的模型 7

3.1 MD5加密算法模型 7

3.1.1 MD5加密算法的概述 7

3.1.2 MD5算法的特征 7

3.1.3 实现流程 7

3.2 RSA加密算法模型 11

3.2.1 RSA加密算法的概述 11

3.2.2 RSA算法的特征 11

3.2.3 实现流程 12

3.3 AES加密算法模型 13

3.3.1 AES加密算法的概述 13

3.3.2 AES算法的特征 13

3.3.3 实现流程 14

3.4 本章小结 16

第4章 加密算法的实现与可视化性能对比 17

4.1 相关技术介绍 17

4.1.1 OpenSSL介绍 17

4.1.2 MFC介绍 17

4.2 MD5算法的实现 17

4.2.1 MD5算法的代码实现过程 17

4.2.2 MD5算法的仿真实现 19

4.3 RSA算法的实现 19

4.3.1 RSA算法的代码实现过程 19

4.3.2 RSA算法的仿真实现 20

4.4 AES算法的实现 21

4.4.1 AES算法的代码实现过程 21

4.4.2 AES算法的仿真实现 22

4.5 三种算法的对比分析 23

4.5.1 加密时间对比 23

4.5.2 解密时间对比 24

4.5.3 破解难度 25

4.6 本章小结 25

结   论 26