意如其名,可逆加密算法表示加密的密文通过特定的条件是可以被逆向解密出来的。
可逆加密算法的核心是密钥,而根据密钥类型的不同可逆加密算法分为:
对称加密算法是一种快速、简单的加密方式。
加密(encryption)与解密(decryption)使用的是同一份密钥(secret key)。
因此其安全性依赖于所使用密钥的安全性,密钥越大,加密越强,但加解密过程越慢。
对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。
对称加密算法的缺点是密钥分发困难,不便于应用在网络开放的环境中。
因为加密和解密使用同一份密钥,因此发送者和接收者如何安全的完成密钥交换是个难题。
即便如此,由于对称加密算法效率高,依旧被广泛使用在很多加密协议的核心当中。
常见的对称加密算法:DES AES 3DES 等。
当我们理解了对称加密后再来看非对称加密就变得容易。
非对称加密算法为数据的加密与解密提供了一个非常安全的方法。
因为加解密时使用了一对密钥,公钥(public key)和私钥(private key)。
公钥可以对外开放,分发给任何人,发送者通过公钥对明文内容进行加密。
私钥则只有接收者自己持有,通过公钥加密的密文只有通过与该公钥成对的私钥才能进行解密。
非对称加密算法消除了最终用户交换密钥的需要,因此保密性比较好,解密花费时间长、速度慢,适合少量数据进行加密。
常见的非对称加密算法:RSA DSA 等。
对称加密算法效率高,但是分发密钥困难。
非对称加密算法效率低,但无需分发密钥。
实际应用中可以综合两者实现高效且安全的解决方案:
相比较可逆加密算法而言,不可逆加密算法就更为简单粗暴了。
通过不可逆加密算法加密后的内容无法逆向解密获得原始的明文。
由于加密过程是单向的特性,不需要密钥进行辅助,诸如密码、口令等信息一般都会采用不可逆加密存储。
而验证明文内容,只有再次依照之前的加密算法进行加密一次比较密文内容。
由于不可逆加密算法计算复杂、工作量繁重,一般也仅适用于少量数据的加密。
常见的不可逆加密算法:MD5 SHS 等。
一般多用于密码加密。