Il gruppo deve essere scelto in modo tale che gli elementi del gruppo possano essere rappresentati con $l < 2(n-1)$ bit
DL difficile relativamente a $\mathcal G$ $\Rightarrow$ $H$ funzione hash resistente a collisioni di lunghezza fissata
Dimostrazione
Sia $\Pi = (Gen, H)$ e sia $A$ PPT con $Pr[Hash\text{-}coll_{A,\Pi}(n)=1]= \epsilon(n)$
Possiamo usare $A$ per costruire $A'$ che risolve il problema DL con probabilità di successo $\epsilon(n)$
<aside> 💡
Algoritmo $A'$
Il valore $s$ dato ad $A$ è distribuito esattamente come nell’esperimento $Hash\text{-}coll_{A,\Pi} (n)$, per lo stesso valore del parametro di sicurezza $n$ $\Rightarrow$ con probabilità $\epsilon(n)$ viene prodotta una collisione
$H^s(x_1,x_2) = H^s(x_1', x_2') \iff g^{x_1}h^{x_2}= g^{x_1'}h^{x_2'} \iff(g^{x_1}h^{x_2})g^{-x_1'}h^{-x_2}= (g^{x_1'}h^{x_2'})g^{-x_1'}h^{-x_2} \iff g^{x_1-x_1'} = h^{x_2'-x_2}$
Poiché $q$ è primo, esiste $(x_2'-x_2)^{-1} \text{ mod }q$ $\Rightarrow g^{(x_1-x_1')(x_2'-x_2)^{-1}} = h^{(x_2'-x_2)(x_2'-x_2)^{-1}} = h^1 = h$ $\Rightarrow log_gh= (x_1-x_1')(x_2'-x_2)^{-1}$
Pertanto $A'$ risolve il problema DL con probabilità $\epsilon (n)$, e poiché per ipotesi il problema DL è difficile relativamente a $\mathcal G$, allora $\epsilon(n)$ è trascurabile $\Rightarrow$ $H$ è collision-resistant