Estratto del documento

Indice

1 Introduzione alla crittografia 7

1.1 Il ruolo della crittografia nella protezione delle informazioni . . . . . . 7

1.2 Crittografia come miglioramento, non come soluzione definitiva . . . . 7

2 Terminologia fondamentale 7

2.1 Crittologia, crittografia e crittoanalisi . . . . . . . . . . . . . . . . . . . . . 7

2.1.1 Crittologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.1.2 Crittografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.1.3 Crittoanalisi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3 Minacce ai messaggi 8

3.1 Intercettazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3.2 Interruzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3.3 Modifica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.4 Fabbricazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.5 Vulnerabilità e controllo della minaccia . . . . . . . . . . . . . . . . . . . . 9

4 Schema crittografico di base 9

4.1 Plaintext, ciphertext, cifratura e decifratura . . . . . . . . . . . . . . . . . 9

4.2 Notazione formale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

5 Crittografia in pratica 10

5.1 Comunicazione in ambiente ostile . . . . . . . . . . . . . . . . . . . . . . . 10

6 Crittosistemi con chiavi 10

6.1 Ruolo della chiave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

6.2 Algoritmo e chiave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

7 Classificazione dei crittosistemi rispetto alle chiavi 11

7.1 Crittosistemi senza chiave . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

7.2 Crittosistemi simmetrici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

7.3 Crittosistemi asimmetrici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

8 Obiettivi della crittoanalisi 12

8.1 Rompere un singolo messaggio . . . . . . . . . . . . . . . . . . . . . . . . . 12

8.2 Riconoscere pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

8.3 Dedurre significati senza decifrare . . . . . . . . . . . . . . . . . . . . . . . 13

8.4 Dedurre la chiave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

8.5 Trovare vulnerabilità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

9 Informazioni disponibili al crittoanalista 13

9.1 Messaggi cifrati intercettati . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1 2

9.2 Algoritmo noto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

9.3 Plaintext noto o sospetto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

9.4 Strumenti matematici e statistici . . . . . . . . . . . . . . . . . . . . . . . . 14

9.5 Proprietà del linguaggio naturale . . . . . . . . . . . . . . . . . . . . . . . . 14

10 Cifratura rompibile 14

10.1 Sicurezza teorica e sicurezza pratica . . . . . . . . . . . . . . . . . . . . . . 14

10.2 Forza bruta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

10.3 Esempio con messaggio di 25 caratteri . . . . . . . . . . . . . . . . . . . . 14

10.4 Ruolo dell’intelligenza nell’attacco . . . . . . . . . . . . . . . . . . . . . . . 15

11 Requisiti dei protocolli crittografici 15

11.1 Consegna del messaggio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

11.2 Riservatezza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

11.3 Autenticazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

11.4 Integrità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

11.5 Protezione dalla duplicazione . . . . . . . . . . . . . . . . . . . . . . . . . . 15

11.6 Non ripudio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

12 Rappresentazione dei caratteri 15

12.1 Lettere come numeri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

12.2 Operazioni modulo 26 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

13 Tipi fondamentali di cifrari 16

13.1 Cifrari a sostituzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

13.2 Cifrari a trasposizione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

13.3 Product ciphers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

14 Cifrario di Cesare 17

14.1 Definizione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

14.2 Chiave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

14.3 Esempio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

14.4 Cifrario monoalfabetico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

15 Attacco a un cifrario di sostituzione 18

15.1 Ricerca esaustiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

15.2 Analisi statistica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

15.3 Unigrammi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

16 Attacco statistico al ciphertext “khoor zruog” 19

16.1 Calcolo delle frequenze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

16.2 Correlazione con l’inglese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

16.3 Interpretazione dei risultati . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3

17 Problema del cifrario di Cesare 20

17.1 Chiave troppo corta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

17.2 Frequenze non nascoste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

17.3 Soluzione: chiave più lunga . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

18 Sostituzione polialfabetica 21

18.1 Idea generale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

18.2 Effetto sulle frequenze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

18.3 Esempio con due chiavi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

19 Tavola di Vigenère 21

19.1 Struttura della tabula recta . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

19.2 Uso della chiave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

19.3 Esempio con chiave EXODUS . . . . . . . . . . . . . . . . . . . . . . . . . . 22

19.4 Decifratura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

20 Cifrari di trasposizione 23

20.1 Concetto generale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

20.2 Trasposizione colonnare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

20.3 Padding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

20.4 Rail-fence cipher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

21 Product ciphers 24

21.1 Definizione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

21.2 Obiettivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

21.3 Limite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

22 Criteri per un buon cifrario 25

22.1 Dipendenza dall’applicazione . . . . . . . . . . . . . . . . . . . . . . . . . . 25

22.2 Sostituzione, trasposizione e diffusione . . . . . . . . . . . . . . . . . . . . 25

22.3 Principi di cifratura solida . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

23 Stream cipher e block cipher 25

23.1 Distinzione generale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

24 Stream cipher 25

24.1 Funzionamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

24.2 Decifratura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

24.3 Vantaggi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

25 Problemi degli stream cipher 26

25.1 Perdita di sincronizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

25.2 Decifratura errata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

25.3 Possibile recupero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4

26 Block cipher 27

26.1 Funzionamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

26.2 Esempio con trasposizione colonnare . . . . . . . . . . . . . . . . . . . . . 28

26.3 Ritardo di decodifica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

26.4 Weak-block e strong-block cipher . . . . . . . . . . . . . . . . . . . . . . . . 28

27 Confronto tra stream cipher e block cipher 28

27.1 Stream cipher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

27.2 Block cipher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

28 Approcci di crittoanalisi 29

28.1 Ciphertext-only attack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

28.2 Known plaintext attack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

28.3 Probable plaintext attack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

28.4 Chosen plaintext attack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

28.5 Chosen ciphertext attack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

29 Crittografia simmetrica 30

29.1 Definizione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

29.2 Distribuzione della chiave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

29.3 Autenticazione implicita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

30 Crittografia asimmetrica 31

30.1 Definizione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

30.2 Distribuzione della chiave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

30.3 Esempio concettuale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

31 Crittografia simmetrica e concetti introduttivi 31

31.1 Significato generale della crittografia simmetrica . . . . . . . . . . . . . . 32

31.2 Cifrari a blocchi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

31.3 Product cipher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

32 DES: Data Encryption Standard 33

32.1 Origine storica del DES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

32.2 Il problema della lunghezza della chiave . . . . . . . . . . . . . . . . . . . 33

32.3 Caratteristiche generali del DES . . . . . . . . . . . . . . . . . . . . . . . . 34

33 Struttura interna del DES e schema di Feistel 34

33.1 Divisione del blocco in due metà . . . . . . . . . . . . . . . . . . . . . . . . 34

33.2 Funzionamento generale del round Feistel . . . . . . . . . . . . . . . . . . 35

33.3 Perché la struttura Feistel è utile . . . . . . . . . . . . . . . . . . . . . . . . 35

33.4 Operazioni logiche elementari . . . . . . . . . . . . . . . . . . . . . . . . . . 36

34 Confusion 36

5

34.1 Definizione di confusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

34.2 Ruolo delle S-box nella confusion . . . . . . . . . . . . . . . . . . . . . . . . 37

35 La funzione Feistel del DES 37

35.1 Ruolo della funzione f . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

35.2 Fase 1: espansione da 32 bit a 48 bit . . . . . . . . . . . . . . . . . . . . . 38

35.3 Fase 2: XOR con la chiave di round . . . . . . . . . . . . . . . . . . . . . . 38

35.4 Fase 3: sostituzione tramite S-box . . . . . . . . . . . . . . . . . . . . . . . 38

35.5 Esempio di S-box DES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

35.6 Fase 4: permutazione tramite P-box . . . . . . . . . . . . . . . . . . . . . . 39

36 Diffusion 40

36.1 Definizione di diffusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

36.2 Perché la diffusion è importante . . . . . . . . . . . . . . . . . . . . . . . . 40

36.3 Ruolo delle P-box nella diffusion . . . . . . . . . . . . . . . . . . . . . . . . 40

37 Generazione delle chiavi nel DES 41

37.1 Chiave principale e round keys . . . . . . . . . . . . . . . . . . . . . . . . . 41

37.2 Permuted Choice 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

37.3 Rotazioni a sinistra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

37.4 Permuted Choice 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

38 Implementazione hardware iterativa del DES 42

38.1 Idea generale dell’implementazione hardware . . . . . . . . . . . . . . . . 42

38.2 Registri e aggiornamento dei dati . . . . . . . . . . . . . . . . . . . . . . . . 43

38.3 Vantaggi e limiti dell’approccio iterativo . . . . . . . . . . . . . . . . . . . 43

39 Double DES 43

39.1 Idea del Double DES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

39.2 Il problema del meet-in-the-middle . . . . . . . . . . . . . . . . . . . . . . . 44

40 Triple DES 44

40.1 Motivazione del Triple DES . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

40.2 Struttura EDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

40.3 Sicurezza effettiva di Triple DES . . . . . . . . . . . . . . . . . . . . . . . . 45

41 Evoluzione verso AES 45

41.1 Necessità di un nuovo standard . . . . . . . . . . . . . . . . . . . . . . . . . 45

41.2 Criteri richiesti per AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

41.3 Competizione AES e finalisti . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

42 AES: Advanced Encryption Standard 47

42.1 Caratteristiche generali di AES . . . . . . . . . . . . . . . . . . . . . . . . . 47

42.2 Numero di round in AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

6

42.3 Operazioni fondamentali di un round AES . . . . . . . . . . . . . . . . . . 47

42.4 Substitution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

42.5 ShiftRows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

42.6 MixColumns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

42.7 AddRoundKey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

43 Confronto concettuale tra DES, Triple DES e AES 48

43.1 DES come algoritmo storico . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

43.2 Triple DES come soluzione intermedia . . . . . . . . . . . . . . . . . . . . 49

43.3 AES come standard moderno . . . . . . . . . . . . . . . . . . . . . . . . . . 49

44 Visione complessiva del percorso crittografico 49

44.1 Dal DES ad AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

44.2 Confusion e diffusion come principi comuni . . . . . . . . . . . . . . . . . 50

44.3 Importanza dell’implementazione hardware . . . . . . . . . . . . . . . . . 50

7

1 Introduzione alla crittografia

1.1 Il ruolo della crittografia nella protezione delle informazioni

La crittografia è uno degli strumenti fondamentali per proteggere le informazioni in un am-

biente digitale. Il suo scopo principale è trasformare un messaggio leggibile, chiamato plaintext

o cleartext, in una forma non immediatamente comprensibile, chiamata ciphertext. In questo

modo, anche se il messaggio viene intercettato, il suo contenuto non dovrebbe essere leggibile

da soggetti non autorizzati.

La crittografia non deve però essere interpretata come una soluzione assoluta a tutti i problemi

di sicurezza. Essa riduce il rischio, rende più difficile l’attacco e aumenta il costo per l’avversario,

ma non elimina completamente le minacce. Un sistema può infatti essere vulnerabile non solo

per debolezze matematiche, ma anche per errori di implementazione, cattiva gestione delle chiavi

o procedure operative scorrette.

L’idea di base è simile a quella di una serratura: il messaggio viene “chiuso” tramite un algoritmo

crittografico e può essere “riaperto” solo da chi possiede le informazioni corrette, tipicamente una

chiave. Questo concetto è centrale nella protezione di infrastrutture critiche, sistemi industriali,

reti informatiche, comunicazioni militari, dispositivi personali e applicazioni bancarie.

1.2 Crittografia come miglioramento, non come soluzione definitiva

La crittografia fornisce un miglioramento della sicurezza, ma non garantisce che un sistema sia

invulnerabile. Un messaggio cifrato può comunque essere intercettato, bloccato, alterato o usato

in modo improprio se mancano altri meccanismi di protezione.

Per esempio, la cifratura protegge la riservatezza, ma non garantisce automaticamente inte-

grità, autenticazione o disponibilità. Per questo motivo deve essere inserita in un protocollo

più ampio.

2 Terminologia fondamentale

2.1 Crittologia, crittografia e crittoanalisi

2.1.1 Crittologia

La crittologia è il campo generale che comprende sia la crittografia sia la crittoanalisi. Quindi,

essa studia sia i metodi per proteggere i messaggi sia quelli per attaccarli. 8

2.1.2 Crittografia

La crittografia è l’arte e la scienza di mantenere sicuri i messaggi. Si occupa di progettare

algoritmi e protocolli che trasformano dati leggibili in dati non leggibili da chi non possiede la

chiave o la conoscenza necessaria.

Il suo obiettivo principale è rendere il messaggio incomprensibile a soggetti non autorizzati,

mantenendo però la possibilità per il destinatario legittimo di recuperare il contenuto originale.

2.1.3 Crittoanalisi

La crittoanalisi è l’arte e la scienza di rompere un ciphertext, cioè di cercare di ricavare il mes-

saggio originale o la chiave senza autorizzazione. Il crittoanalista studia debolezze matematiche,

statistiche, operative o implementative.

Un esempio storico importante è Enigma durante la Seconda guerra mondiale. Questo caso

mostra che la sicurezza non dipende solo dalla complessità apparente di un sistema, ma anche da

come viene usato, dagli errori umani, dalle procedure operative e dalle informazioni disponibili

all’attaccante.

3 Minacce ai messaggi

3.1 Intercettazione

L’intercettazione avviene quando un soggetto non autorizzato accede al messaggio durante la

comunicazione. L’attaccante può semplicemente osservare o copiare il contenuto trasmesso.

D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher ingchiaretta98 di informazioni apprese con la frequenza delle lezioni di Hardware and embedded security e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Pisa o del prof Niccolini Federico.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community