上QQ阅读APP看书,第一时间看更新
2.1.2 密码学分类
密码学算法研究的是如何对信息进行加密和解密。前面我们已经简单介绍过加密和解密,在密码学算法中,还有一个重要的环节,就是创建密钥。密钥是加密和解密算法中的输入参数,所以有加密密钥和解密密钥之分。正如前面提到的恺撒密码,平移的位数就是恺撒密码加解密的密钥。密钥像是保险柜的钥匙,帮助我们把贵重的东西锁在保险柜里不被别人偷盗;而一旦遗失了钥匙,别人就会轻而易举的打开保险柜,拿走我们的东西。所以,密钥是关键,千万不能被他人窃取。加密、解密和密钥关系如图2-7所示。
图2-7 加密、解密和密钥关系
根据加密密钥和解密密钥是否相同,可以把密码分为三类:
1.对称密码
所谓对称密码(symmetric cryptography),即加密和解密都用同样的密钥。对称密码有很多其他名称,比如:传统密码、私钥密码、共享密钥密码。
2.公钥密码
所谓公钥密码(public-key cryptography),即加密和解密使用不一样的密钥。公钥密码又称非对称密码。
3.混合密码
混合密码是将对称密码和公钥密码结合在一起的密码方式。一般混合密码是用对称密码来加密明文,加密和解密使用同一密钥;用公钥密码来加密对称密码里使用的密钥,将这个密钥作为加密对象。