一 密码算法
用于解决复杂问题的步骤,通常称为算法。
从明文生成密文的步骤,也就是加密步骤,被称为加密算法。
从密文生成明文的步骤,也就是解密步骤,被称为解密算法。
加密和解密的算法合在一起,被称为密码算法。
二 密钥
密码算法中需要密钥,就像现实世界中的钥匙。然而它不是小小金属片,而是像56347583456834563485647这样的一串长长的数字。
加密、解密与密钥三个朋友之间,常常发生下面的故事:
无论是加密时还是解密时,都需要知道密钥。
我们做这样一个类比:
银行保险柜——加密或解密算法
保险柜中的重要物品——传送的消息
保险柜的钥匙——密钥
即使保险柜再坚硬,如果有了保险柜的钥匙,都能将它打开。
密码世界则是这样的:
即使加密或解密算法的强度再高,如果有了密钥,都能将它解密。
三 对称密码和公钥密码
密码分为对称密码和公钥密码。
对称密码:指的是加密和解密使用的是同一密钥的方式。对称密码有很多别名:公共密钥密码、传统密码、私钥密码、共享密钥密码。这里千万别把私钥密码和私钥这两个完全不同的概念混为一谈。我们可以这样理解这两个概念:私钥密码是针对公钥密码来说的,它们的地位很高,被密码这个总司令管,它们两者之间是平级关系,是密码这个总司令的两个军长。而私钥是针对公钥来说的,它们都属于公钥密码这个军长来管理,一般成对出现在加密和解密的过程中。
公钥密码:指的是加密和解密时使用不同密钥的方式。因此,它又被称为非对称密码。公钥密码是在20世纪70年代出现的,这种密码在密码学界引起了一场重大变革。现代计算机和互联网的安全体系,很大程度上都依赖于公钥密码。
四 对称密码和公钥密码图解