

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Chiffrer des données
<a name="encrypt-data"></a>

 [L'`Encrypt Data`API est utilisée pour chiffrer les données à l'aide de clés de chiffrement symétriques et asymétriques ainsi que de clés dérivées du [DUKPT](terminology.md#terms.dukpt) et de l'EMV.](terminology.md#terms.emv) Différents algorithmes et variantes sont pris en charge`TDES`, notamment, `RSA` et`AES`.

Les entrées principales sont la clé de chiffrement utilisée pour chiffrer les données, les données en texte brut au format HexBinary à chiffrer et les attributs de chiffrement tels que le vecteur d'initialisation et le mode pour les chiffrements par blocs tels que TDES. Les données en texte brut doivent être exprimées en multiples de 8 octets pour`TDES`, 16 octets pour `AES` et de la longueur de la clé dans le cas de`RSA`. Les entrées clés symétriques (TDES, AES, DUKPT, EMV) doivent être complétées dans les cas où les données d'entrée ne répondent pas à ces exigences. Le tableau suivant indique la longueur maximale du texte brut pour chaque type de clé et le type de remplissage que vous définissez `EncryptionAttributes` pour les clés RSA.


| Type de rembourrage | RSA\$12048 | RSA\$13072 | RSA\$14096 | 
| --- | --- | --- | --- | 
| OAEP SHA1 | 428 | 684 | 940 | 
| OAEP SHA256 | 380 | 636 | 892 | 
| OAEP SHA512 | 252 | 508 | 764 | 
| PKCS1 | 488 | 744 | 1 000 | 
| None | 488 | 744 | 1 000 | 

Les sorties principales incluent les données chiffrées sous forme de texte chiffré au format HexBinary et la valeur de la somme de contrôle pour la clé de chiffrement. Pour plus de détails sur toutes les options disponibles, veuillez consulter le guide de l'API pour [Encrypt](https://docs.aws.amazon.com/payment-cryptography/latest/DataAPIReference/API_EncryptData.html). 

**Topics**
+ [Chiffrer les données à l'aide d'une clé symétrique AES](#w2aac15c16c11c13)
+ [Chiffrer les données à l'aide de la clé DUKPT](#w2aac15c16c11c15)
+ [Chiffrer les données à l'aide d'une clé symétrique dérivée de l'EMV](#w2aac15c16c11c17)
+ [Chiffrer les données à l'aide d'une clé RSA](#crypto-ops.encrypt-rsa)

## Chiffrer les données à l'aide d'une clé symétrique AES
<a name="w2aac15c16c11c13"></a>

**Note**  
 Tous les exemples supposent que la clé correspondante existe déjà. Les clés peuvent être créées à l'aide de l'[CreateKey](create-keys.md)opération ou importées à l'aide de l'[ImportKey](keys-import.md)opération. 

**Example**  
 Dans cet exemple, nous chiffrerons les données en texte brut à l'aide d'une clé symétrique créée à l'aide de l'[CreateKey](create-keys.md)opération ou importée à l'aide de l'opération. [ImportKey](keys-import.md) Pour cette opération, la clé doit être KeyModesOfUse réglée sur `Encrypt` et KeyUsage définie sur`TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY`. Consultez la section [Clés pour les opérations cryptographiques](crypto-ops-validkeys-ops.md) pour plus d'options.   

```
$ 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"
}
```

## Chiffrer les données à l'aide de la clé DUKPT
<a name="w2aac15c16c11c15"></a>

**Example**  
 Dans cet exemple, nous allons chiffrer les données en texte brut à l'aide d'une clé [DUKPT](terminology.md#terms.dukpt). AWS Supports de cryptographie des paiements `TDES` et clés `AES` DUKPT. Pour cette opération, la clé doit être KeyModesOfUse réglée sur `DeriveKey` et KeyUsage définie sur`TR31_B0_BASE_DERIVATION_KEY`. Consultez la section [Clés pour les opérations cryptographiques](crypto-ops-validkeys-ops.md) pour plus d'options.   

```
$ 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"
}
```

## Chiffrer les données à l'aide d'une clé symétrique dérivée de l'EMV
<a name="w2aac15c16c11c17"></a>

**Example**  
 Dans cet exemple, nous allons chiffrer des données en texte clair à l'aide d'une clé symétrique dérivée de l'EMV qui a déjà été créée. Vous pouvez utiliser une commande comme celle-ci pour envoyer des données vers une carte EMV. Pour cette opération, la clé doit être KeyModesOfUse définie sur `Derive` et KeyUsage définie sur `TR31_E1_EMV_MKEY_CONFIDENTIALITY` ou`TR31_E6_EMV_MKEY_OTHER`. Consultez la section [Clés pour les opérations cryptographiques](crypto-ops-validkeys-ops.md) pour plus de détails.   

```
$ 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"
}
```

## Chiffrer les données à l'aide d'une clé RSA
<a name="crypto-ops.encrypt-rsa"></a>

**Example**  
 Dans cet exemple, nous allons chiffrer les données en texte brut à l'aide d'une [clé publique RSA](terminology.md#terms.publickey) importée à l'aide de l'opération. [ImportKey](keys-import.md) Pour cette opération, la clé doit être KeyModesOfUse réglée sur `Encrypt` et KeyUsage définie sur`TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION`. Consultez la section [Clés pour les opérations cryptographiques](crypto-ops-validkeys-ops.md) pour plus d'options.   
 *Pour le PKCS \$17 ou d'autres systèmes de rembourrage non pris en charge actuellement, veuillez en faire la demande avant d'appeler le service et sélectionner aucun rembourrage en omettant l'indicateur de rembourrage « 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"
}
```