Le funzioni a senso unico

Una funzione a senso unico è una funzione matematica che è facile da calcolare in una direzione, ma difficile da invertire senza informazioni aggiuntive.

In altre parole, se ho una funzione \( f : X \rightarrow Y \), è semplice calcolare \( f(x) \) per un dato \( x \), ma è computazionalmente difficile trovare un \( x \) tale che \( f(x) = y \) per un dato \( y \) tranne quando dispongo di specifiche informazioni, come una chiave segreta.

Queste funzioni sono fondamentali nella crittografia, in particolare nella crittografia a chiave pubblica.

La sicurezza di molti sistemi crittografici dipende dalla difficoltà pratica di invertire queste funzioni senza conoscere la chiave segreta, anche se teoricamente è possibile farlo.

Ad esempio, la moltiplicazione di due grandi numeri primi è facile, ma il problema del factoring, ovvero trovare i fattori primi di un grande numero intero, è molto difficile e richiede un tempo molto lungo con i migliori algoritmi noti su computer classici. Questo è il principio alla base di algoritmi come RSA. Un altro esempi di funzione a senso unico sono i logaritmi discreti.

    Un esempio pratico

    Un classico esempio di funzione a senso unico è la moltiplicazione di due numeri primi utilizzata nell'algoritmo RSA, un algoritmo di crittografia a chiave pubblica.

    La funzione è molto facile da calcolare in una direzione, quella della cifratura.

    Scelgo due grandi numeri primi, p e q, e calcolo il loro prodotto n=p⋅q.

    $$ n = p \cdot q $$

    Il numero n viene utilizzato come parte della chiave pubblica.

    Conoscendo la chiave pubblica, chiunque può cifrare un messaggio utilizzando una funzione matematica che include la moltiplicazione modulo n.

    D'altra parte, la funzione è molto difficile nella direzione inversa, quella della decifratura.

    Senza conoscere i valori di p e q, il tentativo di decifrare un messaggio cifrato richiede di fattorizzare n per recuperare p e q.

    Questo è detto problema del factoring, che per numeri molto grandi diventa estremamente difficile.

    Solo chi ha la chiave privata, che contiene le informazioni sui valori di p e q, può farlo facilmente.

    E così via 

     


     

    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin
    knowledge base

    Crittografia

    Online Tool

    Codici e programmi