

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Criptografar dados
<a name="encrypt-data"></a>

 [A `Encrypt Data` API é usada para criptografar dados usando chaves de criptografia de dados simétricas e assimétricas, bem como chaves derivadas de [DUKPT](terminology.md#terms.dukpt) e EMV.](terminology.md#terms.emv) Vários algoritmos e variações são compatíveis, incluindo `TDES`, `RSA` e `AES`.

As entradas primárias são a chave de criptografia usada para criptografar os dados, os dados de texto simples no formato HexBinary a serem criptografados e os atributos de criptografia, como vetor e modo de inicialização, para cifras de bloco, como TDES. Os dados em texto simples precisam estar em múltiplos de 8 bytes para`TDES`, 16 bytes para `AES` e o tamanho da chave no caso de. `RSA` As entradas de chave simétricas (TDES, AES, DUKPT, EMV) devem ser preenchidas nos casos em que os dados de entrada não atendam a esses requisitos. A tabela a seguir mostra o tamanho máximo do texto sem formatação para cada tipo de chave e o tipo de preenchimento que você define `EncryptionAttributes` para as chaves RSA.


| Tipo de preenchimento | RSA\$12048 | RSA\$13072 | RSA\$14096 | 
| --- | --- | --- | --- | 
| OAEP SHA1 | 428 | 684 | 940 | 
| OAEP SHA256 | 380 | 636 | 892 | 
| OAEP SHA512 | 252 | 508 | 764 | 
| PKCS1 | 488 | 744 | 1000 | 
| None | 488 | 744 | 1000 | 

As saídas primárias incluem os dados criptografados como texto cifrado no formato hexBinary e o valor da soma de verificação da chave de criptografia. Para obter detalhes sobre todas as opções disponíveis, consulte o Guia de API do [Encrypt.](https://docs.aws.amazon.com/payment-cryptography/latest/DataAPIReference/API_EncryptData.html) 

**Topics**
+ [Criptografe dados usando a chave simétrica AES](#w2aac15c16c11c13)
+ [Criptografe dados usando a chave DUKPT](#w2aac15c16c11c15)
+ [Criptografe dados usando a chave simétrica derivada do EMV](#w2aac15c16c11c17)
+ [Criptografe dados usando uma chave RSA](#crypto-ops.encrypt-rsa)

## Criptografe dados usando a chave simétrica AES
<a name="w2aac15c16c11c13"></a>

**nota**  
 Todos os exemplos presumem que a chave relevante já existe. As chaves podem ser criadas usando a [CreateKey](create-keys.md)operação ou importadas usando a [ImportKey](keys-import.md)operação. 

**Example**  
 Neste exemplo, criptografaremos dados em texto simples usando uma chave simétrica que foi criada usando a [CreateKey](create-keys.md)Operação ou importada usando a Operação. [ImportKey](keys-import.md) Para essa operação, a chave deve ter sido KeyModesOfUse definida como `Encrypt` e KeyUsage definida como`TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY`. Consulte [Chaves para operações criptográficas](crypto-ops-validkeys-ops.md) para obter mais opções.   

```
$ aws payment-cryptography-data encrypt-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi --plain-text 31323334313233343132333431323334 --encryption-attributes 'Symmetric={Mode=CBC}'
```

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

## Criptografe dados usando a chave DUKPT
<a name="w2aac15c16c11c15"></a>

**Example**  
 [Neste exemplo, criptografaremos dados em texto simples usando uma chave DUKPT.](terminology.md#terms.dukpt) AWS Suportes de criptografia de pagamento `TDES` e chaves `AES` DUKPT. Para essa operação, a chave deve ter sido KeyModesOfUse definida como `DeriveKey` e KeyUsage definida como`TR31_B0_BASE_DERIVATION_KEY`. Consulte [Chaves para operações criptográficas](crypto-ops-validkeys-ops.md) para obter mais opções.   

```
$ aws payment-cryptography-data encrypt-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi --plain-text 31323334313233343132333431323334 --encryption-attributes 'Dukpt={KeySerialNumber=FFFF9876543210E00001}'
```

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

## Criptografe dados usando a chave simétrica derivada do EMV
<a name="w2aac15c16c11c17"></a>

**Example**  
 Neste exemplo, criptografaremos dados de texto não criptografado usando uma chave simétrica derivada do EMV que já foi criada. Você pode usar um comando como esse para enviar dados para um cartão EMV. Para essa operação, a chave deve ter sido KeyModesOfUse definida como `Derive` e KeyUsage definida como `TR31_E1_EMV_MKEY_CONFIDENTIALITY` ou`TR31_E6_EMV_MKEY_OTHER`. Consulte [Chaves para operações criptográficas](crypto-ops-validkeys-ops.md) para obter mais detalhes.   

```
$ aws payment-cryptography-data encrypt-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi --plain-text 33612AB9D6929C3A828EB6030082B2BD --encryption-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",
    "CipherText": "33612AB9D6929C3A828EB6030082B2BD"
}
```

## Criptografe dados usando uma chave RSA
<a name="crypto-ops.encrypt-rsa"></a>

**Example**  
 Neste exemplo, criptografaremos dados em texto simples usando uma [chave pública RSA](terminology.md#terms.publickey) que foi importada usando a operação. [ImportKey](keys-import.md) Para essa operação, a chave deve ter sido KeyModesOfUse definida como `Encrypt` e KeyUsage definida como`TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION`. Consulte [Chaves para operações criptográficas](crypto-ops-validkeys-ops.md) para obter mais opções.   
 Para esquemas de preenchimento como o PKCS \$17 ou outros atualmente não compatíveis, aplique antes de chamar o serviço e selecione nenhum preenchimento ao omitir o indicador de preenchimento* 'Asymmetric=\$1\$1'*   

```
$ aws payment-cryptography-data encrypt-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/thfezpmsalcfwmsg --plain-text 31323334313233343132333431323334 --encryption-attributes 'Asymmetric={PaddingType=OAEP_SHA256}'
```

```
     
{
 "CipherText": "12DF6A2F64CC566D124900D68E8AFEAA794CA819876E258564D525001D00AC93047A83FB13 \ 
 E73F06329A100704FA484A15A49F06A7A2E55A241D276491AA91F6D2D8590C60CDE57A642BC64A897F4832A3930 \ 
 0FAEC7981102CA0F7370BFBF757F271EF0BB2516007AB111060A9633D1736A9158042D30C5AE11F8C5473EC70F067 \ 
 72590DEA1638E2B41FAE6FB1662258596072B13F8E2F62F5D9FAF92C12BB70F42F2ECDCF56AADF0E311D4118FE3591 \ 
 FB672998CCE9D00FFFE05D2CD154E3120C5443C8CF9131C7A6A6C05F5723B8F5C07A4003A5A6173E1B425E2B5E42AD \ 
 7A2966734309387C9938B029AFB20828ACFC6D00CD1539234A4A8D9B94CDD4F23A",
 "KeyArn": "arn:aws:payment-cryptography:us-east-1:111122223333:key/5dza7xqd6soanjtb",
 "KeyCheckValue": "FF9DE9CE"
}
```