Esiste una relazione nell'output tra SHA256 e SHA224?

1

Dire che ho un messaggio m .

m1 = sha256(m)

m2 = sha224(m)

Esiste una relazione tra m1 e m2? Se sto cercando di nascondere il valore di m , una terza parte può indovinare m se ha questi due valori? Suppongo che la risposta sia no, ma voglio solo assicurarmi che non ci siano avvertimenti.

Il motivo per cui desidero utilizzare due diverse funzioni di hashing sullo stesso messaggio è generare due chiavi diverse ma comunque correlate agli stessi dati.

    
posta Snowman 17.11.2016 - 16:28
fonte

2 risposte

2

Da Wikipedia :

SHA-224 is identical to SHA-256, except that: the initial hash values h0 through h7 are different, and the output is constructed by omitting h7.

Quindi non esiste una relazione sfruttabile tra m1 e m2, non è più facile indovinare m da m1, m2 o entrambi.

Tuttavia, ciò che desideri veramente è una funzione di derivazione della chiave . Non eseguire il rollpoint della propria crittografia e non reinventare la ruota.

    
risposta data 17.11.2016 - 16:44
fonte
1

Non farlo. Come minimo, usa HMAC-SHA-256 con una chiave diversa per ogni scopo.

In realtà, però, dovresti usare un KDF appropriato per questo; Mi piace HKDF, personalmente.

    
risposta data 17.11.2016 - 16:40
fonte

Leggi altre domande sui tag