摘要:随着互联网技术和应用日益广泛,以及大数据、云计算技术和应用的逐渐深入,人们生活越来越便利的同时,信息安全问题也层出不穷,成为一个日益严重的问题。传统的数据加密标准(DES)在计算机硬件技术大幅度更新后,不能满足一些网络的安全性需求,也不能满足用户便捷的短口令需求。
本文主要研究了常用的分组密码算法DES-X以及散列算法SHA-512,对其加解密过程、密钥扩展过程、散列过程等进行了详细分析,并结合分组密码常用的五种工作模式,利用C++语言设计并实现了一种实用的密码系统。该系统支持由用户输入短口令生成加解密时所需的长密钥,并能够对任意类型、任意长度的文件进行加密和解密操作。最后,通过实例测试,证明了所实现的加解密系统具有正确性、有效性。
关键词:密码学;DES-X;SHA-512;工作模式;C++
目录
摘要
Abstract
1 绪论-1
1.1 研究背景及意义-1
1.2 国内外研究现状-2
1.3 本文工作-3
2 背景知识-4
2.1 密码学-4
2.2 散列算法-6
2.3 工作模式-8
2.4 实现工具-12
3 算法分析-13
3.1 DES-X算法分析-13
3.1.1 DES-X算法-13
3.1.2 DES-X算法安全性-16
3.2 SHA-512算法分析-17
4 算法实现-18
4.1 总体设计-18
4.1.1 系统功能-18
4.1.2 系统流程图-20
4.2 DES-X算法实现-22
4.2.1 子密钥生成-23
4.2.2 分块加密-25
4.3 SHA-512 算法实现-27
4.4 工作模式引入-29
5实现结果与测试-31
5.1软件使用-31
5.2 功能测试-32
5.3 性能测试-35
6 结论-38
参 考 文 献-39
致 谢-40