密钥
密钥,一般是一个字符串或数字,在加密或解密时传递给加密或解密算法。下面公钥密码体制中提到的公钥和私钥都是密钥,只是公钥是加密时使用的密钥,私钥是解密时使用的密钥。
公钥密码体制
公钥密码体制(public-key cryptography)由公钥、私钥、加密算法三部分组成,其中由公钥加密的内容只能由私钥解密,也就是说除了私钥之外,由公钥加密的内容无法被解密。公钥密码体制的加解密过程如下:
- 加密 :使用加密算法和公钥对明文进行加密,得到密文。
- 解密:使用解密算法和私钥对密文进行解密,得到明文。
公钥密码体制的公钥和算法都是公开的,只有私钥是保密的。所以在实际使用中,都是生成一对公钥和私钥,把公钥发布出去,自己保留私钥。
对称加密算法
在对称加密算法(symmetric key algorithms)中,加密和解密时使用的密钥是相同的。在安全通信之前,会要求通信双方商定一个密钥,泄漏密钥就意味着任何人都可以对发送或接收的消息解密;因此对称加密算法要保证安全性的话,密钥只能让使用的人知道,不能对外公开。
对称加密算法的特点:
算法公开、计算量小、加密速度快、加密效率高。