Le funzioni hash per le firme digitali devono essere resistenti alla preimmaginazione?
Capisco che le funzioni hash utilizzate per l'hashing di un documento o di alcuni dati prima di firmarlo, devono essere resistenti alle collisioni e alla seconda resistenza pre-immagine. Altrimenti un avversario potrebbe "cercare" due documenti casuali con lo stesso hash o un secondo documento, avente lo stesso hash di un dato documento, e sostituire semplicemente il "documento originale" con il "documento falso", perché poi le firme di anche i due documenti sono gli stessi.
Tuttavia, non vedo alcun motivo per cui una funzione hash per la firma di documenti debba essere resistente alla preimmaginazione o è davvero una proprietà superflua?
Risposte
Una funzione hash che non è preimage resistente non è nemmeno resistenza alle collisioni. Se faccio l'hash di un messaggio casuale di grandi dimensioni e applico l'algoritmo di preimage, è estremamente improbabile che riceva lo stesso messaggio con cui ho iniziato, trovando così una collisione.
La resistenza alle collisioni è fondamentale per un hash utilizzato in una firma. Come puoi creare firme contraffatte. Anche se è necessario un po 'di più per creare messaggi significativi, come sfruttare la collisione di stato interna per far collidere le estensioni e utilizzare formati come pdf o postscript.