Funzione di compressione a senso unico
# Funzione di compressione a senso unico

In crittografia una funzione di compressione a senso unico è una funzione che trasforma 2 valori in ingresso di lunghezza fissa in un valore in uscita della stessa dimensione di quella dei valori passati. La trasformazione è a "senso unico" intendendo con ciò che risulta particolarmente difficile calcolare i valori in ingresso avendo solo il risultato compresso. Le funzioni di compressione a senso unico non sono correlate con la compressione dei dati, che per definizione sono invertibili.

Le funzioni di compressione a senso unico sono utilizzate nella costruzione Merkle-Damgård all'interno delle funzioni crittografiche di hash.

Le funzioni di compressione a senso unico sono spesso costruite partendo da cifrari a blocchi. Alcuni metodi per trasformare un normale cifrario a blocchi in una funzione di compressione a senso unico sono il Davies-Meyer, il Matyas-Meyer-Oseas, il Miyaguchi-Preneel (funzioni di compressione con lunghezza singola del blocco), l'MDC-2/Meyer-Schilling, l'MDC-4, e l'Hirose (queste ultime funzioni di compressione con lunghezza del blocco doppia).

