Supongamos que Alice necesita enviar un archivo a Bob, garantizando su identidad y la integridad del archivo (no se requiere confidencialidad); las dos partes comparten un w
secreto y utilizan una función de hash H
que genera números de 40 bits. Cada vez que usan el siguiente protocolo (previamente acordado).
A → B: w {nA}, donde nA es un nonce (Alicia envía un desafío)
B → A: w {nA + 1} (Bob prueba que sabe el secreto y responde al desafío)
A → B: (F, H (F), w {H (F)}) (Bob, dado F, calcula H (F) yw {H (F)}, y luego compara sus resultados con los datos en realidad recibido)
¿Puede un atacante actuar en lugar de Alice y enviar un archivo a Bob engañándolo para que crea que el archivo proviene de Alice?