Dopo aver visto alcuni esempio di algoritmi di crittografia a chiave simmetrica e a chiave pubblica, vedremo in questo articolo di fare un confronto tra i due sistemi, partendo comunque dal presupposto che queste operano in due ambiti diversi e che la crittografia a chiave pubblica non rappresenta il sostituto di quella a chiave segreta.
Il primo e più evidente vantaggio portato dalla crittografia a chiave asimmetrica riguarda la gestione delle chiavi (scambio e conservazione).
Nella crittografia a chiave simmetrica, la chiave di decodifica coincide (o può essere facilmente ricavata) da quella di codifica, cosicché questa non può essere di pubblico dominio. I due interlocutori quindi devono necessariamente concordare la chiave da utilizzare. Questo implica una fase di scambio delle chiavi, che può avvenire tramite l’incontro dei due interlocutori o attraverso la spedizione su un canale assolutamente sicuro.
Continua »
L’IBM, che per molti anni ha dominato incontrastata il mondo dei computer, introdusse nel 1975, anche se l’algoritmo fu pubblicato nel 1977, un suo cifrario espressamente progettato per l’uso informatico: il Data Encryption Standard o DES.
In realtà, l’algoritmo inizialmente si chiamava DEA (Data Encryption Algorithm) e fu presentato al bando di concorso richiesto dall’NSA (National Security Agency, l’agenzia governativa americana preposta alla sicurezza dei dati governativi) al National Bureau of Standars (NBS), oggi divenuto NIST (National Institute of Standard and Technology) per trovare un algoritmo da adottare come standard per la crittografia dei dati riservati del Governo Americano.
Continua »
Il metodo di Vigenere è il classico esempio di metodo di sostituzione polialfabetica.
Fu inventato da Blaise de Vigénère nel 1586, anche se creò un codice più sofisticato, ma il suo nome rimase associato a questo codice più debole.
Si può dire che il codice di Vigénere è più sicuro di una semplice sostituzione monoalfabetica. Vigénère propose l’uso della tavola quadrata, composta da alfabeti ordinati spostati. Introdusse poi nel suo uso il verme letterale proposto da Della Porta, ottenendo una cifra in verità più debole e più scomoda delle precedenti.
Il metodo Vigénère ebbe una fortuna immediata e fu molto usato nell’ambito militare anche dopo che ne fu scoperto il metodo di decfratura.
Continua »
Inventato nel 1854 da Sir Charles Wheatstone (anche se porta il nome del suo amico, il barone Playfair di St. Andrews), il metodo di Playfair è indubbiamente il metodo di sostituzione a blocchi (“mutiple-letter encryption“) più conosciuto.
L’algoritmo si basa sull’uso di un vettore 5×5 di lettere, costruita partendo da una parola chiave.
Vediamone un esempio:
Continua »
Il cifrario di Cesare è sicuramente il più famoso e al tempo stesso il più semplice metodo di crittografia a sostituzione (monoalfabetica).
Come si evince dal nome, fu inventato da Giulio Cesare e grazie all’opera del II secolo d.C. “La vita dei 12 Cesari” di Svetonio, disponiamo della descrizione precisa della scrittura segreta per sostituzione usata dall’imperatore.
L’idea alla base è molto semplice: ogni lettera dell’alfabeto (in italiano nel nostro esempio) viene sostituita con quella che si trova 3 posizioni avanti nell’alfabeto stesso.
Continua »
La comunicazione, in particolare quella “segreta”, riveste un ruolo importante per l’umanità fin dall’antichità. Da sempre infatti l’uomo ha cercato il modo di proteggere i propri segreti. Fin dalla nascita delle prime forme di società e di comunità, semplici capi di villaggi, re, regine, comandanti hanno avuto la necessità di inventare espedienti per evitare che i loro messaggi cadessero nelle mani del nemico: ecco quindi che la storia dell’uomo si intreccia con la storia della crittografia.
Dal punto di vista etimologico, il termine crittografia deriva dalle parole greche “kriptos” (nascosto) e “graphos” (scrittura). Quindi, se si volesse dare una definizione rigorosa, si potrebbe dire che la crittografia è la scienza che ricerca metodi o algoritmi che siano in grado di trasformare un messaggio in chiaro (plaintext) in un messaggio cifrato (ciphertext).
Continua »