Passa ai contenuti principali

Crittografia

 

La crittografia è la tecnica che consente di rendere visibili le informazioni soltanto alle persone a cui sono destinate. Per esempio, in una comunicazione, i messaggi trasmessi tra gli interlocutori vengono crittografati per renderli illeggibili tranne che agli interlocutori stessi. La crittografia è nota fin dall’antichità e si è sviluppata, nel corso del tempo, soprattutto in campo militare, basandosi generalmente su algoritmi matematici.

crittografia

Il messaggio che può essere letto da tutti si chiama testo in chiaro. Tramite i metodi di cifratura (codifica) si trasforma in testo cifrato in cui l’informazione viene codificata e resa illeggibile. L’operazione inversa, chiamata decifrazione (decodifica), serve per ricostruire il testo in chiaro a partire dal testo cifrato.

La codifica e la decodifica sono eseguite da uno o più algoritmi crittografici. Questi algoritmi implementano le funzioni matematiche e vengono utilizzati insieme ad una chiave, solitamente in numero molto grande. Un sistema di crittografia usa gli algoritmi crittografici e la chiave per codificare e decodificare i testi in chiaro.

Testo in chiaro –> Cifratura (algoritmo + chiave) –> testo cifrato –> Decifrazione (algoritmo + chiave) –> Testo in chiaro

La paternità dell’invenzione della crittografia è attribuita a Giulio Cesare che, durante le battaglie, spediva dispacci usando simboli alfabetici che differivano di una costante nota (chiave) dall’alfabeto naturale. Se per esempio la chiave è 3, l’algoritmo crittografico di Giulio Cesare prende tutte le occorrenze della lettera A (posizione 1 dell’alfabeto) e le sostituisce con la lettera D (posizione 4 nell’alfabeto), la B con la E, la C con la F e così via fino alla Z con la C.

ABCDEFGHILMNOPQRSTUVZ diventa:

DEFGHILMNOPQRSTUVZABC

Supponendo di avere come testo in chiaro le parole “GIULIO CESARE” la codifica con chiave 3 genera il seguente testo cifrato: “LNAOR FHVDUH”.

Chi riceve il messaggio cifrato, per poter risalire al messaggio originale, deve conoscere la chiave usata. A questo punto applica l’opportuno algoritmo di decodifica e sostituisce le lettere usando il valore della chiave segreta. Questo sistema di crittografia è noto con il nome di cifrario a sostituzione.

Un altro sistema di crittografia e il cifrario a trasposizione, in cui la chiave (una parola) serve per spezzare il messaggio su più righe e successivamente per ordinare le colonne risultanti ottenendo il testo cifrato. Con questa tecnica, non si sostituiscono le lettere del messaggio originale, ma si scambiano in modo opportuno per rendere illeggibile il messaggio.

Ovviamente l’algoritmo di Giulio Cesare non è un buon algoritmo per garantire la sicurezza dei messaggi, perché può essere violato molto facilmente anche non conoscendo la chiave. Se il crittoanalista conosce il testo cifrato e sa che l’algoritmo utilizzato è quello di Giulio Cesare, può provare in modo esaustivo tutte le chiavi finché non ottiene il testo in chiaro. La ricerca esaustiva può essere eseguita perché il numero di chiavi da provare è piccolo, infatti con l’alfabeto italiano ci sono 21 possibili chiavi.

Le tecniche crittografiche possono essere classificate in due principali sistemi: a chiave simmetrica e a chiave asimmetrica.

La crittografia a chiave simmetrica è un sistema di codifica convenzionale nel quale viene utilizzata una sola chiave per cifrare e decifrare i messaggi. Il mittente e il destinatario devono conoscere la stessa chiave per potersi scambiare i messaggi in modo sicuro. Il cifrario a sostituzione, usato da Giulio Cesare, è un esempio di crittografia a chiave simmetrica. La chiave utilizzata può essere interpretata come un numero molto grande e la sua dimensione viene misurata in numero di bit: più grande è la chiave è più difficile sarà il compito di chi vuole infrangere i messaggi cifrati. Per esempio se la chiave e lunga 10 bit esistono 210 (1024) differenti chiavi, se la chiave è 20 bit esistono 220 (1048576) differenti chiavi e così via. Una chiave a 40 bit è ritenuta abbastanza sicura, perché chi volesse decifrare i messaggi dovrebbe cercare tra 240 possibili chiavi, cioè tra 1099511627776 possibili chiavi. Supponendo di provare una chiave ogni millisecondo, servirebbero circa 109 secondi, cioè poco meno di 32 anni!

La crittografia a chiave asimmetrica, chiamata anche crittografia a chiave pubblica, è stata introdotta nel 1975 con l’obiettivo di risolvere il problema della distribuzione sicura delle chiavi.

Il termine asimmetrica si riferisce al fatto che il sistema utilizza una coppia di chiavi.

- una chiave pubblica, per l’operazione di cifratura;

- una chiave privata, per l’operazione di decifrazione.

Le due chiavi sono correlate matematicamente, per cui i messaggi codificati con la chiave pubblica possono essere codificati soltanto che chi possiede la chiave privata. La particolarità e la forza di questo sistema crittografico è che, anche conoscendo la chiave pubblica, non è possibile risalire alla corrispondente chiave privata. La coppia di chiavi viene generata da un software opportuno. Ogni persona che vuole ricevere i messaggi cifrati deve fornirsi di una coppia di chiavi: la chiave privata viene tenuta segreta, mentre la chiave pubblica viene distribuita liberamente a tutte le persone con cui si vuole comunicare.

Il mittente di un messaggio deve conoscere la chiave pubblica del destinatario e successivamente può codificare il messaggio usando questa chiave. Il testo cifrato può essere codificato soltanto da chi possiede la chiave privata correlata con la chiave pubblica con cui è stato cifrato il messaggio. Il destinatario, essendo in possesso di questa chiave privata e segreta può leggere il messaggio dopo averlo decifrato.

Il vantaggio del sistema crittografico a chiave asimmetrica è che il mittente e il destinatario non devono condividere una chiave segreta. I mittenti dei messaggi devono solo conoscere la chiave pubblica del destinatario mentre la chiave privata deve essere conservata in modo segreto dal destinatario.

Un algoritmo crittografico a chiave simmetrica è RSA (iniziali dei creatori: Rivest, Shamir, Adleman). Questo algoritmo si basa sulla difficoltà di fattorizzare numero molto grandi, anche di trecento cifre (10300).


Commenti

Post popolari in questo blog

Perché un numero moltiplicato per zero fa zero?

Ad alcuni potrà sembrare una domanda banale, ma non potete immaginare quante sono le persone che me lo chiedono e che prima di trovare una risposta degna di questo nome si scervellano senza successo. Evidentemente il problema non viene percepito come così banale. In realtà il “ mistero ” ha una risposta semplicissima. Per capire perché un numero qualsiasi (diverso da zero) moltiplicato per zero da come risultato zero , possiamo ricorrere ad un esempio . Come prima cosa dobbiamo pensare che i numeri sono degli “ insiemi ” di oggetti . Ad esempio il numero 5 lo possiamo immaginare come un insieme formato da 5 caramelle , o da 5 biglie, o da 5 oggetti qualsiasi. Se dobbiamo moltiplicare il numero 5 per il numero 3, significa quindi che dobbiamo prendere 3 insiemi formati da 5 caramelle. Se contiamo tutte le caramelle che adesso abbiamo, troviamo il numero 15. Occorre notare che anche se prendiamo 5 insiemi da 3 elementi, otteniamo 15 elementi. infatti 3x5=15, ma anche 5x3=15, come ci ...

Onde trasversali e onde longitudinali

  Un’onda che si forma muovendo l’estremità di una lunga molla è un esempio di onda elastica . Essa si chiama così perché si propaga grazie alle proprietà elastiche del mezzo materiale in cui ha origine. Onda trasversale . Un’onda elastica si può generare spostando alcune spire di una molla in direzione perpendicolare rispetto alla molla stessa. Per esempio, possiamo spostare una delle prime spire per poi rilasciarla: accade così che le spire contigue, sollecitate dalla prima, si mettano anch’esse in movimento, spostandosi trasversalmente rispetto alla direzione di propagazione dell’onda . Il processo poi continua, consentendo all’onda di investire spire sempre più lontane. Onda longitudinale . E’ possibile perturbare la molla anche in un altro modo e cioè avvicinando e poi rilasciando alcune spire di una lunga molla. Si ha così una regione di spire compresse che si sposta lungo la molla, seguita da un’altra zona di spire rade: ciascuna spira, quando è investita dalla pert...

Problemi WiFi con OS X Lion. La soluzione definitiva!

Sono tantissimi gli utenti che, dopo l'installazione del nuovo sistema operativo OS X Lion , hanno avuto gravi problemi con la connessione WiFi . Di solito il problema si presenta come una difficoltà di connessione con il router: la connessione dura pochi minuti e poi cade senza motivo. Su internet ci sono varie guide per cercare di risolvere il problema, ma nessuno di questi rimedi funziona veramente . Per fortuna qualcuno su internet ha trovato la soluzione definitiva : sostituire i driver WiFi della versione di OS X 10.7.0 (Lion) con quelli della versione 10.6.4 (Leopard) . In questo modo i problemi di connessione WiFi con Lion si risolvono completamente in pochi minuti. Come faccio a saperlo? Con il mio iMac 21,5 il metodo ha funzionato alla perfezione! :-) ( update : oggi 28 settembre 2011 ancora il wifi sta funzionando!) Ecco cosa bisogna fare ( attenzione che tutto ciò che farete da questo momento in poi è A VOSTRO RISCHIO E PERICOLO !) 1) Scaricare l...