
# 方案概述
非对称加解密需要两个密钥：**公开密钥** 和**私有密钥**，这两个密钥在密码学中是一对且具有双向性，即公钥和私钥中的任一个均可用作加密，但只能由另一个进行解密 。公开密钥可以交给任何人，即使对方是不可信任的，而私有密钥必须自行秘密保管。
相比对称加密，非对称加密无需考虑采用可靠的通道进行密钥分发，通常应用在信任等级不对等的系统之间 ，实现敏感数据加密传递或数字签名验签。
#### 非对称密钥类型
KMS支持的非对称密钥算法类型如[表1]所示。
 表1KMS支持的非对称密钥算法类型 
| 密钥类型  | 算法类型                                                                                                                                                                                                                                                             | 密钥规格                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | 说明                   | 适用场景                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|:---|
| 非对称密钥 | RSA                                                                                                                                                                                                                                                              | - RSA_2048  - RSA_3072  - RSA_4096   | RSA非对称密钥             | - 数字签名和验签  - 数据的加解密 说明： 非对称密钥适用于签名和验签场景，加密数据效率不高，加解密数据推荐使用对称密钥。    |
| 非对称密钥 | ECC                                                                                                                                                                                                                                                              | - EC_P256  - EC_P384                                                                                                                                             | 椭圆曲线密码，使用NIST推荐的椭圆曲线 | 数字签名和验签                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| 非对称密钥 | ML-DSA 说明： ML-DSA算法需[提交工单](https://support.huaweicloud.com/usermanual-ticket/zh-cn_topic_0127038618.html)申请开通。 | - ML-DSA-44  - ML-DSA-65  - ML-DSA-87      | 模格数字签名算法             | 抗量子数字签名和验签                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| 非对称密钥 | SM2                                                                                                                                                                                                                                                              | SM2                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | 国密SM2非对称密钥           | - 数字签名和验签  - 小量数据的加解密                                                                                                             |
   
#### 非对称加密的典型场景
非对称加解密在实际应用中包含**加密通信** 和**数字签名**两种典型场景：
#### 加密通信
加密通信是非对称加密算法的一种典型应用。加密通信的过程类似于对称加密，区别在于需要使用公钥进行加密，而且需要使用私钥进行解密。
加密通信场景的原理说明如下：
1. 信息接收者创建公钥私钥对，并将公钥给到一个或多个信息发送者。
2. 信息发送者使用公钥对敏感信息进行加密，并将加密后的密文通过传输介质发送给信息接收者。
3. 信息接收者从传输介质上获取到数据后，用自己持有的私钥对信息进行解密，还原出原文信息。
由于密文只有通过私钥才可以解密，而私钥是不公开的，所以即使由于传输介质的安全性比较低而导致信息泄露，拿到密文的人也无法将其破译，从而保证了敏感信息的安全。
#### 数字签名
数字签名技术是非对称加密算法的另一种典型应用。数字签名分为签名和验证两个过程，在签名时使用私钥，验证时则使用公钥，这一实现过程正好与加密通信相反。
数字签名场景的原理说明如下：
1. 信息发送者创建公钥私钥对，并将公钥给到一个或多个信息接收者。
2. 信息发送者使用哈希函数从消息原文中生成消息摘要，然后使用私有密钥对这个摘要进行加密，即得到消息原文对应的数字签名。
3. 信息发送者将消息原文和数字签名一并传送给信息接收者。
4. 信息接收者得到消息原文和数字签名后，用同一个哈希函数从消息原文中生成摘要 A，另外，用发送者提供的公钥对数字签名进行解密，得到摘要 B，对比 A 和 B 是否相同，验证原文是否被篡改。
由于签名是使用私钥加密产生，而私钥不公开，这使得签名具有唯一的特征。所以数字签名既可以保证数据在传输过程中不会被篡改，又可以保证信息发送者的身份正确性，防止交易中的抵赖发生。
