摘要:随着计算机网络和信息技术的快速发展,信息化成为当今社会的主题。各个领域对计算机的使用越加频繁,人们对信息传输的安全性要求逐渐提高,信息敏感性问题日益突出,目前主要使用密码算法对信息及敏感性数据提供保密性服务。
本文对国家密码标准算法SM3和SM4进行了研究,对其加密、解密、密钥扩展、迭代压缩等过程进行了详细地分析,并且通过Java语言设计并实现了一种基于短口令的加解密系统。该系统支持电码本模式(ECB)和密文分组链接模式(CBC)两种工作模式,并通过SM3算法对用户输入的短口令密钥进行杂凑,进而对任何类型、大小的文件进行加解密。
关键词:密码学;SM3;SM4;工作模式;Java
目录
摘要
Abstract
1 绪论-1
1.1 研究背景及意义-1
1.2国内外研究现状及发展趋势-2
1.3本文工作1.3本文工作-2
2 背景知识-4
2.1 密码学-4
2.1.1 分组密码-5
2.1.2 杂凑算法-6
2.2 常用工作模式-6
2.2.1 电码本工作模式(ECB)-7
2.2.2 密文分组链接工作模式(CBC)-8
2.2.3 密文反馈工作模式(CFB)-8
2.2.4 输出反馈工作模式(OFB)-9
2.2.5 计数器工作模式(CTR)-10
2.3实现工具-11
3 算法分析-12
3.1 SM4分组密码算法-12
3.1.1 SM4分组密码算法分析-12
3.1.2 SM4分组密码算法安全性分析-15
3.2 SM3杂凑算法-15
3.2.1 SM3杂凑算法分析-15
3.2.2 SM3杂凑算法安全性分析-18
4 系统实现-21
4.1 系统总体设计-21
4.1.1 系统功能-21
4.1.2 系统流程-23
4.2 SM3杂凑算法的实现-23
4.3 SM4分组密码算法的实现-25
4.4 工作模式的引入-26
5 系统测试-29
5.1 系统使用-29
5.2 功能测试-31
5.3 性能测试-36
6 小结-38
参 考 文 献-39
致 谢-40