对称加密vs非对称加密
密码学体系目前主要分为两大主要研究领域:对称密码学和非对称密码学。对称密码学通常是对称加密的同义词,非对称密码学包括两个主要用例:非对称加密和数字签名。
因此,我们可以将这些概念分组如下:
对称密钥密码学
对称加密
非对称密码学 (或公钥加密)
非对称加密(或公钥加密)
数字签名(可能包括也可能不包括加密)
本文将重点介绍对称和非对称加密算法。
对称加密vs非对称加密
加密算法通常分为两类,称为对称和非对称加密。这两种加密算法之间的根本区别在于对称加密算法使用单个密钥,而非对称加密使用两个不同但相关联的密钥。这种区别的描述,虽然非常简单,但却明确解释了两种加密技术之间的功能和使用方式上的差异。.
理解加密密钥
在密码学中,加密算法生成几比特的字符密钥用于加密和解密一段信息。这些密钥的使用方式也很好的说明了对称和非对称加密之间的区别。
虽然对称加密算法使用同一个密钥来执行加密和解密,反之,非对称加密算法使用一个密钥来加密数据,再使用另一个密钥来解密它。在非对称加密系统中,用于加密的密钥称为公钥,可以与他人进行共享。另一方面,用于解密的密钥是私钥,应该记住保密。
例如,如果Alice向Bob发送使用对称算法加密过的消息,则她需要与Bob共享她用于加密的加密密钥,以便他可以解密该消息。这意味着如果恶意行为者拦截了密钥,他们就能够轻松访问加密过的信息。
但是,如果Alice使用非对称加密算法,她会使用Bob的公钥对消息进行加密,Bob可以使用其私钥对消息进行解密。因此,非对称加密提供了更高级别的安全性,因为即使有人拦截了他们的消息并获得了Bob的公钥,他们也无法解密该消息。
密钥长度
对称和非对称加密之间的另一个功能差异与密钥的长度有关,密钥的长度以比特为单位,并且与每个加密算法提供的安全级别直接相关。
在对称加密中,密钥是随机选择的,其长度通常设置为128或256位,具体长度取决于所需的安全级别。然而,在非对称加密中,公钥和私钥之间在数学上相关联,这意味着两者之间存在算术联系。攻击者可能利用该模式破解密文,因此非对称密钥需要更长的密钥长度,才能提供相同级别的安全性。密钥长度的差异是如此明显,以至于128位的对称密钥和2,048位非对称密钥才能提供大致相同的安全级别。
优缺点比较
这两种不同类型的加密算法之间,优缺点各异。对称加密算法运算速度快,并且需要较少的计算资源,但它的主要缺点是密钥的分发。因为在加密和解密信息时,使用相同的密钥,所以必须将该密钥分发给需要访问数据的人,这也随之带来了安全风险(如前所述)。
相反,非对称加密使用公钥进行加密,私钥进行解密,来解决密钥分发的问题。然而,需要权衡的是,与对称加密相比,非对称加密系统运行得非常缓慢,并且由于它们的密钥长度非常长,因此需要更多的计算资源。
应用案例
对称加密
鉴于其具有更快的运算速度,对称加密在现代计算机系统中被广泛用于保护信息。例如,美国政府使用高级加密标准(AES)来加密和分类敏感信息。AES取代了之前的数据加密标准(DES),后者是在20世纪70年代开发的,一直作为对称加密的标准。
非对称加密
非对称加密通常用于大量用户需要同时加密和解密消息或数据的系统中,尤其是在运算速度和计算资源充足的情况下。该系统的一个常用案例就是加密电子邮件,其中公钥可以用于加密消息,私钥可以用于解密。
混合加密体系
在许多应用中,对称和非对称加密会一起使用。这种混合系统的典型案例是安全套接字层(SSL)和传输层安全(TLS)加密协议,该协议被用于在因特网内提供安全通信。SSL协议现在被认为是不安全的,应该停止使用。相比之下,TLS协议目前被认为是安全的,并且已被主流的Web浏览器所广泛使用。
加密货币使用密码学吗?
许多加密货币中使用的加密技术向终端用户提供了更高级别安全性。例如,当用户为其加密钱包设置密码时,这时就会用到加密算法,通过密码学使用于访问软件的文件被加密。
然而,由于比特币和其他加密货币使用了公钥和私钥,因此存在一种常见的误解,即区块链系统使用非对称密码学算法。如前所述,非对称加密和数字签名是非对称密码学(公钥加密)的两个主要用例。
因此,并非所有数字签名系统都使用加密技术,即使它们用到了公钥和私钥。实际上,可以仅对消息进行数字签名而不进行加密。RSA是用于对加密消息进行签名的示例算法,但比特币使用的数字签名算法(名为ECDSA)根本没有用到加密功能。
总结思想
在现如今的数字化时代中,对称和非对称加密在保护敏感信息和网络通信中扮演着重要角色。虽然两者都十分有用,但它们也各具优缺点,因此适用于不同的应用场景。随着密码学的不断发展,利用密码学能够更好的抵御各类全新和复杂的威胁,对称和非对称加密也与计算机安全紧密相关。