• Save
Crittografia1
Upcoming SlideShare
Loading in...5
×
 

Crittografia1

on

  • 3,681 views

Presentazione Progetto Lauree Scientifiche

Presentazione Progetto Lauree Scientifiche

Statistics

Views

Total Views
3,681
Slideshare-icon Views on SlideShare
3,671
Embed Views
10

Actions

Likes
0
Downloads
0
Comments
0

2 Embeds 10

http://www.slideshare.net 8
http://www.slideee.com 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Crittografia1 Crittografia1 Presentation Transcript

    • ● La crittografia (dal greco kryptos, nascosto, e graphein, scrivere) è la scienza che si occupa dello studio delle scritture segrete. ● La crittografia non mira a nascondere il messaggio in sé, ma il suo significato. ● E’ nata come branca della matematica e dell’informatica grazie all’utilizzo di tecniche di teoria dei numeri e di teoria dell’informazione. ● Insieme delle tecniche che consentono di realizzare la cifratura di un testo e la decifrazione di un crittogramma. Dizionario Garzanti (1972) BQHSSNFQZEHZ CRITTOGRAFIA
    • Origini storiche ● La crittografia è una scienza antichissima utilizzata nell’antichità per nascondere messaggi tra regnanti, imperatori, nobili. ● La scìtala lacedemonica è un antico esempio di un sistema per cifrare messaggi tramite l’utilizzo di un bastone cilindrico, cifrario a trasposizione (secondo gli scritti di Plutarco, in uso dai tempi di Licurgo, IX sec a.C.). ● 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.
    • Le operazioni di cifratura e decifrazione ● Definiamo con Msg l’insieme di tutti i messaggi e con Critto l’insieme di tutti i crittogrammi. ● Cifratura : operazione (funzione) con cui si trasforma un generico messaggio in chiaro (plaintext) m in un crittogramma (ciphertext) c applicando una funzione C : Msg  Critto. ● Decifrazione : operazione che permette di ricavare il messaggio in chiaro m a partire dal crittogramma c applicando una funzione D : Critto  Msg. ● Matematicamente D(C(m))=m le funzioni C e D sono una inversa dell’altra e la funzione C deve essere iniettiva, ossia a messaggi diversi devono corrispondere crittogrammi diversi.
    • Che cos’è un cifrario? ● Un cifrario è un sistema, di qualsiasi tipo, in grado di trasformare un testo in chiaro (messaggio) in un testo inintellegibile (testo cifrato o crittogramma). ● Per poter utilizzare un cifrario è necessario definire due operazioni: la cifratura del messaggio e la decifrazione del crittogramma. Testo in chiaro Testo cifrato (messaggio) ( Crittogramma) CIFRARIO
    • Scacchiera di Polibio Polibio fu uno scrittore greco che inventò un sistema per convertire caratteri alfabetici in caratteri numerici . La traduzione nell’attuale alfabeto si ottiene "fondendo" k e q , due lettere rare ma non foneticamente differenti (nella lingua inglese), nella stessa casella. In questo modo si otterrà la seguente tabella : Z Y X W V 5 U T S R P 4 O N M L KQ 3 J I H G F 2 E D C B A 1 5 4 3 2 1 @
    • Ogni lettera viene quindi rappresentata da due numeri , guardando la riga e la colonna in cui la lettera si trova. Per esempio, a=11 r=42. Quindi la frase: “ Attenzione agli scogli “ dopo la cifratura risulterà: 1144441534552435341511223224431335223224 | | | | | | | | | | A t t e n z i o n e ………………………………… Per certi aspetti è il precursore del moderno codice ASCII 01100001  a 01100010  b 01110100  t ecc….
    • Algoritmo e chiave sono le due componenti principali di ogni sistema di crittografia, componenti che permettono il passaggio dal messaggio in chiaro al messaggio cifrato (o criptato) e viceversa. Cifrari manuali • Cifrari a sostituzione monoalfabetica : Si utilizza un alfabeto sostitutivo con una permutazione della posizione delle lettere. • Cifrario di Cesare : ogni lettera viene sostituita da quella che la segue di tre posizioni nell’ordinamento normale dell’alfabeto (in maniera circolare).
    • Un esempio di cifrario: il cifrario di Cesare ● Consideriamo l’alfabeto italiano, costruiamo un cifrario che sostituisce ad ogni lettera di questo alfabeto la lettera che si trova 3 posizioni in avanti. a b c d e f g h i l m n o p q r s t u v z | | | | | | | | | | | | | | | | | | | | | d e f g h i l m n o p q r s t u v z a b c ● Ad esempio il testo in chiaro “ prova di trasmissione” viene cifrato nel crittogramma surbd gn zudvpnvvnrqh
    • CIFRARIO DI CESARE In termini matematici: C(x)= (x+3) mod 21 D(x)= (x-3) mod 21 (dove x rappresenta la posizione della lettera nell’alfabeto). • Esempio: “a”=1 per cui C(1)=(1+3) mod 21= 4 ossia la lettera “a” viene cifrata con la lettera “d”, poiché “d”=4. Per decifrare utilizzo D(4)=(4-3) mod 21 = 1, ossia “a”. C B A Z V U T S R Q P O N M L I H G F E D Z V U T S R Q P O N M L I H G F E D C B A
    • SOSTITUZIONE MONOALFABETICA Una generalizzazione del cifrario di Cesare si ottiene con la funzione: C(x)= (x+k) mod 21 dove k è la chiave scelta per criptare D(x)= (x-k) mod 21 per decriptare con la stessa chiave k
    • La crittografia simmetrica ● Introduciamo un parametro chiamato k (key= chiave) all’interno delle funzioni di cifratura C(m,k) e decifrazione D(c,k). ● Si parla di crittografia simmetrica perchè si utilizza la stessa chiave k per le operazioni di cifratura e decifrazione. ● La robustezza del cifrario dipende solo dalla segretezza della chiave k.
    • Testo in chiaro Testo cifrato (messaggio) ( Crittogramma) CIFRARIO CHIAVE (Key) Se l’utente A vuole comunicare con B, insieme devono concordare un algoritmo di cifratura ed una chiave K. Se A vuole trasmettere un messaggio riservato a B dovrà cifrarlo usando l’algoritmo e la chiave prescelta, in questo modo il testo sarà trasformato in una sequenza incomprensibile di caratteri. L’utente B potrà decifrare il testo utilizzando lo stesso algoritmo e la stessa chiave .
    • TRASPOSIZIONE Cifrari manuali (a trasposizione) • Si utilizzano degli schemi di trasposizione della posizione dei caratteri in un testo in chiaro. • Si fissa un numero intero P , detto periodo della traposizione , e si sceglie una permutazione degli interi da 1 a P, ad esempio per P=7: P=7 permutazione • Il messaggio viene suddiviso in blocchi di lunghezza P Ad esempio il crittogramma corrispondente a: “ FUGGIPR/IMADELT/RAMONTO” è ” GPGIRFU/DLAETIM/OTMNORA” • Con questo cifrario le lettere vengono semplicemente “rimescolate” 2 1 7 5 3 6 4 7 6 5 4 3 2 1
    • Analizziamo adesso la trasposizione per colonna che, data una certa chiave , costruisce il testo cifrato in base al riordinamento del testo sulle colonne della chiave . Esempio per chiarire il concetto . Prendiamo una chiave qualsiasi : chiave = BOOKS Messaggio in chiaro msg = “ciao domani ti porto quel carico” B O O K S c i a o d o m a n i CHIAVE ORDINATA: t i p o r B K O O S t o q u e l c a r i c o di questa tabella si prendono le colonne in ordine alfabetico basate sulle lettere delle chiavi, in questo caso prima la colonna B poi K poi le colonne con due O e infine la colonna con la lettera S. Infine avremo: testo in chiaro : ciao domani ti porto quel carico testo crittografato : cottlc onour imioco aapqa direi chiave : books
    • Cifrari a sostituzione polialfabetica Il più famoso cifrario a sostituzione polialfabetica è il cifrario di Vigenère (Blaise de Vigenère, XVI sec.). • Si utilizza una parola-chiave per identificare la riga corrispondente per la sostituzione con il relativo alfabeto individuato. • Ad esempio con la parola-chiave MENSA, voglio cifrare la parola “ I NTELL I GENZA”  testo in chiaro MENSAMENSAM  chiave ” U RHZLV O TZNLE”  crittogramma • Ogni lettera nel testo in chiaro non viene sempre sostituita con la stessa lettera nel crittogramma.
    • Esso utilizza una matrice 21x21 i cui elementi sono le lettere dell’alfabeto secondo questa disposizione V U T S R Q P O N M L I H G F E D C B A Z U T S R Q P O N M L I H G F E D C B A Z V . . . . . . . . . . . . . . . . . . . . . L I H G F E D C B A Z V U T S R Q P O N M . . . . . . . . . . . . . . . . . . . . . E D C B A Z V U T S R Q P O N M L I H G F D C B A Z V U T S R Q P O N M L I H G F E C B A Z V U T S R Q P O N M L I H G F E D B A Z V U T S R Q P O N M L I H G F E D C A Z V U T S R Q P O N M L I H G F E D C B Z V U T S R Q P O N M L I H G F E D C B A
    • ESEMPIO Supponiamo di volere codifificare il seguente messaggio con il codice di Vigenère usando la parola chiave Alberto Messaggio  ci vediamo al solito posto domani mattina TRASFORMAZIONE (CODIFICA) alberto alberto alberto alberto alberto  CHIAVE civedia moalsol itopost odomani mattina  TESTO ctwiub mzeclhz ieptflg oopqrgw mluxzgo  CRIPTO
    • Crittoanalisi statistica • Il cifrario di Cesare, come la maggior parte dei cifrari storici basati tu trasposizioni e traslazioni, può essere facilmente violato utilizzando tecniche statistiche ( crittoanalisi statistica ). • Si analizzano le frequenze relative dei caratteri nel testo cifrato e le si confrontano con quelle di una lingua conosciuta, ad esempio l'italiano.
    • Un esempio di tavola delle frequenze, calcolate su di un testo di 1000 caratteri, è la seguente: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z | | 103 9 43 38 126 8 20 11 116 0 0 66 26 66 87 32 6 67 61 61 30 15 0 0 0 9 A partire da una stima delle frequenze dei caratteri singoli dell'alfabeto nelle parole di un linguaggio, dei bigrammi (coppie di caratteri) e dei trigrammi (triple di caratteri) è possibile, procedendo per tentativi, individuare la permutazione che è stata usata nella cifratura. Ovviamente, le frequenze delle lettere dipendono dal tipo di testo considerato. Se il testo è sufficientemente lungo la cifratura è possibile
    • • Le frequenze relative al testo cifrato “ surbd gn zudvpnvvnrqh ” risultano: s (1/19) u (2/19) r (2/19) b (1/19) d (2/19) g (2/19) n (3/19) z (1/19) v (3/19) p (1/19) h (1/19).
    • Analizzando il testo cifrato : surbd gn zudvpnvvnrqh derivato dal testo in chiaro prova di trasmissione • Si confrontano tali frequenze con quelle della lingua italiana: a (0,114), e (0,111), i (0,104), o (0,099), t (0,068), r (0,065),... • Con queste informazioni ottengo una prima approssimazione del testo in chiaro “s ro b a g i z ra vp i vv io qh”, procedo per tentativi ripetendo il procedimento.
    • • Principio di Kerckhoffs (1883) • “ La sicurezza di un sistema crittografico è basata esclusivamente sulla conoscenza della chiave.