密码学
我们想保守秘密。与其把所有的数据保存在我们的脑子里或保卫一个物理副本,我们可以对这些数据进行加密,使其以某种对不能解密的人没有意义的形式存在。
在本章中,我们主要讨论两种类型的密码学。对称密码学(symmetric cryptography)和非对称加密(asymmetric cryptography)。我们将处理原始数据、转换后的数据和密钥(key)。密钥是用于转换数据的参数。理想情况下,转换后的数据应该看起来像随机数据,而用不同(甚至相似)的密钥的数据应该也没有任何相似之处。这样的加密算法已经由科学家设计好了。
不安全因素
暴力破解意味着不断尝试用不同的密钥进行解密,直到找到正确的密钥。为了最大限度地防止这种情况,请使用尽可能随机的密钥。即使大多数程序使用你的密码的加密哈希值作为密钥,但请记住,攻击者可以尝试流行的密码和单词组合,所以在设置密码时要遵循典型建议。
如果有任何方法可以比使用暴力更快地解密数据(计算成本更低),那么一种加密算法就被认为是被破解了的。然而,这些可以在不同的层次上进行,有些比其他的更能加快尝试的速度。