Puede realizar un HMAC de un archivo usando una tecla AES como entrada al HMAC.
Encripte el archivo utilizando cualquier algoritmo AES que desee (en este ejemplo -aes-256-cbc); genere una clave AES basada en una contraseña (cambie "contraseña" a su contraseña) y use el modificador -p para volcar la sal, la clave y iv utilizados para encriptar.
openssl enc -e -k password -p -aes-256-cbc -in plaintext -out ciphertext
salt=A2402067B9BFD4A1
key=EB3A88115C30F26C3987F1AB2577DF5B58C80EBEEA623506517FAD843C64E1FC
iv =B382453BCBF579CE14C0726D343F40E2
Crear una HMAC de cualquier objeto/archivo usando un algoritmo de hash de su elección y la clave AES que se utilizó para cifrar el archivo:
openssl dgst -hmac EB3A88115C30F26C3987F1AB2577DF5B58C80EBEEA623506517FAD843C64E1FC -sha256 ciphertext
HMAC-SHA256(ciphertext)= fa3fb9c9c743f35ba81793e2704c3fc9737cd2675011110cb1655ea7ceed2914
Recuerde que la clave AES para su uso posterior si necesita verificar el HMAC. Tenga en cuenta que no sé qué está tratando de lograr y no puedo afirmar que lo anterior cumple con sus requisitos criptográficos, pero sí muestra cómo cifrar un archivo, obtener la clave de cifrado y usar esa clave de cifrado en un cálculo HMAC.
Quizás me equivoque en mi pregunta original; Necesito el MAC de un texto de cifrado AES. ¿Esto tiene más sentido criptográfico? Creo que el MAC de AES es solo el último bloque encriptado, ¿sí? – Ryan
@Ryan: Agregué información sobre CBC-MAC. Espero eso ayude. Si eso no es lo que quieres decir, tal vez puedas dar más información sobre por qué necesitas calcular este AES MAC. ¿Es esto parte de un protocolo bien conocido? ¿Qué vas a hacer con él una vez que lo computes? Una información general más amplia podría ayudar a otra persona a saltar y brindar la respuesta. – indiv
Esto es * exactamente * lo que necesitaba. Muchas gracias indiv !!!! – Ryan