非对称加密是使用公钥/私钥对中的公钥来加密明文,然后使用对应的私钥来解密密文的过程。非对称加密依赖于非对称加密,也称为公钥加密。
另一方面,对称加密使用相同的密钥来加密和解密数据。
非对称加密工作流
下文介绍了使用非对称密钥来加密和解密数据的流程。此工作流中的两个参与者包括发送者和接收者。发送者使用接收者的公钥创建密文,然后接收者使用接收者的私钥解密密文。 只有知道私钥的人员才能解密密文。
发送者检索接收者的公钥。
发送者使用公钥加密明文。
发送者将密文发送给接收者。
接收者使用接收者的私钥来解密密文。接收者现在可以查看明文。
非对称加密的实际使用示例
非对称加密仅支持非常小的明文大小,因此非对称加密通常用于加密密钥,而不是大数据块。例如,您可以将非对称加密用作信封加密的变体。在这种情况下,有权访问公钥的任何人都可以对数据加密密钥 (DEK) 进行加密。然后,只有 Cloud KMS 可以代表非对称密钥的所有者对加密的 DEK 进行解密。
非对称加密算法
Cloud Key Management Service 支持将 RSA 算法用于非对称加密。RSA 是一种行业标准算法,让您可以选择密钥大小和摘要算法。RSA 加密依赖于将较大整数分解为两个或更多因子的难度。密钥大小越大,分解整数就越难。
Cloud KMS 非对称加密功能
Cloud KMS 具有以下与非对称加密相关的功能。
能够创建非对称密钥,并将密钥用途设为
ASYMMETRIC_DECRYPT
。如需了解 Cloud KMS 支持哪些算法,请参阅非对称加密算法。能够检索非对称密钥的公钥。使用公钥来加密数据。Cloud KMS 不直接提供对数据进行非对称加密的方法。不过,您可以使用公开提供的 SDK 和工具(例如 OpenSSL)加密数据。这些 SDK 和工具需要您从 Cloud KMS 中检索的公钥。
能够使用非对称密钥解密数据。