Gli algoritmi crittografici sono sequenze di processi, o regole, utilizzate per cifrare e decifrare messaggi in un sistema crittografico. In parole povere, sono processi che proteggono i dati assicurandosi che le persone indesiderate non possano accedervi. Questi algoritmi hanno un’ampia varietà di usi, inclusa la garanzia di transazioni finanziarie sicure e autenticate.
La maggior parte degli algoritmi di crittografia prevede l’uso della crittografia, che consente a due parti di comunicare impedendo a terzi non autorizzati di comprendere tali comunicazioni. La crittografia trasforma il testo in chiaro leggibile dall’uomo in qualcosa di illeggibile, noto anche come testo cifrato. I dati crittografati vengono quindi decrittografati per ripristinarli, rendendoli comprensibili per la parte designata. Sia la crittografia che la decrittografia operano sulla base di algoritmi.
Esistono molti tipi diversi di algoritmi crittografici, sebbene la maggior parte di essi rientri in una delle due classificazioni: simmetrica e asimmetrica. Alcuni sistemi, tuttavia, utilizzano un ibrido di entrambe le classificazioni. Gli algoritmi simmetrici, noti anche come algoritmi a chiave simmetrica o a chiave condivisa, funzionano mediante l’uso di una chiave nota solo alle due parti autorizzate. Sebbene questi possano essere implementati sotto forma di cifrari a blocchi o cifrari a flusso, la stessa chiave viene utilizzata sia per crittografare che per decifrare il messaggio. Il Data Encryption Standard (DES) e l’Advanced Encryption Standard (AES) sono gli esempi più popolari di algoritmi di crittografia simmetrica.
Gli algoritmi di crittografia asimmetrica si basano su una coppia di chiavi: una chiave pubblica e una chiave privata. La chiave pubblica può essere rivelata, ma, per proteggere i dati, la chiave privata deve essere nascosta. Inoltre, la crittografia e la decrittografia dei dati devono essere eseguite dalle chiavi private e pubbliche associate. Ad esempio, i dati crittografati dalla chiave privata devono essere decifrati dalla chiave pubblica e viceversa. RSA è uno degli esempi più comuni di questo algoritmo.
Gli algoritmi simmetrici sono generalmente molto più veloci degli algoritmi asimmetrici. Ciò è in gran parte correlato al fatto che è necessaria una sola chiave. Lo svantaggio dei sistemi a chiave condivisa, tuttavia, è che entrambe le parti conoscono la chiave segreta. Inoltre, poiché l’algoritmo utilizzato è di dominio pubblico, è in realtà la chiave che controlla l’accesso ai dati. Per questi motivi, le chiavi devono essere custodite e cambiate con relativa frequenza per garantire la sicurezza.
Sebbene gli algoritmi crittografici vengano utilizzati per fornire sicurezza, non sono infallibili al 100%. Il sistema non ottimale può essere infiltrato e le informazioni sensibili possono essere compromesse di conseguenza. Pertanto, test rigorosi degli algoritmi, in particolare rispetto agli standard stabiliti e ai punti deboli identificati, sono fondamentali per garantire la massima sicurezza.