Ridurre al minimo il rischio di collisione per qualsiasi funzione di hash?

-1

Quali sono alcuni buoni consigli sull'eliminazione delle collisioni durante le operazioni di hashing? Ho bisogno di un identificativo univoco per tutti i miei utenti, ma voglio che siano privati. Sto pensando di utilizzare ODIN-1 ( link ), uno sha1 di identificativi specifici per dispositivo diversi; MAC per iOS, AndroidID per Android e DeviceUniqueId per Windows Phone.

Tuttavia, qual è il rischio di collisione su quegli hash? Utilizzerebbe un'altra funzione di hashing? Un altro input? Prefisso specifico per piattaforma? Ho davvero bisogno che ogni hash legittimo sia unico.

Ignoriamo gli utenti che fingono i loro hash per ora, dal momento che non posso davvero fare molto su di loro. La sicurezza lato client è quella che è.

    
posta Filip Haglund 15.04.2014 - 08:13
fonte

1 risposta

1

Vedi Confronto delle funzioni SHA su Wikipedia. Come mostra la tabella, esiste un attacco di collisione teorico con una complessità stimata di ~ 2 ^ 69 per SHA-1. Vedi la presentazione di Marc Stevens come riferimento.

Dato che sei preoccupato per le collisioni, ti consiglio di usare SHA-2. Puoi scegliere una delle varianti, ma ti suggerisco di sceglierne una che soddisfi i requisiti di sicurezza e prestazioni.

    
risposta data 15.04.2014 - 08:18
fonte

Leggi altre domande sui tag