Crittografia/ Steganografia Crittografia fornisce uno strumento adatto a mantenere segrete tutte quelle informazioni che non si vogliono divulgare pubblicamente, in maniera tale che la possibilità di accedervi sia data solo a persone autorizzate Possono essere fatte due operazioni: Crittazione: è l’operazione tramite la quale si nascondono le informazioni ed è effettuata tramite un apposito algoritmo chiamato cifrario; l'informazione da cifrare è noto come testo chiaro. La crittazione sfrutta come mezzo fondamentale una chiave per convertire il testo chiaro in testo cifrato o crittogramma Decrittazione: è l'operazione inversa rispetto alla crittazione, ossia la conversione da testo cifrato a testo chiaro; anch'essa sfrutta la chiave del cifrario 2 00 AN www.divini.net Cenni di crittografia 3 00 AN www.divini.net Procedura di cifratura / decifratura La procedura di cifratura / decifratura definisce: Un algoritmo Una chiave La sicurezza di un sistema crittografico deve basarsi esclusivamente sulla conoscenza della chiave, cioè il sistema deve essere sicuro pur essendo noto a priori l’algoritmo di cifratura e decifratura (seconda legge di Kerckhoffs) 4 00 AN www.divini.net Definizione di chiave Una chiave è un parametro più o meno complesso che permette la personalizzazione di un dato algoritmo di cifratura / decifratura, cioè permette di variare il meccanismo di funzionamento di un certo algoritmo 5 00 AN www.divini.net Cifrario di Cesare Ad ogni lettera dell’alfabeto viene sostituita la lettera di tre posizioni successiva Se ad ogni lettera del messaggio originario viene sostituita con la lettera che la segue a k posizioni di distanza, k è la chiave 6 00 AN www.divini.net Esempio Il ROT-13 Il ROT-13, detto anche "eccesso 13", è un sottocaso di cifrario a scorrimento dove la chiave assume il valore fisso 13. La scelta della chiave 13 e l'uso dell'alfabeto inglese (di 26 lettere) permette di utilizzare lo stesso algoritmo sia per cifrare che per decifrare Il ROT-13 prevede che ad ogni lettera venga sostituita la tredicesima lettera successiva, utilizza quindi la seguente tabella di conversione: Originale: abcdefghijklmnopqrstuvwxyz Crittato: NOPQRSTUVWXYZABCDEFGHIJKLM Originale: la scena dove il personaggio principale muore non mi piace Crittato: YN FPRAN QBIR VY CREFBANTTVB CEVAPVCNYR ZHBER ABA ZV CVNPR 7 00 AN www.divini.net Schema del ROT13 Prendendo ad esempio la parola HELLO diventa URYYB. 8 00 AN www.divini.net Utility online per la conversione ROT 13 Da Wikipedia, l'enciclopedia libera http://it.wikipedia.org/wiki/ROT13 Utility online http://rot13page.googlepages.com/ http://www.mostraip.it/rot13.aspx CRIPTA ROT 13 Applicativo online di criptazione e decriptazione Rot13 9 00 AN www.divini.net Codici monoalfabetici Codice monoalfabetico = procedura di cifratura che sostituisce ad uno stesso simbolo originario un simbolo cifrato uguale. Il Cifrario di Cesare è facilmente decrittabile, perché è sufficiente fare 25 prove per decifrare il messaggio. 10 00 AN www.divini.net Codici monoalfabetici Si può associare ad ogni simbolo originario un simbolo arbitrario per aumentare la difficoltà della decifrazione, come per esempio I tentativi da effettuare per la decifrazione sono: 26·25 ·24 ·… ·2 ·1 ≈ 4.03291 ·1026 11 00 AN www.divini.net Codice polialfabetico Meccanismo che alla stessa lettera del messaggio originario fa corrispondere diverse lettere del messaggio criptato secondo un criterio prestabilito 12 00 AN www.divini.net La Tabula Recta 13 00 AN www.divini.net Il Cifrario di Vigénère 14 00 AN www.divini.net Analisi statistica sull’occorrenza delle singole lettere nella lingua italiana 15 00 AN www.divini.net Crittoanalisi Crittoanalisi = insieme di meccanismi utilizzato per la decifratura di dati crittografati mediante analisi del testo cifrato senza conoscere la chiave di cifratura. Crittoanalisi esaustiva (detta anche bruteforce – a forza bruta) = metodo di decifrazione di un messaggio basato sul test di tutte le chiavi possibili Crittoanalisi statistica = metodo di decifrazione basato sullo studio statistico delle occorrenze delle lettere e delle parole in una data lingua. 16 00 AN www.divini.net Steganografia E’ "la scrittura nascosta", o meglio l'insieme delle tecniche che consente di comunicare in modo tale da nascondere non tanto il contenuto (come nel caso della crittografia), ma la stessa esistenza della comunicazione agli occhi di un eventuale osservatore L'obiettivo della steganografia è quello di nascondere un messaggio dentro un altro messaggio, dall'aspetto innocuo, in modo che il nemico non possa neppure rilevare l'esistenza del primo messaggio 17 00 AN www.divini.net Steganografia sostitutiva Tale tecnica si basa sulla seguente osservazione: la maggior parte dei canali di comunicazione trasmettono segnali sempre accompagnati da qualche tipo di rumore; questo rumore può essere sostituito da un segnale, il messaggio segreto, che è stato trasformato in modo tale che, a meno di conoscere una chiave segreta, è indistinguibile dal rumore vero e proprio, quindi può essere trasmesso senza destare sospetti. 18 00 AN www.divini.net steghide http://steghide.sourceforge.net/ si trova il programma (di publico dominio) steghide che occulta un messaggio segreto in una immagine jpg. Se volete nacondere segreto.txt in roma.jpg, attivate una shell con cmd o command, e scrivete: steghide embed -cf roma.jpg -ef segreto.txt Vi verrà chiesta una password con riconferma, supponiamo sia okvabene. Questa parola va condivisa con la persona cui inviare il messaggio. Chi riceve roma.jpg, deve dare il comando: steghide extract -sf roma.jpg e inserire la parola convenuta okvabene. Nella directory di lavoro troverà segreto.txt 19 00 AN www.divini.net Esempio: icona di Elia Una delle due immagini (quella a sinistra) contiene un messaggio segreto http://www.dm.unito.it/~cerruti/cp0/stega.html 20 00 AN www.divini.net