密钥是加密算法的关键。什么是密钥?——用于(加密和解密数据的)信息,确保[通信安全]
非对称加密
非对称加密也就是我们常说的公钥加密,存在一对密钥:公钥和私钥。
公钥用于加密数据,私钥用于解密数据。公钥可以公开分享,私钥必须严格保密。
发送方基于接收方的公钥进行加密数据,接收方基于自己的私钥进行解密数据。
栗子:我要给你发消息,我需要用你的公钥进行加密,你接收到之后需要用你的私钥进行解密。由于你的私钥别人都不知道,因此可以确保数据安全。
对称加密
在对称加密中,并没有公钥和私钥的概念了。它们都用的是同一个的密钥进行加密和解密数据。
发送方使用密钥对数据进行加密,接收方使用相同的密钥对数据进行解密。
采用这种方式,如果密钥在传输过程中被攻击者截获或泄露,那么攻击者也可以使用该密钥解密和访问加密的数据。因此需要在能够确保安全的环境下进行,确保只有通信双方才知道。
虽然它的安全不如非对称加密算法,但这种方式更高效,加密和解密速度快,适用于处理大量数据。而非对称加密算法通常较为复杂,加密和解密速度较慢,适用于加密对称密钥。
因此,实际常常结合二者来使用。具体来说就是,把对称密钥通过非对称加密算法加密后,传输到对方,当双方都拿到之后,就可以进行对称加密的通信了。它兼顾了非对称加密的安全性和对称加密的高效性。【说人话就是——我们双方通信需要一个真正的钥匙(对称密钥),但我需要先包装一下(用非对称加密方式的公钥进行加密),安全到达你那后,你拆包(用非对称加密方式的私钥进行解密),当我们都拿到了同一个密钥后,就可以只基于对称密钥进行通信了】
非对称加密算法——加密对称密钥【主打安全】
对称加密算法——加密和解密实际的数据【主打高效】