这是我参与8月更文挑战的第4天,活动详情查看:8月更文挑战
对称密钥密码体制及典型算法
对称算法:有时又称为传统密码算法,加密密钥与解密密钥相同,或者可以简单相互推导,也称秘密密钥算法或单密钥算法,要求发送方和接收方在安全通信之前商定一个密钥。
优点:算法实现的效率高、速度快。
缺点:管理密钥变得十分复杂,因为针对一个用户就要商定一个密钥,如果用户过多那么密钥也就会非常的多。
以下都是比较常见的对称算法。
DES 算法。
DES算是最常用的分组加密算法,以64位分组对数据加密。它的密钥实际长度是56位(因为每个第8位都用作奇偶校验)。DES 的解密方式只需按照加密的逆过程求解即可。由于DES 加密过程的算法是公开的,所以密钥K的保密就显得尤为重要,只有发送方与接收方采用相同的密钥进行加密解密才能获取明文数据。为了提高加密强度,后来又发展出了三重DES即3DES
AES 算法。
AES的全称是Advanced Encryption Standard,意思是高级加密标准。它的出现主要是为了取代DES加密算法的,因为
DES的密钥长度实际上只有56位,随着计算机处理能力的逐渐增强,安全性变得越来越低,虽然有了3DES,但是其加密时间也是DES的三倍多。
SM4算法
我国开发的SM4也是对称加密算法,加密强度是128位,可以用Hutool借助Bouncy Castle库来实现,需要引入Bouncy Castle库再使用Hutool的方法来实现,当然也可以直接用Bouncy Castle来写。
不对称密码加密算法
不对称密码体制又称为双密钥和公钥密码体制,与对称密码体制有两个不同的密钥,其中一个密钥称为私钥,该密钥被秘密保存;另一个密钥公开,不需要保密。
RSA密码体制是一个常用的非对称密码体制,它是一个既能用于数据加密也能用于数字签名的算法。它的安全依赖于大素数分解。公钥和私钥都是两个大素数。
1.签名:使用私钥加密,公钥解密
2.加密:用公钥加密,私钥解密
RSA的缺点:速度慢,只用于少量数据加密。
使用Hutool也是可以非常简单的实现一个RSA算法加解密的。
Bouncy Castle类库
www.bouncycastle.org/docs/docs1.…
你能想到的加密算法这里都有,宝库!