结论 27
致谢 28
参考文献 29
附录 python 语言的程序编码 32
1 绪论
本科毕业设计说明书 第 1 页
自 21 世纪起,计算机、互联网的高速发展及普及,使得信息能够的快速传递,足以让 我们做到“秀才不需出家门,便可知晓天下事”。虽然信息化为我们创造了信息的便利,但 也同样让我们处于在没有个人隐秘的时代(比如前几天的 onion 勒索病毒),对于国家也是 如此。2014 年,提到:没有网络信息的安全就没有国家的安全。那么,如何确保 网络上的信息的安全?我们平时从家里出远门时都要锁门,是为了保证家里物品的安全,但 是这个锁,又不能用别人的锁,否则会不安全。对于信息也是如此,我们用自己的“锁”对 信息“加锁”,也就保证了信息的安全。其实,这个“锁”就是密码技术,“加锁”就是加 密,而“自己的方法”就是国产商用密码,也叫国产密码。
密码技术,是通过使用一些数学方法,对信息进行数学变换或者运算,将隐秘的消息转 换成为乱码的文字信息,使得除了指定的人来接收以外,其他的任何人都不能够从中得到一 切所有用的信息,而且也不能够对这种乱码文字进行更改、伪造。而负责研究密码技术的学 科叫做密码学,存在有两个分类,一个是密码编码学,另一个是密码分析学。密码编码学是 通过对信息进行编码,从而使信息能够保密;密码分析学意在研究和分析,运用哪些方法能 够攻破密码。二者相辅相成。
密码系统(也叫密码体制),由明文(M)、密文(C)、密钥(K),加密算法、解密算法五个部 分组成。对数据进行加密的实现过程是这样的方法: 发送方鲍勃用加密密钥,通过加密算法, 对信息加密,然后再发送出去。接收方爱丽丝接收到密文之后,用解密密钥来解密,使密文 恢复成为明文。如果在传输的过程中有人中途窃取,那么他只能得到乱码文字,而且无法通 过编码知晓,从而信息就有了一定的保密性质。
国家商用密码管理办公室从国家信息安全的角度出发,制定了一系列国家商用密码算法 标准,即为国家商用密码(国产密码,也叫国产加密算法)。这些标准按密钥方式或划分可 分为对称加密算法,非对称加密算法和散列(哈希 hash)算法三类。其中对称加密算法含有: SM1、SM4、SM7、祖冲之密码(ZUC)等;非对称加密算法含有:SM2、SM9;而 SM3 则是属于 散列算法。
本文通过对国产密码这三个类别中,分别取其中的 SM4、SM2、SM3 这三类密码算法进行 研究,并与国际上 DES、RSA 等算法进行对比,最后就 SM4 算法进行了编程实现。
2 对称密码
2.1 对称密码体制
对称密码体制是一种非常传统的密码,又叫做单密钥密码(简称单密钥),或者是秘密 密钥密码体制。一个密码体制被称为是对称密码体制,那么该密码的加密密钥与解密密钥相 同;或者虽不同,但是可以从其中的一个很容易计算出另一个。对称密码体制具有一下特点:
一个是加密密钥与解密密钥相同,或者本质上相同;另一个是密钥必须严格的保密[2]。这说明密钥的保密意味着密码通信系统的安全性得到了保障。通信双方对信息进行加密以后,信 息可以在任意一个信道上传输,但是在双方传递密钥的过程中,必须提供安全的可靠的信道 来传送。