

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 解密数据
<a name="decrypt-data"></a>

 [该 `Decrypt Data` API 用于使用对称和非对称数据加密密钥以及 [DUK](terminology.md#terms.dukpt) PT 和 EMV 派生的密钥来解密数据。](terminology.md#terms.emv)支持各种算法和变体，包括 `TDES`、`RSA` 和 `AES`。

 主要输入是用于解密数据的解密密钥、要解密的十六进制格式的加密文字数据以及解密属性，例如初始化向量、分组密码模式等。主要输出包括十六进制格式的明文解密数据以及解密密钥的校验和值。有关所有可用选项的详细信息，请查阅[解密](https://docs.aws.amazon.com/payment-cryptography/latest/DataAPIReference/API_DecryptData.html) API 指南。

**Topics**
+ [使用 AES 对称密钥解密数据](#w2aac15c16c13b9)
+ [使用 DUKPT 密钥解密数据](#w2aac15c16c13c11)
+ [使用 EMV 派生的对称密钥解密数据](#w2aac15c16c13c13)
+ [使用 RSA 密钥解密数据](#crypto-ops.decrypt-rsa)

## 使用 AES 对称密钥解密数据
<a name="w2aac15c16c13b9"></a>

**Example**  
 在此示例中，我们将使用对称密钥解密密文数据。此示例显示了一个`AES`密钥，但`TDES_3KEY`也支持`TDES_2KEY`和。要执行此操作，密钥必须 KeyModesOfUse 设置为，`Decrypt`并 KeyUsage 设置为`TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY`。有关更多选项，请参阅[加密操作密钥](crypto-ops-validkeys-ops.md)。  

```
$ aws payment-cryptography-data decrypt-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi --cipher-text 33612AB9D6929C3A828EB6030082B2BD --decryption-attributes 'Symmetric={Mode=CBC}'
```

```
         
{
    "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi",
    "KeyCheckValue": "71D7AE",
    "PlainText": "31323334313233343132333431323334"
}
```

## 使用 DUKPT 密钥解密数据
<a name="w2aac15c16c13c11"></a>

**注意**  
 将解密数据与 DUKPT 一起用于 P2PE 交易，可能会将信用卡 PAN 和其他持卡人数据返回到您的应用程序，在确定其 PCI DSS 范围时需要考虑这些数据。

**Example**  
 在此示例中，我们将使用使用操作创建或使用[CreateKey](create-keys.md)操作导入的 [DUKPT](terminology.md#terms.dukpt) 密钥解密密文数据。[ImportKey](keys-import.md)要执行此操作，密钥必须 KeyModesOfUse 设置为，`DeriveKey`并 KeyUsage 设置为`TR31_B0_BASE_DERIVATION_KEY`。有关更多选项，请参阅[加密操作密钥](crypto-ops-validkeys-ops.md)。使用 `DUKPT` 时，对于 `TDES` 算法，加密文字数据长度必须是 16 字节的倍数。对于 `AES` 算法，加密文字数据长度必须是 32 字节的倍数。  

```
$ aws payment-cryptography-data decrypt-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi --cipher-text 33612AB9D6929C3A828EB6030082B2BD --decryption-attributes 'Dukpt={KeySerialNumber=FFFF9876543210E00001}'
```

```
         
{
    "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi",
    "KeyCheckValue": "71D7AE",
    "PlainText": "31323334313233343132333431323334"
}
```

## 使用 EMV 派生的对称密钥解密数据
<a name="w2aac15c16c13c13"></a>

**Example**  
 在此示例中，我们将使用 EMV 派生的对称密钥解密密文数据，该密钥是使用操作创建或使用操作导入[CreateKey](create-keys.md)的。[ImportKey](keys-import.md)要执行此操作，密钥必须 KeyModesOfUse 设置为，`Derive`且必须 KeyUsage 设置为`TR31_E1_EMV_MKEY_CONFIDENTIALITY`或`TR31_E6_EMV_MKEY_OTHER`。有关更多详细信息[，请参阅加密操作密钥](crypto-ops-validkeys-ops.md)。  

```
$ aws payment-cryptography-data decrypt-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi --cipher-text 33612AB9D6929C3A828EB6030082B2BD --decryption-attributes 'Emv={MajorKeyDerivationMode=EMV_OPTION_A,PanSequenceNumber=27,PrimaryAccountNumber=1000000000000432,SessionDerivationData=02BB000000000000, InitializationVector=1500000000000999,Mode=CBC}'
```

```
{
"KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi",
"KeyCheckValue": "71D7AE",
"PlainText": "31323334313233343132333431323334"
}
```

## 使用 RSA 密钥解密数据
<a name="crypto-ops.decrypt-rsa"></a>

**Example**  
 在此示例中，我们将使用使用操作创建的 RSA 密[钥对](terminology.md#terms.privatekey)来解密密文数据。[CreateKey](create-keys.md)要执行此操作，必须 KeyModesOfUse 将密钥设置为启用`Decrypt`并 KeyUsage 设置为`TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION`。有关更多选项，请参阅[加密操作密钥](crypto-ops-validkeys-ops.md)。  
 对于 PKCS \$17 或当前不支持的其他填充方案，请通过省略填充指示符*“Asymmetry=\$1\$1”*来选择无填充，并在调用服务后删除填充。  

```
$ aws payment-cryptography-data decrypt-data \ 
        --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/5dza7xqd6soanjtb --cipher-text 8F4C1CAFE7A5DEF9A40BEDE7F2A264635C... \ 
        --decryption-attributes 'Asymmetric={PaddingType=OAEP_SHA256}'
```

```
{
    "KeyArn": "arn:aws:payment-cryptography:us-east-1:111122223333:key/5dza7xqd6soanjtb",
    "KeyCheckValue": "FF9DE9CE",
    "PlainText": "31323334313233343132333431323334"
}
```