一、加密
加密运算需要两个输入:密钥和明文
解密运算也需要两个输入:密钥和密文
密文通常看起来都是晦涩难懂、毫无逻辑的,所以我们一般会通过传输或者存储密文来保护私密数据,当然,这建立在一个基础上,只有经过授权的人或者机器,才能够通过密文计算出明文
那经过授权的人或者机器,是如何通过密文计算出明文的?密钥
你可能会觉得,密钥太重要了!但现代密码学之前的加密,并不涉及密钥,加密数据的安全性完全依赖于加密算法的保密性,一旦算法被破解,密文也就被破解了,虽然算法保密看起来很安全,但算法质量是令人担忧的,到了现代密码学,加密数据的安全性依赖于加密算法的质量和密钥的保密性这两个因素,密钥是私有部分,需要严格保密,算法是公开的,如果一个算法在接受了公开的分析、评测和各种攻击之后,依然被认为是安全的,我们才能说这个算法的质量是真的经得起考验
现代密码学的加密数据安全性,是基于密钥的保密,而非加密算法的保密,使用公开的加密算法是密码学领域的一个基本常识
二、密钥
对称密钥
非对称密钥