One Input Two Hashes

1

Supponiamo di avere una password x e due diverse funzioni hash h1 e h2 . Posso quindi calcolare l'hash y1 = h1(x) e y2 = h2(x) .

  1. C'è qualche tipo di vulnerabilità in questo caso? Più specificamente, è possibile ottenere y1 da y2 e viceversa? C'è qualcos'altro che devo cercare?

Questa è più una questione teorica, che è in parte il motivo per cui non sto specificando alcuna funzione hash specifica. Un altro modo per esprimere questa domanda è il seguente.

  1. La sicurezza in questo caso specifico si riduce alla selezione "corretta" delle coppie di funzioni hash? O non importa?

  2. Ora, sostituisci "hash" in questa domanda con "funzione di derivazione della chiave". Fa alcuna differenza?

posta nehcsivart 13.12.2015 - 09:43
fonte

1 risposta

4

Is there any sort of vulnerability in this case? More specifically, is it possible to get y1 from y2 and vise versa? Is there anything else I need to look out for?

Puoi costruire una coppia di funzioni di hash sicure in cui y1 può essere calcolato da y2 e viceversa:

  • funzione # 1: SHA-256
  • funzione # 2: SHA-256 con i primi due bit scambiati

Entrambe le funzioni sono ovviamente diverse ed entrambe sono sicure in quanto non è possibile ottenere l'input dall'output né effettuare attacchi di collisione. Ma ovviamente puoi calcolare il risultato dalla funzione # 1 se conosci il risultato della funzione # 2 e viceversa.

Does security in this specific case come down to the "correct" selection of the hash function pairs? Or does it not matter?

Penso che con le funzioni di hash basate su idee completamente diverse le probabilità siano alte che non troverai una dipendenza tra le uscite. Ma d'altra parte molti problemi apparentemente non correlati in matematica si trovano alla fine correlati. Quindi penso che avresti bisogno di dimostrare l'indipendenza per ogni coppia di algoritmi di hash.

Now, replace "hash" in this question with "key derivation function". Does it make any difference?

Puoi creare un KDF con output dipendenti nello stesso modo in cui ho creato le due funzioni hash dipendenti. Anche i KDF sono spesso basati su funzioni di hash quindi suggerirei di utilizzare la stessa argomentazione che ho usato per gli hash.

    
risposta data 13.12.2015 - 10:13
fonte

Leggi altre domande sui tag