Supponi che Alice debba inviare un file a Bob, garantendo la sua identità e l'integrità del file (non è richiesta alcuna riservatezza); le due parti condividono un w
segreto e utilizzano una funzione hash H
che emette numeri a 40 bit. Ogni volta che usano il seguente protocollo (pre-concordato).
A → B: w {nA}, dove nA è un nonce (Alice invia una sfida)
B → A: w {nA + 1} (Bob dimostra di conoscere il segreto, fornendo una risposta alla sfida)
A → B: (F, H (F), w {H (F)}) (Bob, dato F, calcola H (F) e w {H (F)}, e quindi confronta i suoi risultati con i dati effettivamente ricevuto)
Un attaccante può agire al posto di Alice e inviare un file a Bob inducendolo a credere che il file provenga da Alice?