

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Generar y verificar MAC
<a name="crypto-ops-mac"></a>

Los códigos de autenticación de mensajes (MAC) se utilizan normalmente para autentificar la integridad de un mensaje (independientemente de si se ha modificado). Los hashes criptográficos como el HMAC (código de autenticación de mensajes basado en hash), el CBC-MAC y el CMAC (código de autenticación de mensajes basado en cifrado) proporcionan una seguridad adicional al remitente del MAC mediante el uso de la criptografía. El HMAC se basa en funciones de hash, mientras que el CMAC se basa en cifrados por bloques. El servicio también admite los ISO9797 algoritmos 1 y 3, que son tipos de CBC-. MACs 

Todos los algoritmos MAC de este servicio combinan una función hash criptográfica y una clave secreta compartida. Reciben un mensaje y una clave secreta, como el material clave de una llave, y devuelven una etiqueta o mac únicos. Si cambia incluso un carácter del mensaje, o si la clave secreta cambia, la etiqueta resultante es totalmente diferente. Al requerir una clave secreta, la criptografía MACs también proporciona autenticidad; es imposible generar un mac idéntico sin la clave secreta. MACs Las criptográficas a veces se denominan firmas simétricas, porque funcionan como firmas digitales, pero utilizan una sola clave tanto para la firma como para la verificación. 

AWS La criptografía de pagos admite varios tipos de: MACs

**ISO9797 ALGORITMO 1**  
Denotado por `KeyUsage` ISO9797 \$1ALGORITHM1. Si el campo no es un múltiplo del tamaño de un bloque (8 bytes/16 caracteres hexadecimales para el TDES, 16 bytes/32 caracteres para el AES), la criptografía de pago aplica automáticamente el método de relleno 1. AWS ISO9797 Si necesita otros métodos de relleno, puede aplicarlos antes de llamar al servicio.

**ISO9797 ALGORITMO 3 (Retail MAC)**  
Denotado por `KeyUsage` ISO9797 \$1ALGORITHM3. Se aplican las mismas reglas de relleno que en el Algoritmo 1

**ISO9797 ALGORITMO 5 (CMAC)**  
Denotado por \$1M6\$1ISO\$19797\$15\$1CMAC\$1KEY `KeyUsage` TR31

**HMAC**  
Denotado por `KeyUsage` TR31 \$1M7\$1HMAC\$1KEY, incluidos HMAC\$1, HMAC\$1, HMAC\$1 y HMAC\$1 SHA224 SHA256 SHA384 SHA512

**AS2805.4.1 MAC**  
Denotado por `KeyUsage` \$1M0\$1ISO\$116609\$1MAC\$1KEY. TR31 Para obtener más información sobre, consulte AS2805 [AS2805](advanced.regional.as2805.md)

**DUKPT MAC**  
El DUKPT MAC se utiliza normalmente para confirmar el origen y la carga útil de los mensajes en los terminales de pago. to/from Obtiene una clave mediante técnicas de derivación DUKPT y, a continuación, realiza el MAC. Las claves utilizadas con esta opción se indican con \$1B0\$1BASE\$1DERIVATION\$1KEY. `KeyUsage` TR31 

**EMV MAC**  
En la documentación de EMV, por lo general, se hace referencia a EMV MAC como clave de integridad. Deriva una clave mediante técnicas de derivación EMV y, a continuación, utiliza \$1 internamente. ISO9797 ALGORITHM3 Por lo general, se utiliza para enviar los scripts del emisor a una tarjeta con chip para su reprogramación. Las claves utilizadas con esta opción se indican con \$1E2\$1EMV\$1MKEY\$1INTEGRITY`KeyUsage`. TR31 Si está enviando un script y actualizando un pin fuera de línea, asegúrese de que realice estas dos operaciones. [GenerateMacEmvPinChange](https://docs.aws.amazon.com/payment-cryptography/latest/DataAPIReference/API_GenerateMacEmvPinChange) 

**Topics**
+ [Generar MAC](generate-mac.md)
+ [Verificar MAC](verify-mac.md)