

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.

# Générer et vérifier MAC
<a name="crypto-ops-mac"></a>

Les codes d'authentification de message (MAC) sont généralement utilisés pour authentifier l'intégrité d'un message (s'il a été modifié). Les hachages cryptographiques tels que le HMAC (code d'authentification de message basé sur le hachage), le CBC-MAC et le CMAC (code d'authentification de message basé sur le chiffrement) fournissent une assurance supplémentaire à l'expéditeur du MAC en utilisant la cryptographie. HMAC est basé sur des fonctions de hachage tandis que CMAC est basé sur des chiffrements par blocs. Le service prend également en charge les ISO9797 algorithmes 1 et 3, qui sont des types de CBC-MACs. 

Tous les algorithmes MAC de ce service combinent une fonction de hachage cryptographique et une clé secrète partagée. Ils prennent un message et une clé secrète, tels que le contenu clé d'une clé, et renvoient un tag ou un mac unique. Si un seul caractère du message change, ou si la clé secrète change, le tag obtenu est totalement différent. En exigeant une clé secrète, la cryptographie garantit MACs également l'authenticité ; il est impossible de générer un Mac identique sans la clé secrète. Les signatures cryptographiques MACs sont parfois appelées signatures symétriques, car elles fonctionnent comme des signatures numériques, mais utilisent une clé unique pour la signature et la vérification. 

AWS La cryptographie des paiements prend en charge plusieurs types de MACs :

**ISO9797 ALGORITHME 1**  
Désigné par ou `KeyUsage` ISO9797 \$1ALGORITHM1. Si le champ n'est pas un multiple de la taille du bloc (8 octets/16 caractères hexadécimaux pour TDES, 16 octets/32 caractères pour AES), Payment Cryptography applique automatiquement la méthode de remplissage 1. AWS ISO9797 Si d'autres méthodes de rembourrage sont nécessaires, vous pouvez les appliquer avant d'appeler le service.

**ISO9797 ALGORITHME 3 (Retail MAC)**  
Désigné par ou `KeyUsage` ISO9797 \$1ALGORITHM3. Les mêmes règles de remplissage s'appliquent que celles de l'algorithme 1

**ISO9797 ALGORITHME 5 (CMAC)**  
Désigné par ou `KeyUsage` \$1M6\$1ISO\$19797\$15\$1CMAC\$1KEY TR31

**HMAC**  
Désigné par `KeyUsage` TR31 \$1M7\$1HMAC\$1KEY, y compris HMAC\$1, HMAC\$1, HMAC\$1 et HMAC\$1 SHA224 SHA256 SHA384 SHA512

**AS28054.4.1 MAC**  
Désigné par ou `KeyUsage` TR31 \$1M0\$1ISO\$116609\$1MAC\$1KEY. Pour plus de détails sur AS2805, voir [AS2805](advanced.regional.as2805.md)

**DUKPT MAC**  
DUKPT MAC est généralement utilisé pour confirmer la source et la charge utile des messages to/from des terminaux de paiement. Il déduit une clé à l'aide des techniques de dérivation DUKPT, puis exécute le MAC. Les clés utilisées avec cette option sont désignées par `KeyUsage` TR31 \$1B0\$1BASE\$1DERIVATION\$1KEY. 

**EMV MAC**  
Le MAC EMV est généralement appelé clé d'intégrité dans la documentation EMV. Il déduit une clé à l'aide de techniques de dérivation EMV, puis utilise ISO9797 \$1 en interne. ALGORITHM3 Il est généralement utilisé pour envoyer des scripts d'émetteur à une carte à puce à des fins de reprogrammation. Les clés utilisées avec cette option sont désignées par `KeyUsage` TR31 \$1E2\$1EMV\$1MKEY\$1INTEGRITY. Si vous envoyez un script et mettez à jour un code PIN hors ligne, veillez à [GenerateMacEmvPinChange](https://docs.aws.amazon.com/payment-cryptography/latest/DataAPIReference/API_GenerateMacEmvPinChange)ce qu'il effectue ces deux opérations. 

**Topics**
+ [Générer un MAC](generate-mac.md)
+ [Vérifiez le MAC](verify-mac.md)