Sarebbe importante se il mio minatore fosse un hashing casuale rispetto a valori incrementali?

0

Sto lavorando al mio minatore per il mio sito di "gioco" è fondamentalmente un attacco pre-immagine da un hash pubblicato online. Invia un input di hash, è un hash e il tuo punteggio è la distanza di hamming (il numero di bit che differiscono) tra i due valori. Se è importante, sto usando Skein-1024 v1.3

Il mio minatore fino ad ora ha incrementato un valore e lo ha cancellato. Incremento, hash, incremento, hash e infinium. L'ho scritto in modo tale che quando chiudo il minatore, esso salva il suo valore più alto in quel modo quando lo riavvio, non ricomincio da 1 e rimuovo tutti gli stessi input. Posso riprendere da dove avevo interrotto. Questo ha dimostrato di essere un successo. Tuttavia, sono curioso di sapere se il minatore potrebbe essere più fruttuoso generando numeri casuali invece di incrementare.

Sembra essere una metrica difficile da misurare. So che la maggior parte degli hash genererà valori molto diversi se i loro input sono disattivati solo di un paio o due, ma sento che incrementando il valore dell'hash sono di solito solo alcuni bit off. Se generi dei valori casualmente probabilmente farò meno hash (perché la generazione di numeri casuali è più intensiva di un semplice incremento di num++ ) ma il mio istinto mi dice che avrò un insieme più diversificato di input e che potrebbe produrre un insieme più diversificato di output. So di non fidarmi del mio istinto senza ragione su questo. Mi fa impazzire solo a scriverlo.

So anche che se eseguo un incremento non finirò mai per eseguire lo hashing dello stesso valore due volte. Random è in grado di farlo anche se le probabilità di generare esattamente lo stesso numero a 64 bit due volte è sottile.

Posso aspettarmi diverse qualità di output dal mio minatore tracciando valori casuali invece di un valore incrementale?

INFORMATIVA COMPLETA: sono il proprietario e l'operatore del sito sopra. Non ci sono annunci o anche analisi nella pagina.

    
posta Corey Ogburn 22.09.2015 - 17:59
fonte

1 risposta

3

Non ho familiarità con Klein, ma se usi una strong funzione di hash crittografica, le correlazioni nell'input non dovrebbero tradursi in alcuna correlazione nell'output. Quindi usare input incrementali vs numeri casuali non dovrebbe fare alcuna differenza, almeno in teoria.

Naturalmente qualsiasi debolezza nella funzione di hashing può significare che non è questo il caso.

Tuttavia, se non si è l'unica persona che esegue la ricerca, si desidera evitare la ricerca in luoghi visitati da molte altre persone. È meno probabile trovare una soluzione migliore rispetto all'attuale soluzione migliore se si ricercano parti che sono state ampiamente esplorate. Molte persone probabilmente avviano anche la ricerca in modo incrementale a partire da 1, che è un intervallo molto esplorato, quindi si desidera evitare l'incremento da 1. Si vorrebbe avviare la ricerca con un numero casuale, quindi continuare ad aumentare.

    
risposta data 23.09.2015 - 03:08
fonte

Leggi altre domande sui tag