Ok buon fine settimana Penso si possa chiudere
Ok buon fine settimana Penso si possa chiudere
Io ho informazione per x bytes codificata in modo minimo (non c'è modo di avere la stessa informazione in y bytes y<x), ora supponiamo che io voglia avere un messaggio rappresentativo di queste informazioni in z bytes, se z < x è evidente che dovrò lasciare fuori delle informazioni e queste potrebbero essere quelle che distinguono due messaggi x_1 e x_2 simili ma diversi. Se invece z >= x ho la possibilità di mantenere tutte le informazioni ciò però non significa che non ci siano collisioni, supponiamo per esempio di voler trasformare una sequenza di lunghezza <=3 in una sequenza di lunghezza 3 e prendiamo come politica quella di aggiungere dei 0 di padding alla fine se necessario: 1, 10, 100 vengono tutti trasformati in 100. Ovviamente questo era un esempio banale, e in un ambito più generico delle sole funzioni di hashing e ancor più generico di quelle crittografiche, ma ti fa rendere l'idea degli eventuali problemi a cui puoi andare incontro. Sì alcune funzioni possono garantire output univoci fino ad una data dimensione, non ne ho idea per SHA-512 anche perché la crittografia non è il mio campo e non sono un esperto.
Sta di fatto che è certo che aumentando le possibili soluzioni aumenti anche la possibilità di trovarne una andando a casaccio.
"Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares
Cambiando discorso, ci sono tecniche che fanno calcolare un hash specifico andando "a casaccio" semplicemente per verificare di aver svolto del lavoro, ad esempio https://en.wikipedia.org/wiki/Hashcash
"Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares