La crittografia

Nota: ringraziamo gli autori per averci inviato questa tesina. Se anche voi avete riassunti, appunti o tesine da condividere scrivete a: redazione@lemona.it

Nascita ed evoluzione correlata al progresso tecnologico

  • Ardanese Edoardo
  • Gasparini Federico
  • Edoardo Tirinnanzi


Cos’è la crittografia

La crittografia tratta delle “scritture nascoste”, ovvero dei metodi per rendere un messaggio “offuscato” in modo da non essere comprensibile a persone non autorizzate a leggerlo. Un tale messaggio si chiama comunemente crittogramma.

Lo studio della crittografia e della crittanalisi si chiama comunemente crittologia.
Origini storiche

La crittografia è una scienza antichissima utilizzata nell’antichità per nascondere messaggi tra regnanti, imperatori, nobili.

  • La scitala lacedemonica è un antico esempio di un sistema per cifrare messaggi tramite l’utilizzo di un bastone cilindrico detto cifrario a trasposizione.
  • Il periodo d’oro della crittologia è relativo alla seconda guerra mondiale quando Alan Turing, il padre dell’informatica teorica, insieme al gruppo di ricerca del Bletchley Park formalizzò la matematica necessaria per uno studio sistematico dei cifrari.
  • Enigma è una delle macchine cifranti più famose della seconda guerra mondiale.
  • Nasce nel 1943 in Inghilterra il primo elaboratore elettronico il Colossus utilizzato per decifrare le comunicazioni segrete dei nemici.
  • La moderna crittografia

    Le basi teoriche della moderna crittografia, quella attualmente utilizzata, sono ancora più giovani e risalgono a circa 30 anni fa a partire dal 1969 con le prime ricerche di James Ellis del quartier generale governativo delle comunicazioni britanniche.

    • Sviluppata ed affinata nel 1976 in America grazie al contributo di Whitfield Diffie e Martin Hellman con la nascita del termine crittografia a chiave pubblica.
    • Nasce nel 1977 il cifrario a chiave pubblica RSA da tre ricercatori del MIT (Massachusetts Institute of Technology), Ronald Rivest, Adi Shamir e Leonard Adleman.
    • Con il cifrario RSA si inizia a parlare di strong-encryption
    • , crittografia forte.

      La rivoluzione della crittografia dopo l’avvento del computer

      • Molti cifrari considerati ragionevolmente sicuri fino al XIX secolo, possono oggi essere forzati in pochi secondi grazie alla velocità di elaborazione dei computer con semplici metodi esaustivi (o di forza bruta). Questi ultimi metodi diventano infatti praticabili ed estremamente efficaci: se per esempio la sicurezza di un codice si basa su una parola chiave di otto caratteri alfabetici maiuscoli, il numero di chiavi possibili è di 268 che vale circa 200 miliardi; provare 200 miliardi di chiavi è impossibile per un essere umano, ma non è fuori dalla portata di un computer; persino il DES classico basato su una chiave a 56 bit (256 chiavi possibili, un numero con sedici cifre decimali!) non è più considerato sicuro ed è stato sostituito da un DES a 128bit, la velocità di calcolo del computer cresce in continuazione e questo rende sempre più deboli codici basati su chiavi brevi.
      • In passato non era possibile utilizzare metodi crittografici troppo complessi che avrebbero comportato tempi di cifratura inaccettabilmente lunghi. Il computer può effettuare migliaia di calcoli in frazioni di secondo e questo rende utilizzabili in pratica metodi come RSA o DES che non potrebbero mai essere usati “a mano”.
      • La nascita dei cifrari a chiave pubblica

        • La crittografia è divenuta essenziale nelle comunicazioni tra computer; per esempio, quando chiediamo denaro contante a un bancomat, la nostra richiesta viene inoltrata tramite linea telefonica ed è indispensabile che non venga intercettata da terzi. Situazioni di questo genere mal si adattano ai mezzi della crittografia tradizionale; questi infatti richiedono che mittente e destinatario si accordino preventivamente sul metodo e sulla chiave di cifratura, cosa che richiede un canale di comunicazione assolutamente sicuro. Per queste situazioni sono stati progettati i cifrari a chiave pubblica come RSA.

        Cifrari a chiave pubblica

        • La crittografia tradizionale richiede una chiave segreta da concordarsi segretamente, cosa che complica molto le cose dal punto di vista pratico: non sempre infatti è facile trovare un canale di comunicazione assolutamente sicuro per comunicarsi la chiave segreta. Nel 1976 Whitfield Diffie and Martin Hellman proposero i cosiddetti cifrari a chiave pubblica il cui più noto esponente è l’ RSA definito nel 1977 e presentato nel 1978. Questi cifrari sono basati su una filosofia del tutto nuova: la chiave per cifrare non è la stessa di quella per decifrare; la prima può allora essere resa pubblica mentre solo la seconda resta segreta. Per questo motivo sono detti anche cifrari asimmetrici. La sicurezza di questi sistemi si fonda quasi sempre su funzioni relativamente facili da calcolare ma molto difficili da invertire.

        Pro, contro e soluzioni usate nella pratica

        • Il vantaggio dei cifrari a chiave pubblica è evidente; non è più necessario concordare una chiave segreta, è sufficiente avere un elenco di chiavi pubbliche garantito da una qualche autorità.
        • Lo svantaggio di questi metodi è che, richiedendo un gran numero di pesanti calcoli matematici, la trasmissione è molto più lenta di quella tradizionale. Per questo la soluzione oggi più usata è quella di utilizzare una combinazione dei due metodi: il messaggio chiaro viene cifrato con un metodo tradizionale, p.es. il DES, e una chiave segreta generata a caso; quindi usando un cifrario a chiave pubblica, p.es. RSA, si invia la chiave segreta, seguita dal messaggio cifrato; il ricevente, una volta ricevuta la chiave segreta può decifrare il messaggio segreto.

        Alcuni esempi di cifrari a chiave pubblica

        • Tra i cifrari a chiave pubblica il più noto resta RSA, ma vanno ricordati anche Diffie Helman, ElGamal, PGP, DSA, e i cifrari basati sulle curve ellittiche molto promettenti ma la cui sicurezza è molto dibattuta.
        • La crittografia a chiave pubblica è utile anche per generare le cosiddette firme digitali.

        Il cifrario RSA

        • Nato nel 1977 il cifrario RSA segnò una svolta nella storia della Crittologia; prima di allora i cifrari erano tutti a chiave segreta e simmetrica: la chiave (parola o numero) era segreta ed era la stessa per cifrare e per decifrare il messaggio.
        • L’idea fu quella di sfruttare la difficoltà di fattorizzare un numero; la chiave pubblica è un numero N ottenuto moltiplicando due numeri primi molto grandi (centinaia di cifre decimali) che restano segreti. Il sistema si basa su due risultati matematici dovuti a Fermat e a Eulero: la funzione di Eulero e il teorema di Fermat – Eulero.
        • RSA rimase per qualche anno non molto utilizzato, ma poi, con la sempre maggiore diffusione di Internet ha conosciuto un successo enorme, ed è ancor oggi il cifrario a chiave pubblica più usato. Quasi tutte le operazioni sicure sul web (protocollo https) usano oggi certificati basati su RSA.
        • Ogni utente del sistema ha una coppia di chiavi pubbliche che vengono pubblicate da un ente che ne garantisce l’autenticità.

        Caratteristiche RSA


        • Il codice RSA viene considerato sicuro perchè si ritiene che solo individuando i fattori primi della chiave pubblica sarebbe possibile decifrare il messaggio. E la fattorizzazione di un numero enorme (si usano oggi chiavi di 1024 o 2048 bit) richiede tempi proibitivi.
        • Non è per la verità dimostrato che sia necessaria la fattorizzazione per forzare RSA; per esempio potrebbe esistere un metodo per calcolare la funzione di Eulero Φ(N), senza conoscere i fattori primi di N. D’altra parte è stato dimostrato che il calcolo della funzione di Eulero comporta una complessità paragonabile alla fattorizzazione. E fino ad ora nessun metodo del genere è stato trovato ed RSA resta a tutt’oggi un cifrario inviolato.
        • Un difetto di RSA è la mole dei calcoli aritmetici che per numeri grandi si traduce in una lentezza della codifica; e poiché la codifica consiste essenzialmente in un elevamento a potenza in un’aritmetica finita, diventa essenziale disporre di algoritmi veloci per il calcolo della potenza.
        • Anche così RSA resta un metodo di cifratura molto più lento (circa mille volte!) degli algoritmi classici come DES; per questo motivo RSA è di solito utilizzato solo per trasmettere la chiave segreta di un DES (o altro cifrario simmetrico) e il messaggio vero e proprio viene trasmesso appunto con il DES.

        Cifrari a chiave segreta

        • I cifrari tradizionali sono tutti caratterizzati da una chiave segreta; mittente e destinatario dei messaggi segreti devono preventivamente concordare una qualche chiave da mantenere segreta: una parola segreta (oggi la si direbbe una password) o una griglia o una qualche tabella di codifica.
        • Caratteristiche della cifratura a chiave segreta

          • La necessità di comunicarsi la chiave segreta è un grosso punto debole: o ci si vede di persona e in luogo riservato, o si deve usare un canale di comunicazione assolutamente sicuro, cosa molto difficile da ottenersi (e se si disponesse di un tale canale la crittografia diverrebbe inutile).
          • Questi cifrari sono detti anche simmetrici: infatti cifratura e decifratura fanno uso della stessa chiave
            Tra i cifrari a chiave segreta contemporanei va ricordato prima di tutti il DES della IBM.

          Il cifrario D.E.S.

          • Il D.E.S. (Data Encryption Standard) è un cifrario composto che prevede 16 cifrature successive (trasposizioni e sostituzioni di bit).
            Presentato nel 1975 dall’IBM allora leader incontrastato del mondo dell’Informatica è tuttora il cifrario a chiave segreta più usato negli ambienti informatici.
            E’ divenuto il sistema ufficiale di cifratura del Governo degli Stati Uniti già dal 1977.
          • In pratica il testo chiaro viene suddiviso in blocchi da 64 bit (equivalenti a 8 caratteri); ogni blocco è sottoposto a una trasposizione data in base ad una chiave di 64 bit; si applica quindi per 16 volte una funzione cifrante e alla fine la trasposizione inversa di quella iniziale.
          • Viene definito un sistema simmetrico perchè sia l’emittente del messaggio, sia il ricevente devono conoscere la stessa chiave segreta. In un ambiente di poliutenza, si era parlato di una diffusione della chiave, fino a renderla di pubblico dominio; ma poi ci si è chiesti se ne valesse davvero la pena. Se usato singolarmente, il D.E.S. può essere un ottimo sistema per inserire files in un disco fisso, nella forma cifrata.

          La sicurezza del DES

          • Le chiavi possibili sono 256 (8 dei 64 bit sono usati come bit di controllo e ne restano quindi solo 56 per la chiave), un numero molto elevato ma non più fuori della portata dei moderni supercomputer. E’ stata avanzata perfino l’ipotesi che con un sufficiente investimento si potrebbe far costruire un computer capace di forzare il D.E.S. con una brutale ricerca esaustiva dello spazio chiave (che richiederebbe 3,5 ore). Tale computer è stato estimato per 1 milione di dollari; sono stati fatti tanti progetti ed altrettante polemiche, ma il computer non è ancora stato realizzato.
          • Più recentemente Matsui ha sviluppato un’altro tipo di attacco, conosciuto come crittanalisi lineare. Secondo Matsui la chiave del D.E.S. può essere riconosciuta tramite l’analisi di 243 testi in chiaro noti. Il suo primo esperimento ebbe successo, ma fu archiviato perchè richiese 9735 stazioni di lavoro operanti per 50 giorni e 12 ore, un tempo troppo lungo, considerando che la chiave del D.E.S. può essere prequentemente cambiata proprio per impedire forzature.
          • Il DES, quindi è da ritenersi ancora sicuro, ed ha il vantaggio della velocità di cifratura che è molto superiore a quella del suo principale rivale il codice RSA.
          • Inoltre, in risposta ai numerosi tentativi di forzatura è stato elaborato il D.E.S. triplo, uno speciale tipo di D.E.S. a tre livelli di cifratura.

          Il futuro della crittografia

          • Il continuo incremento delle prestazioni dei computer sta rendendo necessaria una ulteriore evoluzione dei metodi di cifratura perchè la potenza di calcolo molto superiore rispetto al passato ha l’effetto di rendere i metodi di cifratura progressivamente meno sicuri in quanto aumenta nettamente la velocità di elaborazione del terminale il che si tramuta nella possibilità di “forzare” il codice cifrato. Basti pensare che un semplice processore Intel Dual Core E6400 riesce comunque a gestire contemporaneamente 2 sistemi di crittografia come D.E.S. ed RSA dando con una velocità di elaborazione di circa 60/65 megabyte al secondo .
No Comments Yet

Leave a Reply

Your email address will not be published.