摘要:随着全球信息化的发展,信息资源已经成为了社会的重要战略资源,信息技术和信息的开发应用已渗透到国家政治、经济、军事和社会生活的各个方面,成为生产力的重要因素。如何确保信息安全则已成为了世人关心的重大问题,目前通过加密技术确保信息的保密性是目前一个非常有效的手段。
本文研究了WHIRLPOOL杂凑算法、Camellia分组密码算法和常用的工作模式,对其密钥扩展、迭代压缩、加密和解密等过程进行了详细分析,并且通过Java语言设计实现了一种基于短口令的加解密系统。该系统支持电码本模式(ECB)和密文分组链接模式(CBC),通过WHIRLPOOL算法对用户输入的短口令进行杂凑,生成所需要的密钥,进而实现对任何类型、大小的文件进行加解密。
关键词:密码学;Camellia分组密码算法;WHIRLPOOL杂凑算法;工作模式;Java
目录
摘要
Abstract
1 绪论-1
1.1 研究背景及意义-1
1.2国内外研究现状及发展趋势-2
1.3本文工作-3
2 背景知识-5
2.1 密码学-5
2.1.1 古典密码-5
2.1.2 近代密码-5
2.1.3 现代密码-6
2.2 杂凑算法-7
2.3 工作模式-7
2.3.1电码本模式-7
2.3.2 密文分组链接模式-8
2.3.3 密文反馈模式-9
2.3.4输出反馈模式-10
2.3.5计数器模式-11
2.4 实现工具-12
3 算法分析-14
3.1 Twofish算法-14
3.1.1 算法分析-14
3.1.2 安全性分析-18
3.2 WHIRLPOOL算法-19
3.2.1 算法分析-19
3.2.2 安全性分析-20
4 系统实现-21
4.1总体设计-21
4.1.1 系统功能-21
4.1.2 系统流程-24
4.2 Camellia算法实现-24
4.3 WHIRLPOOL算法实现-26
4.4 工作模式引入-28
5 实现结果与测试-30
5.1 软件使用-30
5.2 功能测试-31
5.3 性能测试-35
6 总结-36
参考文献-37
致谢-38