Una stringa completamente casuale produce un hash completamente casuale

0

Come dice il titolo, dì che crei un'ipotetica stringa completamente casuale come quella usata per un OTP . Eseguire l'hashing della stringa (a condizione che abbia la stessa lunghezza e i possibili caratteri dell'output dell'hash) e utilizzare l'hash rende l'OTP meno crittograficamente sicuro, quindi usa semplicemente la stringa come chiave?

    
posta user158968 14.09.2017 - 02:14
fonte

2 risposte

1

Hashing non emette mai una stringa casuale.

Un algoritmo di hash è un algoritmo che manipola i dati di input in passaggi molto rigorosamente definiti e restituisce il risultato.

Non puoi sapere come sarà l'output prima di calcolare l'hash, quindi in base alla tua domanda: se inserisci dati casuali, l'output sarà casuale (ma solo per te, e non per i dati originali) ).

Poiché la lunghezza dell'ingresso corrisponde alla lunghezza dell'output dell'hash, entrambi i metodi sono abbastanza sicuri.

    
risposta data 14.09.2017 - 03:13
fonte
0

In pratica la tua casualità non è degradata.

(per dimensione dell'ingresso == dimensione dell'output: qualsiasi riduzione dell'entropia sarebbe dovuta a collisioni inutili. Esistono, ma sono abbastanza rari da poter pubblicare un documento su di esso quando ne trovi uno. Quindi non accadrà abbastanza spesso per ti influenzano.)

Probabilmente Mot migliorerà la sicurezza del tuo cifrario.

(Nel caso in cui la tua stringa casuale non sia completamente casuale, ed è possibile utilizzare uscite precedenti del tuo generatore casuale per prevedere uscite future, l'hashing ti salverà. Probabilmente un attaccante non sarà in grado di previsioni da hash (randomstring1)).

    
risposta data 14.09.2017 - 16:02
fonte

Leggi altre domande sui tag