Qual è il metodo migliore?
Assunzione: ho una funzione che genera un numero di byte di entropia medio-alta
-
Step1: Genero 3 di questi byte di entropia medio-alti.
-
Step2: Ho cancellato questi byte utilizzando un algoritmo crittografico noto (sha256)
-
Fase 3: Ho tagliato una sottostringa dal risultato.
-
Fase 4: Io uso questa stringa come mia sale (3 byte di sale)
Quindi, posso fare:
-
Step1 e 4;
-
1, 2, 3 e 4;
-
1, 3 e 4; ecc.
La domanda è quale di queste operazioni aumenta l'entropia e quale no?
Alcuni codici:
function delicious_delicious_salt()
{
$string = openssl_random_pseudo_bytes(3);
//Do I hash this? Do I generate a longer byte string and cut it?
return $string;
}
Ciò che in realtà non conosco
Il passaggio di bit pseudo-casuali attraverso un algoritmo di hashing e il taglio di un set di bit pseudo-casuali dall'output producono bit entropici elevati?
Voglio implementare una funzione di generazione di sale per gli hash delle mie password SHA256 sul mio server web, e come esercizio nella mia comprensione personale voglio che sia crittograficamente sicuro come posso ragionevolmente farlo senza diventare pazzo (e prendendo entropia codificata da HID (mouse, microfono, video)).