Aritmetica modulare: un applicazione alla crittografia

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Aritmetica modulare: un applicazione alla crittografia"

Transcript

1 Aritmetica modulare: un applicazione alla crittografia a cura di Alessandro Musesti Università Cattolica del Sacro Cuore, Brescia 10 marzo 2016

2 Parte I I cifrari a sostituzione

3 L inizio della storia: il metodo Atbash Il metodo Atbash consiste nel sostituire la prima lettera dell alfabeto con l ultima, la seconda con la penultima, e così via. Chiaro a b c d e f g h i j k l m Cifrato Z Y X W V U T S R Q P O N Chiaro n o p q r s t u v w x y z Cifrato M L K J I H G F E D C B A

4 L inizio della storia: il metodo Atbash Il metodo Atbash consiste nel sostituire la prima lettera dell alfabeto con l ultima, la seconda con la penultima, e così via. Chiaro a b c d e f g h i j k l m Cifrato Z Y X W V U T S R Q P O N Chiaro n o p q r s t u v w x y z Cifrato M L K J I H G F E D C B A Il metodo prende il nome dallo scambio delle lettere nell alfabeto ebraico:.( atbash )אתבש,( shin )ש da cui il nome ( bet )ב con,( tav )ת ( alef )א con Il metodo è molto antico: ad esempio, nel libro di Geremia si trova parecchie volte la parola ( Sheshakh )ששך che sta per.( Babel )בבל

5 L inizio della storia: il metodo Atbash Il metodo Atbash consiste nel sostituire la prima lettera dell alfabeto con l ultima, la seconda con la penultima, e così via. Chiaro a b c d e f g h i j k l m Cifrato Z Y X W V U T S R Q P O N Chiaro n o p q r s t u v w x y z Cifrato M L K J I H G F E D C B A Il metodo prende il nome dallo scambio delle lettere nell alfabeto ebraico:.( atbash )אתבש,( shin )ש da cui il nome ( bet )ב con,( tav )ת ( alef )א con Il metodo è molto antico: ad esempio, nel libro di Geremia si trova parecchie volte la parola ( Sheshakh )ששך che sta per.( Babel )בבל Provate a decifrare la parola NZGVNZGRXZ

6 L inizio della storia: il metodo Atbash Il metodo Atbash consiste nel sostituire la prima lettera dell alfabeto con l ultima, la seconda con la penultima, e così via. Chiaro a b c d e f g h i j k l m Cifrato Z Y X W V U T S R Q P O N Chiaro n o p q r s t u v w x y z Cifrato M L K J I H G F E D C B A Il metodo prende il nome dallo scambio delle lettere nell alfabeto ebraico:.( atbash )אתבש,( shin )ש da cui il nome ( bet )ב con,( tav )ת ( alef )א con Il metodo è molto antico: ad esempio, nel libro di Geremia si trova parecchie volte la parola ( Sheshakh )ששך che sta per.( Babel )בבל Provate a decifrare la parola matematica

7 Il cifrario di Cesare Consiste nel sostituire ogni lettera con quella che viene tre lettere dopo nell alfabeto (si chiama anche spostamento di 3). Il numero 3 in questo caso è la chiave di cifratura. Chiaro a b c d e f g h i j k l m Cifrato D E F G H I J K L M N O P Chiaro n o p q r s t u v w x y z Cifrato Q R S T U V W X Y Z A B C Caio Giulio Cesare usava questo metodo per comunicare con le truppe. Naturalmente può essere usata qualsiasi altra chiave (compresa tra 1 e 25).

8 Il cifrario di Cesare Consiste nel sostituire ogni lettera con quella che viene tre lettere dopo nell alfabeto (si chiama anche spostamento di 3). Il numero 3 in questo caso è la chiave di cifratura. Chiaro a b c d e f g h i j k l m Cifrato D E F G H I J K L M N O P Chiaro n o p q r s t u v w x y z Cifrato Q R S T U V W X Y Z A B C Caio Giulio Cesare usava questo metodo per comunicare con le truppe. Naturalmente può essere usata qualsiasi altra chiave (compresa tra 1 e 25). Un algoritmo tuttora usato (per gioco) è il ROT13, in cui la chiave scelta è 13 (in questo modo per crittare e decrittare si usa lo stesso algoritmo): 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

9 Il cifrario di Cesare Consiste nel sostituire ogni lettera con quella che viene tre lettere dopo nell alfabeto (si chiama anche spostamento di 3). Il numero 3 in questo caso è la chiave di cifratura. Chiaro a b c d e f g h i j k l m Cifrato D E F G H I J K L M N O P Chiaro n o p q r s t u v w x y z Cifrato Q R S T U V W X Y Z A B C Caio Giulio Cesare usava questo metodo per comunicare con le truppe. Naturalmente può essere usata qualsiasi altra chiave (compresa tra 1 e 25). Provate a decrittare la frase GLHFLPLOD QHPLFL DO IURQWH

10 Il cifrario di Cesare Consiste nel sostituire ogni lettera con quella che viene tre lettere dopo nell alfabeto (si chiama anche spostamento di 3). Il numero 3 in questo caso è la chiave di cifratura. Chiaro a b c d e f g h i j k l m Cifrato D E F G H I J K L M N O P Chiaro n o p q r s t u v w x y z Cifrato Q R S T U V W X Y Z A B C Caio Giulio Cesare usava questo metodo per comunicare con le truppe. Naturalmente può essere usata qualsiasi altra chiave (compresa tra 1 e 25). Provate a decrittare la frase diecimila nemici al fronte

11 Cifrari per sostituzione Si possono anche usare alfabeti mescolati per la sostituzione, ad esempio 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 Q M W N C B R V T E Y X S Z I O A P U L D K F J G H

12 Cifrari per sostituzione Si possono anche usare alfabeti mescolati per la sostituzione, ad esempio In tutto ci sono 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 Q M W N C B R V T E Y X S Z I O A P U L D K F J G H!26 = possibilità, cioè all incirca 148 milioni di miliardi di miliardi di modi di scambiare tutte le lettere!

13 Cifrari per sostituzione Si possono anche usare alfabeti mescolati per la sostituzione, ad esempio In tutto ci sono 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 Q M W N C B R V T E Y X S Z I O A P U L D K F J G H!26 = possibilità, cioè all incirca 148 milioni di miliardi di miliardi di modi di scambiare tutte le lettere! Ma c è un problema... a simbolo uguale corrisponde lettera uguale al-kindi, scienziato arabo del IX secolo d.c, cominciò a studiare l analisi delle frequenze. Alessandro Musesti - Università Cattolica del Sacro Cuore

14 Analisi delle frequenze e a i o n l r t s c d p u m v g h f b q z Frequenze delle lettere nella lingua italiana

15 Analisi delle frequenze e t a o i n s h r d l c u m w f g y p b v k j x q z Frequenze delle lettere nella lingua inglese

16 I rischi di codici non sicuri Alessandro Musesti - Università Cattolica del Sacro Cuore

17 I rischi di codici non sicuri Maria Stuarda ( ), regina di Scozia, tradita da un cifrario troppo debole, decifrato da Thomas Phelippes.

18 Parte II I cifrari a sostituzione polialfabetica

19 Il cifrario di Vigenère (1586) Storicamente è stato inventato da Giovan Battista Bellaso, nato a Brescia nel In questo metodo bisogna stabilire una parola, o una frase (anche lunga) comune: questa sarà la chiave segreta del cifrario. Per esempio, la chiave segreta sia la parola RICERCA e supponiamo di voler cifrare la frase la matematica è bella. In una tabella scriviamo la frase da cifrare e sotto di essa, ripetutamente, la parola-chiave. Poi ad ogni lettera sommiamo il valore della lettera corrispondente della parola-chiave (da A=0 a Z=25), trovando una nuova lettera:

20 Il cifrario di Vigenère (1586) Storicamente è stato inventato da Giovan Battista Bellaso, nato a Brescia nel In questo metodo bisogna stabilire una parola, o una frase (anche lunga) comune: questa sarà la chiave segreta del cifrario. Per esempio, la chiave segreta sia la parola RICERCA e supponiamo di voler cifrare la frase la matematica è bella. In una tabella scriviamo la frase da cifrare e sotto di essa, ripetutamente, la parola-chiave. Poi ad ogni lettera sommiamo il valore della lettera corrispondente della parola-chiave (da A=0 a Z=25), trovando una nuova lettera: Chiaro l a m a t e m a t i c a e b e l l a Chiave R I C E R C A R I C E R C A R I C E Cifrato C I O E K G M R B K G R G B V T N E

21 Il cifrario di Vigenère (1586) Storicamente è stato inventato da Giovan Battista Bellaso, nato a Brescia nel In questo metodo bisogna stabilire una parola, o una frase (anche lunga) comune: questa sarà la chiave segreta del cifrario. Per esempio, la chiave segreta sia la parola RICERCA e supponiamo di voler cifrare la frase la matematica è bella. In una tabella scriviamo la frase da cifrare e sotto di essa, ripetutamente, la parola-chiave. Poi ad ogni lettera sommiamo il valore della lettera corrispondente della parola-chiave (da A=0 a Z=25), trovando una nuova lettera: Chiaro l a m a t e m a t i c a e b e l l a Chiave R I C E R C A R I C E R C A R I C E Cifrato C I O E K G M R B K G R G B V T N E Questo codice è piuttosto robusto (non basta l analisi delle frequenze per forzarlo) ma dipende molto dalla lunghezza della parola-chiave: se questa è corta, diventa abbastanza debole.

22 Il cifrario di Vigenère (1586) Storicamente è stato inventato da Giovan Battista Bellaso, nato a Brescia nel In questo metodo bisogna stabilire una parola, o una frase (anche lunga) comune: questa sarà la chiave segreta del cifrario. Per esempio, la chiave segreta sia la parola RICERCA e supponiamo di voler cifrare la frase la matematica è bella. In una tabella scriviamo la frase da cifrare e sotto di essa, ripetutamente, la parola-chiave. Poi ad ogni lettera sommiamo il valore della lettera corrispondente della parola-chiave (da A=0 a Z=25), trovando una nuova lettera: Chiaro l a m a t e m a t i c a e b e l l a Chiave R I C E R C A R I C E R C A R I C E Cifrato C I O E K G M R B K G R G B V T N E Questo codice è piuttosto robusto (non basta l analisi delle frequenze per forzarlo) ma dipende molto dalla lunghezza della parola-chiave: se questa è corta, diventa abbastanza debole. Inoltre, bisogna prima condividere la chiave! Alessandro Musesti - Università Cattolica del Sacro Cuore

23 Cifrario di Vigenère Alessandro Musesti - Università Cattolica del Sacro Cuore 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 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 A C D E F G H I J K L M N O P Q R S T U V W X Y Z A B D E F G H I J K L M N O P Q R S T U V W X Y Z A B C E F G H I J K L M N O P Q R S T U V W X Y Z A B C D F G H I J K L M N O P Q R S T U V W X Y Z A B C D E G H I J K L M N O P Q R S T U V W X Y Z A B C D E F H I J K L M N O P Q R S T U V W X Y Z A B C D E F G I J K L M N O P Q R S T U V W X Y Z A B C D E F G H J K L M N O P Q R S T U V W X Y Z A B C D E F G H I K L M N O P Q R S T U V W X Y Z A B C D E F G H I J L M N O P Q R S T U V W X Y Z A B C D E F G H I J K M N O P Q R S T U V W X Y Z A B C D E F G H I J K L N O P Q R S T U V W X Y Z A B C D E F G H I J K L M O P Q R S T U V W X Y Z A B C D E F G H I J K L M N P Q R S T U V W X Y Z A B C D E F G H I J K L M N O Q R S T U V W X Y Z A B C D E F G H I J K L M N O P R S T U V W X Y Z A B C D E F G H I J K L M N O P S S T U V W X Y Z A B C D E F G H I J K L M N O P Q R T U V W X Y Z A B C D E F G H I J K L M N O P Q R S U V W X Y Z A B C D E F G H I J K L M N O P Q R S T V W X Y Z A B C D E F G H I J K L M N O P Q R S T U W X Y Z A B C D E F G H I J K L M N O P Q R S T U V X Y Z A B C D E F G H I J K L M N O P Q R S T U V W Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Z 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

24 I blocchetti monouso (cifrario di Vernam, 1917) Se nel cifrario di Vigenère prendiamo una parola-chiave lunga come il messaggio e formata da caratteri completamente casuali, otteniamo il cosiddetto cifrario di Vernam. È stato dimostrato che questo è il modo più sicuro di scambiarsi un messaggio, ma ha una pecca: come condividere la chiave segreta, così lunga? Il serpente si morde la coda...

25 I blocchetti monouso (cifrario di Vernam, 1917) Se nel cifrario di Vigenère prendiamo una parola-chiave lunga come il messaggio e formata da caratteri completamente casuali, otteniamo il cosiddetto cifrario di Vernam. È stato dimostrato che questo è il modo più sicuro di scambiarsi un messaggio, ma ha una pecca: come condividere la chiave segreta, così lunga? Il serpente si morde la coda... Nella realtà questo metodo è stato usato davvero: ad esempio durante la II Guerra Mondiale venivano distribuite alcune copie di blocchi monouso, pagine e pagine di caratteri casuali (spesso creati mediante estrazione delle lettere da un urna) opportunamente etichettati. Il messaggio da trasmettere mostrava all inizio (in chiaro) il codice della pagina corrispondente, e poi veniva codificato con le lettere di quella pagina.

26 I blocchetti monouso (cifrario di Vernam, 1917) Se nel cifrario di Vigenère prendiamo una parola-chiave lunga come il messaggio e formata da caratteri completamente casuali, otteniamo il cosiddetto cifrario di Vernam. È stato dimostrato che questo è il modo più sicuro di scambiarsi un messaggio, ma ha una pecca: come condividere la chiave segreta, così lunga? Il serpente si morde la coda... Nella realtà questo metodo è stato usato davvero: ad esempio durante la II Guerra Mondiale venivano distribuite alcune copie di blocchi monouso, pagine e pagine di caratteri casuali (spesso creati mediante estrazione delle lettere da un urna) opportunamente etichettati. Il messaggio da trasmettere mostrava all inizio (in chiaro) il codice della pagina corrispondente, e poi veniva codificato con le lettere di quella pagina. Ma questo metodo non si può usare per trasmettere il nostro numero di carta di credito a un negoziante: prima dovremmo andare fisicamente nel negozio e consegnargli un blocchetto monouso!

27 Blocchetto monouso 001 T S W V W D M F T D Y W W Z Q B T R Z B Y A Y N I H E J M H P E O R I R W M D Y Q D Q Z Z B C A A I O L Y C A V E I K K L K A G R P Y T R X A I D R O X X M N G R Z E T S Z X C I Z K B T C Y M A B Y Z V C I A N M G X X N O J B Q G Q Q G W P Z J W U B R J S C Z K U U R U X J F H P T B V P K S R P H I X I S F J C Q W V G I Y P C Y Z H J S S O Q Z D J S U I Q Q K O U A N Z M D P T S R R L K F Y I R M E P Q B H J C R J G L M B Q G W S N A H B W F R O W R Y U B V J G I I A F V I R L B Z H H W Z U K V K O F A E E Z G N A P S O D B L A D J Z Y A C K G Q P H M P S H R Z O R O U F N W C L V X W Q D I Z F R Y X I D N Z D E X R P T E N K O J F B E U W W B L D I G K C L Q W R P B W R A Z C A M X Z G G P B M P E M C C L K C Y E W G S Z W R Y U M M Z R K I C D R C D Y I H X M K T K C Y F Q E I V Y T Y J N K J Y G M A S B J N I I I H W I Q U Z G O Z J Z Z C V S O B V S O V H V K Y E I B G H R W Q O R S Z D A P E R C K P G O U S T Y X F B K F B S T X N R S D I X O O C M A D S M R R B F G L T P X G D N T H W K F I X O J Y U K X S O T B D O S S C W R C E C E R O F I D Q D N A P B A C X T F M M P S A T S B E H A C W W U B O R W Z K Y W F M T A M G E Q Z T B P U E B L W V K T U X V S E M Z E C S V I X U I G L U J L N A G M S J X W T C L Y B F Q O X Y I P L W S T Y P M M L K T F C Y L A K B T S A V J K O E I T O U E T L A W H O S N J F A B G L S H I T Z Y X U F W B Z U K L B H S J G O R I Y O D K U Y K V Q O R T Y D J C O J W E B B V G M S O Y L P P Z Y Z R F W K N X P B A F Q Y G A S F E U A O C N K J I D P X M H E F O I D Y Y Q Z B Y M K V U A A M Z L H G Z N P J W C F N Y R B N A O K X O K Q A Y I I F N U X I O F W I P E Y A Z Q B K Y Z O H K E L C K Y G B F E O X I L J B Z A Z D Z B H Y A E R H A B U P U H O A G O L O L O N U L H X U N Y N K S O K Q G H X P M F Z E M X C N J Z E C E V W J T T I A F X U Z I E Y O Y Y V I D Q N W K W P X D E K A N C U E A Q O F T D H H Y H C H C K B B O Y U P E P Z H P B E Q Q V Q G X E F J Z A T V H V O A W Y Z O J O H K Y S F L F Z W V G J H M F F J V O A N G Q H B B X Q L U A I L Q D H Q W P U O N T R F T Q Z Z F G I J W G B W Q L G O J J C W V G J O W I D P W I I B W Y R B I E V Y W N K K R D I K W N W F E R L U V R I T U Z T G X J V E X Q H A I Y L I U O S Q M X H H Z N Y U R W T S Z L D T U P W S L S U W X N J I T U U J V O I U Y K Q S C F C R W A V Q W L H Q Y C L N A H N H U C X V S V J N W H F R W N R W M C T G P P F T Y Q Y O F F X V I I A T D A L P T Q S K D D U I F H X D N P H J Y R L I T A U O J O Z K Z O C R V O L Q C E Q U W W I U L M G P I J W G M V B M U R Z U S K L G M Q P K V M D M L Q C O N Q G S D U F X D A A L L D X R

28 Blocchetto monouso 002 W J A E Y G D G V P X E X Q W A E I Q G J K M S Y F U U R S O S X R L F K Q F A W U Y D E O D O P J J P E V C N C X I E X J V K W M Q J Q I E Q V I G I J Y V L G M S I P I A I P K B L O F S V Z J J L P D W R A Z U X O N C L B G H H I K F W E G Q F Z B I T K Z T O E E K H D B M F O S Z G L Q H S M Q G U R S R W Q E N U M M M Q Z N C G X C Z X R X X P I A N L S H D K T R R E O O M Q G G V Q F R J P I F O Z W Q D L T O D V C W H M W U D I P C U Z W I Q J G R C W K N B V F D G D I C R P C Z G R T O R S C A I R X W L L F D P S Q J K S D X O V F N I B U H Y P W C L R K S T O A N T V I N N S E K T I M F V D O Q E O U B U N Q K B M W S S R Z N G N J C K N O O M T H G P G J C L A W P G S W W J H H Y U J X L D E U I N U D U B K I T C A X B U S P M I K K E L N V E M G P F K Y W G A M H M L R D S G X C N L F M K H S J O X O L N G I V F V T F W J B O Y Q S S F H T F B E Z Z V L X D A B C D Y O T P Q D J E P F C G H E S G W L U G N J L C O P H V I X P F I J V T X B W F X V S B I C O F O Z K L Y Y N E P Z E F S T W Z V C Y H T O X N B C V S W J H E D Y M Y F M Y K X V E D A O G M C F R P G N J O I C D O A P N O C J K C Q X K J R C P X W O F U E Z O P N P X B W V Z P A S W R Q K P I W S V X M G X I J D C W W T H T U K Q V A K G V C F X R B Z C Q N S E U J N O K Y M B E Y J G M L U G L H M I U Y U Z I L O Q O T L Q E S B Q V R J U W I T I C E J U L F M N V N H B I C G V R Y L S S G O G M E Z Z N G O O A R Z N M N M B L V U Q R Z J C L C S H D L K Q B V K K F F R Y H F K M N W V F T N A L J B G S A S U G R J T A K W Y T O K K Z Q N Z L G C M W B E A S P C N G Q V H L C U C K P F R N R G O J D T O J I W O Y A Z G G O V P C B F U A M A Z Q M A M E Y X F R K S J G N S W N H I B B E L A E V G K S J E L R V Z F I A A V Q G V H O H Z P C A B H J B R Y L Z V M F B C Z G Q D F D C H R A X O U V Q U H V R M Y A D B B G G S W X M O D X C K B W U G D H I Y N G Z E X P Y I B N E R H K Y P H M D F W Y A U N J E P L C A S E C K Z W H F F D U Z P A E T I I B R U C S T N V N C Y G A Q H Z P F Z N Z D X O G L U K S X M Y C G R Y A Q H R L R D Q C L U V H U D Q W K W Z C J K Q G N G Q H M S I A C W T B R G V J N M G W W X F L R N X Z K M M E U F D O G M G Q S M U U F H C V E O F O X X V X F K Z H J R N C V X D C V D K J U C I X S J X S H N R N D T R N J V M K L N T W W L A M V X L X J O F K L J G A O V V P T J R O Y Y R Q I M B A I Z F Q K G N W K M N V L Y E T O P F Z L B Q H I V G Y T I P Y C Q X Z Y J C B Q L U C E I P U L L C H L Y G K Y Y U Z Q D S Z Y G A C Q Z W D E L H P M Z G K A O N B B J C S G T I M X U Q E F H W H W S I N I K Z E E Z Q Q N P A D W R H B T X V D X V F K W J M O

29

30

31

32

33 La macchina ENIGMA È una macchina tedesca usata per codificare i messaggi durante la II Guerra Mondiale. Basata su tre rotori (scelti tra cinque disponibili), posizionati all inizio in una posizione concordata e che poi continuavano a ruotare ad ogni lettera, cambiando cifrario ogni volta.

34

35 Alan Turing Alan Turing ( ), tra i più grandi matematici del XX secolo, uno dei padri dell informatica. Inventa il concetto di macchina di Turing e il test di Turing. Durante la II Guerra Mondiale lavora a Bletchley Park, dove risulta determinante nella decrittazione del codice Enigma, perfezionando il progetto della Bomba, il capostipite dei calcolatori elettronici, progettato inizialmente in Polonia. Turing era un ottimo corridore: aveva un personale sulla maratona di 2h46 3, un tempo di solo 11 minuti più alto del vincitore dei Giochi Olimpici di Londra del 1948 Delfo Cabrera.

36

37

38

39 Verso i cifrari contemporanei: i cifrari poligrafici Nei cifrari contemporanei non si usa più codificare una lettera alla volta, ma si suddivide il messaggio in blocchi di due o più lettere, e sono i blocchi ad essere codificati singolarmente. In questo modo la procedura si complica, poiché aumenta molto il numero dei simboli e si rende molto più difficile l analisi delle frequenze.

40 Verso i cifrari contemporanei: i cifrari poligrafici Nei cifrari contemporanei non si usa più codificare una lettera alla volta, ma si suddivide il messaggio in blocchi di due o più lettere, e sono i blocchi ad essere codificati singolarmente. In questo modo la procedura si complica, poiché aumenta molto il numero dei simboli e si rende molto più difficile l analisi delle frequenze. Ad esempio, esistono 26 2 = 676 coppie di lettere possibili e 26 3 = terne di lettere possibili.

41 Verso i cifrari contemporanei: i cifrari poligrafici Nei cifrari contemporanei non si usa più codificare una lettera alla volta, ma si suddivide il messaggio in blocchi di due o più lettere, e sono i blocchi ad essere codificati singolarmente. In questo modo la procedura si complica, poiché aumenta molto il numero dei simboli e si rende molto più difficile l analisi delle frequenze. Ad esempio, esistono 26 2 = 676 coppie di lettere possibili e 26 3 = terne di lettere possibili. Gli attuali cifrari (DES, AES) si basano su questo principio.

42 Verso i cifrari contemporanei: i cifrari poligrafici Nei cifrari contemporanei non si usa più codificare una lettera alla volta, ma si suddivide il messaggio in blocchi di due o più lettere, e sono i blocchi ad essere codificati singolarmente. In questo modo la procedura si complica, poiché aumenta molto il numero dei simboli e si rende molto più difficile l analisi delle frequenze. Ad esempio, esistono 26 2 = 676 coppie di lettere possibili e 26 3 = terne di lettere possibili. Gli attuali cifrari (DES, AES) si basano su questo principio. Ma rimane sempre il problema di scambiarsi la chiave!

43 Parte III La matematica della crittografia

44 Condivisione di una chiave: l esempio con i colori Alice e Bob vogliono poter scambiare messaggi senza che altri (rappresentati da Eve, il malvagio) li capiscano. Per fare questo devono entrambi avere una chiave che apra lo stesso lucchetto. Come possono fare a condividere questa chiave? Vediamo un esempio, fatto coi colori, che si basa su un colore segreto (la chiave privata) e un colore noto a tutti (la chiave pubblica). Entrambi giungono a condividere un colore senza che Eve ne sia a conoscenza.

45

46 È facile mescolare i colori, ma è difficile capire quali colori formano una miscela. Si parla di funzione unidirezionale

47 Come fare nella realtà? La matematica ci viene in aiuto: una funzione unidirezionale è una funzione facile da calcolare ma difficile da invertire.

48 Come fare nella realtà? La matematica ci viene in aiuto: una funzione unidirezionale è una funzione facile da calcolare ma difficile da invertire. Esempio importante: è facile (magari con una calcolatrice!) calcolare = 1829

49 Come fare nella realtà? La matematica ci viene in aiuto: una funzione unidirezionale è una funzione facile da calcolare ma difficile da invertire. Esempio importante: è facile (magari con una calcolatrice!) calcolare = 1829 ma è mooolto più difficile (perché ci vuole tanto tempo!) scoprire che 1829 è composto da 59 e 31.

50 Come fare nella realtà? La matematica ci viene in aiuto: una funzione unidirezionale è una funzione facile da calcolare ma difficile da invertire. Esempio importante: è facile (magari con una calcolatrice!) calcolare = 1829 ma è mooolto più difficile (perché ci vuole tanto tempo!) scoprire che 1829 è composto da 59 e 31. Provate a fattorizzare il numero

51 Come fare nella realtà? La matematica ci viene in aiuto: una funzione unidirezionale è una funzione facile da calcolare ma difficile da invertire. Esempio importante: è facile (magari con una calcolatrice!) calcolare = 1829 ma è mooolto più difficile (perché ci vuole tanto tempo!) scoprire che 1829 è composto da 59 e 31. Provate a fattorizzare il numero E invece verificate, con la calcolatrice, quanto fa

52 Come fare nella realtà? La matematica ci viene in aiuto: una funzione unidirezionale è una funzione facile da calcolare ma difficile da invertire. Esempio importante: è facile (magari con una calcolatrice!) calcolare = 1829 ma è mooolto più difficile (perché ci vuole tanto tempo!) scoprire che 1829 è composto da 59 e 31. Provate a fattorizzare il numero E invece verificate, con la calcolatrice, quanto fa Nelle attuali applicazioni informatiche si usano numeri di 1024 bit, che superano le 300 cifre decimali, e addirittura di 2048 bit!

53 RSA Factoring Challenge Nel 1991 fu lanciato un concorso che chiedeva di fattorizzare alcuni numeri grandi, per stimolare la ricerca sulla sicurezza dell algoritmo RSA, che si basa sulla fattorizzazione. Nel 2007 il concorso si è ufficialmente chiuso, ma tuttora alcuni gruppi stanno tentando di risolvere alcune delle sfide proposte. Nel settembre del 2013 è stato fattorizzato il numero RSA-210, composto da 210 cifre decimali! =

54 Un attrezzo matematico: le moltiplicazioni e le potenze sull orologio Se un orologio segna le 9 e si aggiungono 5 ore, che ora segnerà?

55 Un attrezzo matematico: le moltiplicazioni e le potenze sull orologio Se segna le 9 e si aggiungono 5 ore, che ora segnerà? Ovviamente, le 2.

56 Un attrezzo matematico: le moltiplicazioni e le potenze sull orologio Se segna le 9 e si aggiungono 5 ore, che ora segnerà? Ovviamente, le 2. Se l orologio segna le 5 si moltiplica quest ora per 8, che Le 4, poiché 5 8 = 40 = Quindi la lancetta delle ore fa tre giri e finisce sulle 4.

57 Un attrezzo matematico: le moltiplicazioni e le potenze sull orologio Se segna le 9 e si aggiungono 5 ore, che ora segnerà? Ovviamente, le 2. Se l orologio segna le 5 si moltiplica quest ora per 8, che Le 4, poiché 5 8 = 40 = Quindi la lancetta delle ore fa tre giri e finisce sulle 4. Nell aritmetica dell orologio non interessa il numero dei giri, ma solo quello che avanza alla fine (il resto della divisione).

58 Un attrezzo matematico: le moltiplicazioni e le potenze sull orologio Se segna le 9 e si aggiungono 5 ore, che ora segnerà? Ovviamente, le 2. Se l orologio segna le 5 si moltiplica quest ora per 8, che Le 4, poiché 5 8 = 40 = Quindi la lancetta delle ore fa tre giri e finisce sulle 4. Nell aritmetica dell orologio non interessa il numero dei giri, ma solo quello che avanza alla fine (il resto della divisione). Questa si chiama aritmetica modulare. Alessandro Musesti - Università Cattolica del Sacro Cuore

59 L aritmetica modulare con numeri primi Risulta particolarmente utile usare orologi con p ore, dove p è un numero primo. Le operazioni fatte su questi orologi verranno indicate col suffisso (modp) (si legge modulo p).

60 L aritmetica modulare con numeri primi Risulta particolarmente utile usare orologi con p ore, dove p è un numero primo. Le operazioni fatte su questi orologi verranno indicate col suffisso (modp) (si legge modulo p). Scrivere (modp) significa che delle operazioni che si fanno bisogna tenere solo il resto della divisione per p.

61 L aritmetica modulare con numeri primi Risulta particolarmente utile usare orologi con p ore, dove p è un numero primo. Le operazioni fatte su questi orologi verranno indicate col suffisso (modp) (si legge modulo p). Scrivere (modp) significa che delle operazioni che si fanno bisogna tenere solo il resto della divisione per p. Ad esempio, scegliendo p = 11, avremo = 5(mod11),

62 L aritmetica modulare con numeri primi Risulta particolarmente utile usare orologi con p ore, dove p è un numero primo. Le operazioni fatte su questi orologi verranno indicate col suffisso (modp) (si legge modulo p). Scrivere (modp) significa che delle operazioni che si fanno bisogna tenere solo il resto della divisione per p. Ad esempio, scegliendo p = 11, avremo = 5(mod11), 5 8 = 7(mod11),

63 L aritmetica modulare con numeri primi Risulta particolarmente utile usare orologi con p ore, dove p è un numero primo. Le operazioni fatte su questi orologi verranno indicate col suffisso (modp) (si legge modulo p). Scrivere (modp) significa che delle operazioni che si fanno bisogna tenere solo il resto della divisione per p. Ad esempio, scegliendo p = 11, avremo = 5(mod11), 5 8 = 7(mod11), 2 6 = 9(mod11)

64 L aritmetica modulare con numeri primi Risulta particolarmente utile usare orologi con p ore, dove p è un numero primo. Le operazioni fatte su questi orologi verranno indicate col suffisso (modp) (si legge modulo p). Scrivere (modp) significa che delle operazioni che si fanno bisogna tenere solo il resto della divisione per p. Ad esempio, scegliendo p = 11, avremo = 5(mod11), 5 8 = 7(mod11), 2 6 = 9(mod11) L insieme dei numeri {0, 1,..., p 1} dotato di queste operazioni particolari si denota con Z p.

65 Generatori di Z p Un generatore g in Z p è un numero più piccolo di p tale che calcolando g, g 2, g 3,..., g p 2, g p 1 (modp) si esauriscano tutti i numeri tra 1 e p 1. Ad esempio, si può verificare che 2 è un generatore per p = 11, poiché n n (mod11)

66 Generatori di Z p Un generatore g in Z p è un numero più piccolo di p tale che calcolando g, g 2, g 3,..., g p 2, g p 1 (modp) si esauriscano tutti i numeri tra 1 e p 1. Ad esempio, si può verificare che 2 è un generatore per p = 11, poiché n n (mod11) Se p è primo, esiste sempre almeno un generatore in Z p, anche se potrebbe non essere semplice trovarlo.

67 Lo scambio di chiavi Diffie Hellman Merkle (1976) È un metodo per condividere un numero tra due persone, in modo che solo loro due lo conoscano. Questo numero potrà poi servire a scambiarsi messaggi in codice.

68 Lo scambio di chiavi Diffie Hellman Merkle (1976) È un metodo per condividere un numero tra due persone, in modo che solo loro due lo conoscano. Questo numero potrà poi servire a scambiarsi messaggi in codice. È basato sull elevamento a potenza e sull aritmetica dell orologio. Si prende un numero primo p, ad esempio p = 17, e un generatore g di Z 17.

69 Lo scambio di chiavi Diffie Hellman Merkle (1976) È un metodo per condividere un numero tra due persone, in modo che solo loro due lo conoscano. Questo numero potrà poi servire a scambiarsi messaggi in codice. È basato sull elevamento a potenza e sull aritmetica dell orologio. Si prende un numero primo p, ad esempio p = 17, e un generatore g di Z 17. Ad esempio, si verifica che 6 è un generatore per p = 17, poiché n n

70 Lo scambio di chiavi Diffie Hellman Merkle (1976) È un metodo per condividere un numero tra due persone, in modo che solo loro due lo conoscano. Questo numero potrà poi servire a scambiarsi messaggi in codice. È basato sull elevamento a potenza e sull aritmetica dell orologio. Si prende un numero primo p, ad esempio p = 17, e un generatore g di Z 17. Ad esempio, si verifica che 6 è un generatore per p = 17, poiché n n Questi numeri p e g sono noti a tutti e decisi una volta per tutte. Nella pratica p è un numero molto grande (1024 bit), mentre g può anche essere piccolo.

71 Lo scambio di chiavi Diffie Hellman Merkle (1976) È un metodo per condividere un numero tra due persone, in modo che solo loro due lo conoscano. Questo numero potrà poi servire a scambiarsi messaggi in codice. È basato sull elevamento a potenza e sull aritmetica dell orologio. Si prende un numero primo p, ad esempio p = 17, e un generatore g di Z 17. Ad esempio, si verifica che 6 è un generatore per p = 17, poiché n n Questi numeri p e g sono noti a tutti e decisi una volta per tutte. Nella pratica p è un numero molto grande (1024 bit), mentre g può anche essere piccolo. Poi si esegue la procedura seguente:

72 1) Alice sceglie un numero a caso a tra 1 e p 1, e lo stesso fa Bob con un numero b. Questi numeri sono le chiavi private di Alice e Bob, e vanno tenuti segreti. Nel nostro esempio, scegliamo a = 10 e b = 14. Alessandro Musesti - Università Cattolica del Sacro Cuore

73 1) Alice sceglie un numero a caso a tra 1 e p 1, e lo stesso fa Bob con un numero b. Questi numeri sono le chiavi private di Alice e Bob, e vanno tenuti segreti. Nel nostro esempio, scegliamo a = 10 e b = 14. 2) Alice calcola il numero A = g a (modp) = 6 10 (mod17) =

74 1) Alice sceglie un numero a caso a tra 1 e p 1, e lo stesso fa Bob con un numero b. Questi numeri sono le chiavi private di Alice e Bob, e vanno tenuti segreti. Nel nostro esempio, scegliamo a = 10 e b = 14. 2) Alice calcola il numero A = g a (modp) = 6 10 (mod17) = 6 n :

75 1) Alice sceglie un numero a caso a tra 1 e p 1, e lo stesso fa Bob con un numero b. Questi numeri sono le chiavi private di Alice e Bob, e vanno tenuti segreti. Nel nostro esempio, scegliamo a = 10 e b = 14. 2) Alice calcola il numero A = g a (modp) = 6 10 (mod17) = 15 e Bob calcola il numero B = g b (modp) = 6 14 (mod17) = 9. 6 n :

76 1) Alice sceglie un numero a caso a tra 1 e p 1, e lo stesso fa Bob con un numero b. Questi numeri sono le chiavi private di Alice e Bob, e vanno tenuti segreti. Nel nostro esempio, scegliamo a = 10 e b = 14. 2) Alice calcola il numero A = g a (modp) = 6 10 (mod17) = 15 e Bob calcola il numero B = g b (modp) = 6 14 (mod17) = 9. I numeri A e B sono le chiavi pubbliche e vengono divulgati. Chiunque li può conoscere. 6 n :

77 1) Alice sceglie un numero a caso a tra 1 e p 1, e lo stesso fa Bob con un numero b. Questi numeri sono le chiavi private di Alice e Bob, e vanno tenuti segreti. Nel nostro esempio, scegliamo a = 10 e b = 14. 2) Alice calcola il numero A = g a (modp) = 6 10 (mod17) = 15 e Bob calcola il numero B = g b (modp) = 6 14 (mod17) = 9. I numeri A e B sono le chiavi pubbliche e vengono divulgati. Chiunque li può conoscere. 3) Infine Alice prende la chiave pubblica di Bob, B = 9, e calcola B a (modp) = 9 10 (mod17) = 13.

78 1) Alice sceglie un numero a caso a tra 1 e p 1, e lo stesso fa Bob con un numero b. Questi numeri sono le chiavi private di Alice e Bob, e vanno tenuti segreti. Nel nostro esempio, scegliamo a = 10 e b = 14. 2) Alice calcola il numero A = g a (modp) = 6 10 (mod17) = 15 e Bob calcola il numero B = g b (modp) = 6 14 (mod17) = 9. I numeri A e B sono le chiavi pubbliche e vengono divulgati. Chiunque li può conoscere. 3) Infine Alice prende la chiave pubblica di Bob, B = 9, e calcola B a (modp) = 9 10 (mod17) = 13. Bob prende la chiave pubblica di Alice, A = 15, e calcola A b (modp) = (mod17) = 13.

79 1) Alice sceglie un numero a caso a tra 1 e p 1, e lo stesso fa Bob con un numero b. Questi numeri sono le chiavi private di Alice e Bob, e vanno tenuti segreti. Nel nostro esempio, scegliamo a = 10 e b = 14. 2) Alice calcola il numero A = g a (modp) = 6 10 (mod17) = 15 e Bob calcola il numero B = g b (modp) = 6 14 (mod17) = 9. I numeri A e B sono le chiavi pubbliche e vengono divulgati. Chiunque li può conoscere. 3) Infine Alice prende la chiave pubblica di Bob, B = 9, e calcola B a (modp) = 9 10 (mod17) = 13. Bob prende la chiave pubblica di Alice, A = 15, e calcola A b (modp) = (mod17) = 13. È un caso che sia risultato lo stesso numero? Certamente no: si ha sempre A b = (g a ) b = g ab = (g b ) a = B a (modp). Quindi Alice e Bob hanno una chiave in comune: il numero 13.

80 Un esempio con numeri più grandi p = è un numero primo e g = 5 è un generatore di Z

81 Un esempio con numeri più grandi p = è un numero primo e g = 5 è un generatore di Z Scegliamo (a caso) le chiavi private: a = , b =

82 Un esempio con numeri più grandi p = è un numero primo e g = 5 è un generatore di Z Scegliamo (a caso) le chiavi private: a = , b = Allora le chiavi pubbliche sono A = g a = , B = g b =

83 Un esempio con numeri più grandi p = è un numero primo e g = 5 è un generatore di Z Scegliamo (a caso) le chiavi private: a = , b = Allora le chiavi pubbliche sono A = g a = , B = g b = E si ha A b = B a = , che è la chiave condivisa.

84 Sicurezza della procedura Che cosa conosce Eve? Conosce: il numero primo p, il generatore g, le chiavi pubbliche A = g a e B = g b. Da questi dati si può scoprire la chiave comune A b = B a? L unico modo per farlo è scoprire almeno una delle due chiavi segrete a oppure b.

85 Sicurezza della procedura Che cosa conosce Eve? Conosce: il numero primo p, il generatore g, le chiavi pubbliche A = g a e B = g b. Da questi dati si può scoprire la chiave comune A b = B a? L unico modo per farlo è scoprire almeno una delle due chiavi segrete a oppure b. Nel nostro esempio, sapendo che p = 17, g = 6 e A = g a = 15, si può scoprire a: scorrendo tutta la tabella delle potenze del generatore si va a cercare quale potenza di 6 risulta 15 (modulo 17), e si trova n = 10. Quindi la chiave segreta di Alice è 10.

86 Sicurezza della procedura Che cosa conosce Eve? Conosce: il numero primo p, il generatore g, le chiavi pubbliche A = g a e B = g b. Da questi dati si può scoprire la chiave comune A b = B a? L unico modo per farlo è scoprire almeno una delle due chiavi segrete a oppure b. Nel nostro esempio, sapendo che p = 17, g = 6 e A = g a = 15, si può scoprire a: scorrendo tutta la tabella delle potenze del generatore si va a cercare quale potenza di 6 risulta 15 (modulo 17), e si trova n = 10. Quindi la chiave segreta di Alice è 10. Ma allora dove sta la sicurezza della procedura? Nella realtà si usano numeri primi molto grandi, fatti da almeno 300 cifre, e la lista da scorrere per individuare l esponente a a partire dalla conoscenza di g a è molto, molto lunga!

87 Sicurezza della procedura Che cosa conosce Eve? Conosce: il numero primo p, il generatore g, le chiavi pubbliche A = g a e B = g b. Da questi dati si può scoprire la chiave comune A b = B a? L unico modo per farlo è scoprire almeno una delle due chiavi segrete a oppure b. Nel nostro esempio, sapendo che p = 17, g = 6 e A = g a = 15, si può scoprire a: scorrendo tutta la tabella delle potenze del generatore si va a cercare quale potenza di 6 risulta 15 (modulo 17), e si trova n = 10. Quindi la chiave segreta di Alice è 10. Ma allora dove sta la sicurezza della procedura? Nella realtà si usano numeri primi molto grandi, fatti da almeno 300 cifre, e la lista da scorrere per individuare l esponente a a partire dalla conoscenza di g a è molto, molto lunga! Questa operazione si chiama logaritmo discreto, ed è una funzione unidirezionale: è abbastanza facile calcolare A = g a, ma è molto difficile scoprire l esponente a conoscendo g e A. Anche i computer attualmente più potenti impiegherebbero centinaia di anni.

88 Utilizzo della chiave condivisa Una volta ottenuta una chiave condivisa, si può procedere a crittografare un messaggio in vari modi. Ad esempio, se Alice vuole comunicare a Bob un numero segreto, per esempio il numero della sua carta di credito , può moltiplicarlo per la chiave comune 13, ottenendo Bob, ricevuto il numero, lo divide per 13 riottenendo il numero di partenza. Il malvagio Eve, sempre in ascolto, vedrebbe passare il numero , ma non potrebbe collegarlo al numero di carta di credito di Alice (a meno che non conosca la chiave comune). Oppure la chiave comune potrebbe essere il punto di partenza per un cifrario di Cesare, significando uno spostamento di 13 lettere: il nome ALESSANDRO diventerebbe NYRFFNAQEB (nell alfabeto a 26 lettere) e Bob potrebbe facilmente decodificarlo. Attualmente il metodo più usato per codificare messaggi con una chiave condivisa è l algoritmo AES (Advanced Encryption Standard).

89 L algoritmo RSA (Rivest, Shamir, Adleman, 1977) È tuttora usato in quasi tutte le transazioni sicure online (https).

90 L algoritmo RSA (Rivest, Shamir, Adleman, 1977) È tuttora usato in quasi tutte le transazioni sicure online (https). Si prendono due numeri primi grandi p, q e si calcolano N = p q e r = (p 1) (q 1)

91 L algoritmo RSA (Rivest, Shamir, Adleman, 1977) È tuttora usato in quasi tutte le transazioni sicure online (https). Si prendono due numeri primi grandi p, q e si calcolano N = p q e r = (p 1) (q 1) Si sceglie un numero e tale che 1 < e < r e che non abbia fattori in comune con r

92 L algoritmo RSA (Rivest, Shamir, Adleman, 1977) È tuttora usato in quasi tutte le transazioni sicure online (https). Si prendono due numeri primi grandi p, q e si calcolano N = p q e r = (p 1) (q 1) Si sceglie un numero e tale che 1 < e < r e che non abbia fattori in comune con r Si cerca quel numero d tale che e d = 1(modr)

93 L algoritmo RSA (Rivest, Shamir, Adleman, 1977) È tuttora usato in quasi tutte le transazioni sicure online (https). Si prendono due numeri primi grandi p, q e si calcolano N = p q e r = (p 1) (q 1) Si sceglie un numero e tale che 1 < e < r e che non abbia fattori in comune con r Si cerca quel numero d tale che e d = 1(modr) Si rende pubblica la coppia (N, e) (chiave pubblica) e si tiene segreto il numero d (chiave privata).

94 L algoritmo RSA (Rivest, Shamir, Adleman, 1977) È tuttora usato in quasi tutte le transazioni sicure online (https). Si prendono due numeri primi grandi p, q e si calcolano N = p q e r = (p 1) (q 1) Si sceglie un numero e tale che 1 < e < r e che non abbia fattori in comune con r Si cerca quel numero d tale che e d = 1(modr) Si rende pubblica la coppia (N, e) (chiave pubblica) e si tiene segreto il numero d (chiave privata). Ad esempio: scegliendo p = 3, q = 19, si ha N = 57 e r = 36.

95 L algoritmo RSA (Rivest, Shamir, Adleman, 1977) È tuttora usato in quasi tutte le transazioni sicure online (https). Si prendono due numeri primi grandi p, q e si calcolano N = p q e r = (p 1) (q 1) Si sceglie un numero e tale che 1 < e < r e che non abbia fattori in comune con r Si cerca quel numero d tale che e d = 1(modr) Si rende pubblica la coppia (N, e) (chiave pubblica) e si tiene segreto il numero d (chiave privata). Ad esempio: scegliendo p = 3, q = 19, si ha N = 57 e r = 36. Scegliamo e = 5, che non ha fattori in comune con 36.

96 L algoritmo RSA (Rivest, Shamir, Adleman, 1977) È tuttora usato in quasi tutte le transazioni sicure online (https). Si prendono due numeri primi grandi p, q e si calcolano N = p q e r = (p 1) (q 1) Si sceglie un numero e tale che 1 < e < r e che non abbia fattori in comune con r Si cerca quel numero d tale che e d = 1(modr) Si rende pubblica la coppia (N, e) (chiave pubblica) e si tiene segreto il numero d (chiave privata). Ad esempio: scegliendo p = 3, q = 19, si ha N = 57 e r = 36. Scegliamo e = 5, che non ha fattori in comune con 36. Si verifica che 5 29 = 1(mod36), quindi prendiamo d = 29.

97 L algoritmo RSA (Rivest, Shamir, Adleman, 1977) È tuttora usato in quasi tutte le transazioni sicure online (https). Si prendono due numeri primi grandi p, q e si calcolano N = p q e r = (p 1) (q 1) Si sceglie un numero e tale che 1 < e < r e che non abbia fattori in comune con r Si cerca quel numero d tale che e d = 1(modr) Si rende pubblica la coppia (N, e) (chiave pubblica) e si tiene segreto il numero d (chiave privata). Ad esempio: scegliendo p = 3, q = 19, si ha N = 57 e r = 36. Scegliamo e = 5, che non ha fattori in comune con 36. Si verifica che 5 29 = 1(mod36), quindi prendiamo d = 29. Ora teniamo segreta la chiave privata 29 e rendiamo pubblica la coppia (57, 5), ad esempio scrivendola su un sito.

98 Chiave pubblica: (57, 5), chiave privata 29 Supponiamo ora che qualcuno voglia comunicarci segretamente un numero m, ad esempio m = 10. Deve procedere così:

99 Chiave pubblica: (57, 5), chiave privata 29 Supponiamo ora che qualcuno voglia comunicarci segretamente un numero m, ad esempio m = 10. Deve procedere così: prende (57, 5), che è pubblica, e calcola poi ci comunica il risultato (mod57) = 22;

100 Chiave pubblica: (57, 5), chiave privata 29 Supponiamo ora che qualcuno voglia comunicarci segretamente un numero m, ad esempio m = 10. Deve procedere così: prende (57, 5), che è pubblica, e calcola poi ci comunica il risultato (mod57) = 22; Noi poi calcoliamo (mod57) usando la nostra chiave privata.

101 Chiave pubblica: (57, 5), chiave privata 29 Supponiamo ora che qualcuno voglia comunicarci segretamente un numero m, ad esempio m = 10. Deve procedere così: prende (57, 5), che è pubblica, e calcola poi ci comunica il risultato (mod57) = 22; Noi poi calcoliamo (mod57) usando la nostra chiave privata. Risulta che è proprio il numero di partenza (mod57) = 10 Se vuole comunicarci il numero 13, calcola 13 5 (mod57) = 52, ce lo comunica e noi poi calcoliamo (mod57) = 13.

102 Sicurezza dell RSA In teoria, conoscendo (57, 5) è possibile trovare la chiave privata 29:

103 Sicurezza dell RSA In teoria, conoscendo (57, 5) è possibile trovare la chiave privata 29: basta fattorizzare 57 = 3 19, poi calcolare r = 2 18 = 36, e infine cercare d tale che 5 d = 1(mod36).

104 Sicurezza dell RSA In teoria, conoscendo (57, 5) è possibile trovare la chiave privata 29: basta fattorizzare 57 = 3 19, poi calcolare r = 2 18 = 36, e infine cercare d tale che 5 d = 1(mod36). Ma per fattorizzare N bisogna andare per tentativi! Nelle transazioni si usano di solito numeri primi di più di 300 cifre! Sarebbero richieste centinaia di anni di calcoli con un super-computer...

105 Sicurezza dell RSA In teoria, conoscendo (57, 5) è possibile trovare la chiave privata 29: basta fattorizzare 57 = 3 19, poi calcolare r = 2 18 = 36, e infine cercare d tale che 5 d = 1(mod36). Ma per fattorizzare N bisogna andare per tentativi! Nelle transazioni si usano di solito numeri primi di più di 300 cifre! Sarebbero richieste centinaia di anni di calcoli con un super-computer... a meno di non trovare un metodo alternativo

106 Sicurezza dell RSA In teoria, conoscendo (57, 5) è possibile trovare la chiave privata 29: basta fattorizzare 57 = 3 19, poi calcolare r = 2 18 = 36, e infine cercare d tale che 5 d = 1(mod36). Ma per fattorizzare N bisogna andare per tentativi! Nelle transazioni si usano di solito numeri primi di più di 300 cifre! Sarebbero richieste centinaia di anni di calcoli con un super-computer... a meno di non trovare un metodo alternativo (che nessuno ha ancora scoperto!)

Scambiarsi messaggi segreti: la matematica della crittografia

Scambiarsi messaggi segreti: la matematica della crittografia Scambiarsi messaggi segreti: la matematica della crittografia a cura di Alessandro Musesti Università Cattolica del Sacro Cuore, Brescia 17 febbraio 2018 CORSO DI LAUREA TRIENNALE IN MATEMATICA con curricula

Dettagli

Alessandro Musesti - Università Cattolica del Sacro Cuore

Alessandro Musesti - Università Cattolica del Sacro Cuore Un teorema è per sempre a cura di Alessandro Musesti Università Cattolica del Sacro Cuore, Brescia Advertisement Alessandro Musesti - Università Cattolica del Sacro Cuore Breaking news Il 26 dicembre 2017

Dettagli

Il Ricevente comunica pubblicamente una chiave e. Il Mittente codifica il messaggio usando la funzione f(m, e) = C e

Il Ricevente comunica pubblicamente una chiave e. Il Mittente codifica il messaggio usando la funzione f(m, e) = C e Crittografia a chiave pubblica. Il problema della crittografia è semplice da enunciare: vi sono due persone, il Mittente e il Ricevente, che vogliono comunicare fra loro senza che nessun altro possa leggere

Dettagli

sia G un gruppo ciclico di ordine n, sia g un generatore di G bisogna determinare l unico intero x con 1 x n 1 tale che g x = y

sia G un gruppo ciclico di ordine n, sia g un generatore di G bisogna determinare l unico intero x con 1 x n 1 tale che g x = y gruppi ciclici Definizione Un gruppo G con n elementi tale esiste un elemento g G con o(g) = n si dice ciclico, e g si dice un generatore del gruppo U(Z 9 ) è ciclico p. es. U(Z 8 ) non lo è i gruppi U(Z

Dettagli

(G, ) un gruppo moltiplicativo di ordine n l ordine di un elemento g G, o(g), è il minimo intero positivo m tale che g m = 1

(G, ) un gruppo moltiplicativo di ordine n l ordine di un elemento g G, o(g), è il minimo intero positivo m tale che g m = 1 ordine di un gruppo G un gruppo finito: ordine di G = o(g) = numero di elementi di G l insieme degli invertibili di Z n è un gruppo rispetto al prodotto si denota con U(Z n ) e ha ordine φ(n) esempio:

Dettagli

sia G un gruppo ciclico di ordine n, sia g un generatore di G

sia G un gruppo ciclico di ordine n, sia g un generatore di G logaritmo discreto sia G un gruppo ciclico di ordine n, sia g un generatore di G dato y 1 G bisogna determinare l unico intero x con 1 x n 1 tale che g x = y ex: in U(Z 9 ) con g = 2, se y = 7 si ha x

Dettagli

A cosa serve la crittografia? La crittografia serve ad aiutare due utenti, Alice e Bob, a comunicare in modo sicuro...

A cosa serve la crittografia? La crittografia serve ad aiutare due utenti, Alice e Bob, a comunicare in modo sicuro... Crittografia A cosa serve la crittografia? La crittografia serve ad aiutare due utenti, Alice e Bob, a comunicare in modo sicuro... Mister X...anche in presenza di Mister X, un avversario che ascolta la

Dettagli

sia G un gruppo ciclico di ordine n, sia g un generatore di G

sia G un gruppo ciclico di ordine n, sia g un generatore di G logaritmo discreto sia G un gruppo ciclico di ordine n, sia g un generatore di G dato y 1 G bisogna determinare l unico intero x con 1 x n 1 tale che g x = y ex: in U(Z 9 ) con g = 2, se y = 7 si ha x

Dettagli

Crittografia per la sicurezza dei dati

Crittografia per la sicurezza dei dati Crittografia per la sicurezza dei dati Esigenza di sicurezza in rete significa: -garanzia di riservatezza dei dati in rete (e-mail) -garanzia di transazioni sicure (e-commerce, home banking) La crittografia

Dettagli

problema del logaritmo discreto

problema del logaritmo discreto problema del logaritmo discreto consideriamo il gruppo ciclico U(Z p ), p primo sia g un elemento primitivo modulo p sia y {1,..., p 1} = U(Z p ) il minimo intero positivo x con g x = y si dice il logaritmo

Dettagli

CENNI SULLA CRITTOGRAFIA MODULO 5

CENNI SULLA CRITTOGRAFIA MODULO 5 CENNI SULLA MODULO 5 Il termine crittografia deriva dal greco (cryptòs + gràphein) ovvero scrittura nascosta Descrive la disciplina che tratta i metodi necessari per rendere un messaggio comprensibile

Dettagli

logaritmo discreto come funzione unidirezionale

logaritmo discreto come funzione unidirezionale logaritmo discreto come funzione unidirezionale in generale, lavoreremo con il gruppo U(Z p ) = Z p dati g generatore di Z p e x tale che 1 x p 1, calcolare y = g x è computazionalmente facile (y g x (mod

Dettagli

Crittografia simmetrica (a chiave condivisa)

Crittografia simmetrica (a chiave condivisa) Crittografia simmetrica (a chiave condivisa) Crittografia simmetrica (a chiave condivisa) Schema di trasmissione con chiave condivisa: Crittografia simmetrica (a chiave condivisa) Schema di trasmissione

Dettagli

sia G un gruppo ciclico di ordine n, sia g un generatore di G bisogna determinare l unico intero x con 1 x n 1 tale che g x = y

sia G un gruppo ciclico di ordine n, sia g un generatore di G bisogna determinare l unico intero x con 1 x n 1 tale che g x = y gruppi ciclici Definizione Un gruppo G con n elementi tale esiste un elemento g G con o(g) = n si dice ciclico, e g si dice un generatore del gruppo U(Z 9 ) è ciclico p. es. U(Z 8 ) non lo è i gruppi U(Z

Dettagli

Crittografia con Python

Crittografia con Python Crittografia con Python Corso introduttivo Marzo 2015 Con materiale adattato dal libro Hacking Secret Cypher With Python di Al Sweigart (http://inventwithpython.com/hacking/index.html) Ci eravamo lasciati

Dettagli

Scuola di Specializzazione in Fisica Sanitaria a.a. 2005/2006. Corso di Informatica e Statistica Medica. Crittografia

Scuola di Specializzazione in Fisica Sanitaria a.a. 2005/2006. Corso di Informatica e Statistica Medica. Crittografia Scuola di Specializzazione in Fisica Sanitaria a.a. 2005/2006 Corso di Informatica e Statistica Medica Crittografia 8/3/2006 Scritture segrete Steganografia occultamento del messaggio Crittografia alterazionedel

Dettagli

(corso di laurea in Informatica Musicale)

(corso di laurea in Informatica Musicale) . Livio Pizzocchero APPUNTI PER IL CORSO DI MATEMATICA DEL CONTINUO (corso di laurea in Informatica Musicale) Addendo al Capitolo 2. Cenni sulla crittografia RSA (Note in continua evoluzione) 1 2 3 4 1

Dettagli

crittografia a chiave pubblica

crittografia a chiave pubblica crittografia a chiave pubblica Whitfield Diffie Martin Hellman New Directions in Cryptography We stand today on the brink of a revolution in cryptography. The development of cheap digital hardware... has

Dettagli

CODICI. Crittografia e cifrari

CODICI. Crittografia e cifrari CODICI Crittografia e cifrari CRITTOGRAFIA - La crittografia è una scrittura convenzionale segreta, decifrabile solo da chi conosce il codice. - La parola crittografia deriva da 2 parole greche, ovvero

Dettagli

Elementi di Algebra e di Matematica Discreta Cenno di un applicazione alla crittografia

Elementi di Algebra e di Matematica Discreta Cenno di un applicazione alla crittografia Elementi di Algebra e di Matematica Discreta Cenno di un applicazione alla crittografia Cristina Turrini UNIMI - 2015/2016 Cristina Turrini (UNIMI - 2015/2016) Elementi di Algebra e di Matematica Discreta

Dettagli

idea della crittografia a chiave pubblica

idea della crittografia a chiave pubblica idea della crittografia a chiave pubblica sviluppare un crittosistema in cui data la funzione di cifratura e k sia computazionalmente difficile determinare d k Bob rende pubblica la sua funzione di cifratura

Dettagli

una possibile funzione unidirezionale

una possibile funzione unidirezionale una possibile funzione unidirezionale moltiplicare due interi a n bit è facile (in O(n 2 ) con l algoritmo usuale) trovare un primo a n bit, e verificare che è primo, è facile fattorizzare un numero a

Dettagli

Seminario sulla Crittografia. Corso: T.A.R.I Prof.: Giulio Concas Autore: Ivana Turnu

Seminario sulla Crittografia. Corso: T.A.R.I Prof.: Giulio Concas Autore: Ivana Turnu Seminario sulla Crittografia Corso: T.A.R.I Prof.: Giulio Concas Autore: Ivana Turnu Crittografia Cos è la crittografia Le tecniche più usate La firma digitale Cos è la crittografia Per garantire la riservatezza

Dettagli

crittografia a chiave pubblica

crittografia a chiave pubblica crittografia a chiave pubblica Whitfield Diffie Martin Hellman New Directions in Cryptography We stand today on the brink of a revolution in cryptography. The development of cheap digital hardware... has

Dettagli

la crittografia tratta delle "scritture nascoste", dei metodi per rendere un messaggio "offuscato"

la crittografia tratta delle scritture nascoste, dei metodi per rendere un messaggio offuscato crittografia kryptós gráphein nascosto scrivere la crittografia tratta delle "scritture nascoste", dei metodi per rendere un messaggio "offuscato" 404 a. C Lisandro riceve un corriere a Sparta recante

Dettagli

Breve storia della crittografa

Breve storia della crittografa Breve storia della crittografa Il problema di codificare o cifrare un messaggio è stato affrontato, generalmente per usi militari, attraverso tutta la storia della civiltà umana. Plutarco descrive la scitala

Dettagli

idea della crittografia a chiave pubblica

idea della crittografia a chiave pubblica idea della crittografia a chiave pubblica sviluppare un crittosistema in cui data la funzione di cifratura e k sia computazionalmente difficile determinare d k Bob rende pubblica la sua funzione di cifratura

Dettagli

Aritmetica modulare, numeri primi e crittografia

Aritmetica modulare, numeri primi e crittografia Università di Pavia 14 Giugno 2016 Numeri primi Definizione Un intero n > 1 è un numero primo se non esistono due interi a, b > 1 tali che n = ab. Sono dunque numeri primi: 2, 3, 5, 7, 11, 13, 17, 19,

Dettagli

funzione φ di Eulero, o funzione toziente è definita sugli interi positivi φ(n) è il numero di interi positivi n che sono coprimi con n

funzione φ di Eulero, o funzione toziente è definita sugli interi positivi φ(n) è il numero di interi positivi n che sono coprimi con n ordine di un gruppo G un gruppo finito: ordine di G = o(g) = numero di elementi di G l insieme degli invertibili di Z n è un gruppo rispetto al prodotto (mod n) si denota con U(Z n ) e ha ordine φ(n) esempio:

Dettagli

Elementi di Algebra e di Matematica Discreta Cenno alla crittografia

Elementi di Algebra e di Matematica Discreta Cenno alla crittografia Elementi di Algebra e di Matematica Discreta Cenno alla crittografia Cristina Turrini UNIMI - 2016/2017 Cristina Turrini (UNIMI - 2016/2017) Elementi di Algebra e di Matematica Discreta 1 / 12 index Cifrare

Dettagli

LICEO STATALE ENRICO MEDI CON INDIRIZZI:

LICEO STATALE ENRICO MEDI CON INDIRIZZI: Verbale del primo incontro con gli studenti: Mercoledì 05 Dicembre 2012, ore 13:30 16:30 Dopo una breve introduzione alle finalità del Progetto dal titolo Crittografia e crittanalisi, viene illustrato

Dettagli

Progetto Lauree Scientifiche Crittografia V incontro

Progetto Lauree Scientifiche Crittografia V incontro Progetto Lauree Scientifiche Crittografia V incontro Giovanna Carnovale 13 marzo 2006 Sommario Durante questo incontro analizzeremo la sicurezza del sistema crittografico RSA e parleremo di come trasformare

Dettagli

NUMERI PRIMI E CRITTOGRAFIA

NUMERI PRIMI E CRITTOGRAFIA NUMERI PRIMI E CRITTOGRAFIA Parte I. Crittografia a chiave simmetrica dall antichità all era del computer Parte II. Note della Teoria dei Numeri concetti ed algoritmi a supporto della Crittografia Parte

Dettagli

Elementi di Crittografia

Elementi di Crittografia Elementi di Crittografia Algoritmi Messaggio in chiaro messaggio crittografato M X =C k (M C ) Messaggio crittografato messaggio in chiaro M C =D k (M X ) Per la codifica/decodifica è necessario un parametro

Dettagli

si cerca di scegliere e non troppo grande e tale che nella scrittura binaria di e ci siano pochi 1 e piccolo = cifratura più veloce

si cerca di scegliere e non troppo grande e tale che nella scrittura binaria di e ci siano pochi 1 e piccolo = cifratura più veloce crittosistema RSA Sia N = pq, p, q primi. Sia P = C = Z N. Lo spazio delle chiavi è K = {(N, p, q, d, e) de 1 (mod φ(n))}. Se k = (N, p, q, d, e) è una chiave, poniamo e k (x) = x e (mod N) N e e sono

Dettagli

Livello Applicazioni Elementi di Crittografia

Livello Applicazioni Elementi di Crittografia Laboratorio di Reti di Calcolatori Livello Applicazioni Elementi di Crittografia Carlo Mastroianni Servizi Crittografia: Servizi richiesti SEGRETEZZA: evitare che i dati inviati da un soggetto A a un soggetto

Dettagli

La crittografia. La crittografia è un'arte antica, risale almeno ai Greci (Tucidide, scitala lacedemonica).

La crittografia. La crittografia è un'arte antica, risale almeno ai Greci (Tucidide, scitala lacedemonica). Problema State viaggiando in autostrada, e decidete di fermarvi in un autogrill. Chiudete la macchina con il telecomando che aziona la chiusura centralizzata a distanza, andate al bar, tornate. Aprite

Dettagli

Gestione della chiave

Gestione della chiave Gestione della chiave La crittografia a chiave pubblica aiuta a risolvere il problema della distribuzione delle chiavi Dobbiamo occuparci... Della distribuzione delle chiavi pubbliche Dell uso della crittografia

Dettagli

crittografia a chiave pubblica

crittografia a chiave pubblica crittografia a chiave pubblica Whitfield Diffie Martin Hellman New Directions in Cryptography We stand today on the brink of a revolution in cryptography. The development of cheap digital hardware... has

Dettagli

Elementi di crittografia

Elementi di crittografia Elementi di crittografia Francesca Merola a.a. 2010-11 informazioni orario: ma, (me), gio, 14-15.30, aula N1 ricevimento: su appuntamento ma, me, gio, 11.30-12.30 studio 300 dipartimento di matematica

Dettagli

idea della crittografia a chiave pubblica

idea della crittografia a chiave pubblica idea della crittografia a chiave pubblica sviluppare un crittosistema in cui data la funzione di cifratura e k sia computazionalmente difficile determinare d k Bob rende pubblica la sua funzione di cifratura

Dettagli

Università degli Studi di Milano

Università degli Studi di Milano Università degli Studi di Milano Corso di Laurea in Sicurezza dei Sistemi e delle Reti Informatiche FABIO SCOTTI I cifrari polialfabetici: Vigenère Laboratorio di programmazione per la sicurezza Indice

Dettagli

CRITTOGRAFIA 2014/15 Appello del 13 gennaio Nome: Cognome: Matricola:

CRITTOGRAFIA 2014/15 Appello del 13 gennaio Nome: Cognome: Matricola: CRITTOGRAFIA 2014/15 Appello del 13 gennaio 2015 Esercizio 1 Crittografia ellittica [9 punti] 1. Descrivere l algoritmo di Koblitz per trasformare un messaggio m, codificato come numero intero, in un punto

Dettagli

CRITTOGRAFIA E NUMERI PRIMI TFA A059 ANNA NOBILI OTTAVIANO ROSI

CRITTOGRAFIA E NUMERI PRIMI TFA A059 ANNA NOBILI OTTAVIANO ROSI CRITTOGRAFIA E NUMERI PRIMI TFA A059 ANNA NOBILI OTTAVIANO ROSI Cenni Storici Nasce dall esigenza di avere metodi efficienti per comunicare in modo segreto e sicuro. La crittografia non mira a nascondere

Dettagli

Corso di Crittografia Prof. Dario Catalano. Introduzione alla crittografia asimmetrica

Corso di Crittografia Prof. Dario Catalano. Introduzione alla crittografia asimmetrica Corso di Crittografia Prof. Dario Catalano Introduzione alla crittografia asimmetrica Introduzione n La crittografia simmetrica parte dal presupposto che Alice e Bob condividano una chiave segreta. n In

Dettagli

Sicurezza delle informazioni

Sicurezza delle informazioni Sicurezza delle informazioni Quando vengono mandati pacchetti di informazioni sui mezzi promiscui (ad es. rete Ethernet) chiunque ha la possibilità di leggere i pacchetti inviati e ricomporre il messaggio

Dettagli

Crittografia ed Aritmetica Modulare VI incontro

Crittografia ed Aritmetica Modulare VI incontro Crittografia ed Aritmetica Modulare VI incontro PLS - CAM Padova, 21 novembre 2014 1 Il Piccolo Teorema di Fermat Come si è osservato nella ATTIVITÀ 1.2. del IV incontro, in generale il comportamento delle

Dettagli

Crittografia a chiave pubblica

Crittografia a chiave pubblica Crittografia a chiave pubblica Barbara Masucci Dipartimento di Informatica ed Applicazioni Università di Salerno masucci@dia.unisa.it http://www.dia.unisa.it/professori/masucci Cifrari simmetrici canale

Dettagli

Sicurezza della comunicazione tra due entità. Prof.ssa Gaia Maselli

Sicurezza della comunicazione tra due entità. Prof.ssa Gaia Maselli Sicurezza della comunicazione tra due entità Prof.ssa Gaia Maselli maselli@di.uniroma1.it La sicurezza nelle reti Principi di crittografia Integrità dei messaggi Autenticazione end-to-end 2 Sicurezza nella

Dettagli

Crittografia con Python

Crittografia con Python Crittografia con Python Corso introduttivo Marzo 2015 Con materiale adattato dal libro Hacking Secret Cypher With Python di Al Sweigart (http://inventwithpython.com/hacking/index.html) Attacchi statistici

Dettagli

Tesina di Vittoria Melchiori Anno scolastico 2012/2013 ISISS Carlo Anti

Tesina di Vittoria Melchiori Anno scolastico 2012/2013 ISISS Carlo Anti Tesina di Vittoria Melchiori Anno scolastico 2012/2013 ISISS Carlo Anti La crittografia nella seconda guerra mondiale riguarda i mezzi e i metodi, adottati dalle principali potenze che presero parte al

Dettagli

Crittografia: dagli antichi codici di Cesare ai protocolli avanzati

Crittografia: dagli antichi codici di Cesare ai protocolli avanzati Crittografia: dagli antichi codici di Cesare ai protocolli avanzati per l'economia digitaleitale Stefan Dziembowski University of Rome La Sapienza Workshop del Dipartimento di Informatica Workshop del

Dettagli

funzione φ di Eulero, o funzione toziente è definita sugli interi positivi φ(n) è il numero di interi positivi n che sono coprimi con n

funzione φ di Eulero, o funzione toziente è definita sugli interi positivi φ(n) è il numero di interi positivi n che sono coprimi con n ordine di un gruppo G un gruppo finito: ordine di G = o(g) = numero di elementi di G l insieme degli invertibili di Z n è un gruppo rispetto al prodotto (mod n) si denota con U(Z n ) e ha ordine φ(n) esempio:

Dettagli

Crittografia: Servizi richiesti

Crittografia: Servizi richiesti Reti di Calcolatori Elementi di Crittografia Servizi Crittografia: Servizi richiesti SEGRETEZZA: evitare che i dati inviati da un soggetto A a un soggetto B vengano intercettati da un terzo soggetto C.

Dettagli

Introduzione alla crittografia. Diffie-Hellman e RSA

Introduzione alla crittografia. Diffie-Hellman e RSA Introduzione alla crittografia. Diffie-Hellman e RSA Daniele Giovannini Torino 2011, Crittografia a chiave pubblica: oltre RSA Università degli Studi di Trento, Lab di Matematica Industriale e Crittografia

Dettagli

Ancora sui criteri di divisibilità di Marco Bono

Ancora sui criteri di divisibilità di Marco Bono Ancora sui criteri di divisibilità di Talvolta può essere utile conoscere i divisori di un numero senza effettuare le divisioni, anche se la diffusione delle calcolatrici elettroniche, sotto varie forme,

Dettagli

una possibile funzione unidirezionale

una possibile funzione unidirezionale una possibile funzione unidirezionale moltiplicare due interi a n bit è facile (in O(n 2 ) con l algoritmo usuale) trovare un primo a n bit, e verificare che è primo, è facile fattorizzare un numero a

Dettagli

Storia della Crittografia. dalle origini al XVI secolo

Storia della Crittografia. dalle origini al XVI secolo Storia della Crittografia dalle origini al XVI secolo Stefano Zingale Introduzione La crittografia (dal greco Kryptòs, che significa "nascosto" e gràphein che significa "scrittura") è la scienza che si

Dettagli

Crittografia e firma digitale. Prof. Giuseppe Chiumeo

Crittografia e firma digitale. Prof. Giuseppe Chiumeo Crittografia e firma digitale Prof. Giuseppe Chiumeo giuseppe.chiumeo@libero.it INTRODUZIONE Lo sviluppo dell e-business oggi ha bisogno di garanzie per quanto riguarda l inviolabilità dei dati trasmessi.

Dettagli

Esercizi di Algebra. Anna Bigatti. 13 Novembre Ora vogliamo definire una operazione +, cioè dobbiamo definire quando fa a + b.

Esercizi di Algebra. Anna Bigatti. 13 Novembre Ora vogliamo definire una operazione +, cioè dobbiamo definire quando fa a + b. Esercizi di Algebra Anna Bigatti 13 Novembre 2000 1 Operazioni in Z n Definizione 11 Siano a, b Z Diciamo che a = b in Z n oppure, equivalentemente, se n divide a b se e solo se esiste k Z tale che a =

Dettagli

RACCOLTA DI ALCUNI ESERCIZI TRATTI DA COMPITI D ESAME SUL SISTEMA CRITTOGRAFICO RSA

RACCOLTA DI ALCUNI ESERCIZI TRATTI DA COMPITI D ESAME SUL SISTEMA CRITTOGRAFICO RSA RACCOLTA DI ALCUNI ESERCIZI TRATTI DA COMPITI D ESAME SUL SISTEMA CRITTOGRAFICO RSA Attenzione: questi sono alcuni esercizi d esame, sugli argomenti di questa dispensa. Non sono una selezione di quelli

Dettagli

Elementi di crittografia

Elementi di crittografia Nota di Copyright RETI DI CALCOLATORI II Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi

Dettagli

crittosistema: definizione

crittosistema: definizione crittosistema: definizione Definizione Un crittosistema è una quintupla (P, C, K, E, D), dove 1 P è un insieme finito di testi in chiaro (plaintext) 2 C è un insieme finito di testi cifrati (ciphertext)

Dettagli

CODICI SEGRETI: UN VIAGGIO NELLA CRITTOGRAFIA

CODICI SEGRETI: UN VIAGGIO NELLA CRITTOGRAFIA CODICI SEGRETI: UN VIAGGIO NELLA CRITTOGRAFIA Agostino Dovier Dip di Scienze Matematiche, Informatiche e Fisiche CLP Lab Univ. di Udine Aprile/Maggio 2017 AGOSTINO DOVIER (UNIV. DI UDINE) CODICI SEGRETI

Dettagli

da chi proviene un messaggio?

da chi proviene un messaggio? da chi proviene un messaggio? in un crittosistema simmetrico solo Alice e Bob conoscono la chiave se Bob riceve un messaggio di Alice e la decifratura del messaggio ha senso, il messaggio proviene certamente

Dettagli

Aritmetica e Crittografia

Aritmetica e Crittografia Aritmetica e Crittografia Luigi Ambrosio Scuola Normale Superiore, Pisa http://cvgmt.sns.it Luigi Ambrosio (SNS) Aritmetica e Crittografia Camigliatello, 22-29/07/2006 1 / 22 Indice 1 Il problema della

Dettagli

NUMERI PRIMI E CRITTOGRAFIA

NUMERI PRIMI E CRITTOGRAFIA NUMERI PRIMI E CRITTOGRAFIA Parte I. Crittografia a chiave simmetrica dall antichità all era del computer Parte II. Note della Teoria dei Numeri concetti ed algoritmi a supporto della Crittografia Parte

Dettagli

Crittografia. Steganografia

Crittografia. Steganografia Crittografia Codici e segreti. La storia affascinante dei messaggi cifrati dall antico Egitto a internet. Simon Singh, Rizzoli 2001 FdI 2014/2015 GMDN 2015 1 Steganografia Steganografia: comunicazione

Dettagli

Definizione. La crittografia serve per: Crittografia deriva dal greco = scrittura nascosta

Definizione. La crittografia serve per: Crittografia deriva dal greco = scrittura nascosta Crittografia Definizione La crittografia serve per: Celare il significato del messaggio Garantire l autenticità del messaggio Identificare l autore del messaggio Firmare e datare il messaggio Crittografia

Dettagli

una possibile funzione unidirezionale

una possibile funzione unidirezionale una possibile funzione unidirezionale moltiplicare due interi a n bit è facile (in O(n 2 ) con l algoritmo usuale) trovare un primo a n bit, e verificare che è primo, è facile (vedremo poi) fattorizzare

Dettagli

Dal messaggio a sequenze di numeri

Dal messaggio a sequenze di numeri Dal messaggio a sequenze di numeri Le classi resto modulo n := Z n Due numeri interi a, b, si dicono congrui modulo n (con n intero >1) se divisi per n hanno lo stesso resto: a=bmodn a= kn+b a-b = kn con

Dettagli

crittografia a chiave pubblica

crittografia a chiave pubblica crittografia a chiave pubblica Whitfield Diffie Martin Hellman New Directions in Cryptography We stand today on the brink of a revolution in cryptography. The development of cheap digital hardware... has

Dettagli

Il nano sulle spalle del gigante

Il nano sulle spalle del gigante Il nano sulle spalle del gigante il sottile legame che separa matematica e informatica Miriam Di Ianni Università di Roma Tor Vergata Cosa è un problema? Dal dizionario: In matematica e in altre scienze,

Dettagli

L'enigma dei numeri primi

L'enigma dei numeri primi L'enigma dei numeri primi Bardonecchia 16-18 Dicembre 2016 Introduzione I numeri primi: sono un concetto semplice; ruolo fondamentale nella vita di tutti i giorni; stanno lasciando una lunga scia di congetture.

Dettagli

Crittografia ed Aritmetica Modulare II incontro

Crittografia ed Aritmetica Modulare II incontro Crittografia ed Aritmetica Modulare II incontro PLS - CAM Padova, 24 ottobre 2014 Introduzione Problema: A deve fare arrivare a B un certo messaggio, senza che alcun C venga a conoscenza del contenuto.

Dettagli

La codifica. dell informazione

La codifica. dell informazione 00010010101001110101010100010110101000011100010111 00010010101001110101010100010110101000011100010111 La codifica 00010010101001110101010100010110101000011100010111 dell informazione 00010010101001110101010100010110101000011100010111

Dettagli

Crittografia Moderna

Crittografia Moderna Crittografia Moderna L'algoritmo DH (Diffie Hellman) L'algoritmo Diffie Hellman risale al 1976 ed è quindi uno dei più antichi algoritmi a chiave pubblica; gli autori furono anche i primi a proporre l'idea

Dettagli

La fattorizzazione dei polinomi

La fattorizzazione dei polinomi CAPITOLO 2 La fattorizzazione dei polinomi 1. LA SCOMPOSIZIONE CON DERIVE Inseriamo nella finestra di Algebra il polinomio x 5 3x 4 5x 3 19x 2 20 Per scomporlo dobbiamo usare il comando Semplifica/Fattorizza;

Dettagli

schema di firma definizione formale

schema di firma definizione formale schema di firma Alice firma un messaggio da mandare a Bob ci sono due componenti: un algoritmo sig per firmare e un algoritmo ver per verificare quello per firmare dev essere privato (solo Alice può firmare)

Dettagli

una possibile funzione unidirezionale

una possibile funzione unidirezionale una possibile funzione unidirezionale moltiplicare due interi a n bit è facile (in O(n 2 ) con l algoritmo usuale) trovare un primo a n bit, e verificare che è primo, è facile (vedremo poi) fattorizzare

Dettagli

da chi proviene un messaggio?

da chi proviene un messaggio? da chi proviene un messaggio? in un crittosistema simmetrico solo Alice e Bob conoscono la chiave se Bob riceve un messaggio di Alice e la decifratura del messaggio ha senso, il messaggio proviene certamente

Dettagli

cifrario di Feistel cifrario di Feistel

cifrario di Feistel cifrario di Feistel cifrario di Feistel Horst Feistel (IBM) ha introdotto uno schema di cifrario nei primi anni 70. Il DES è un cifrario di Feistel. La cifratura e la decifratura funzionano essenzialmente allo stesso modo.

Dettagli

UD 1.2e: La codifica Digitale dei Numeri CODIFICA DIGITALE DEI NUMERI

UD 1.2e: La codifica Digitale dei Numeri CODIFICA DIGITALE DEI NUMERI Modulo 1: Le I.C.T. : La codifica Digitale dei Numeri CODIFICA DIGITALE DEI NUMERI Prof. Alberto Postiglione Corso di Informatica Generale (AA 07-08) Corso di Laurea in Scienze della Comunicazione Università

Dettagli

Modulo 1: Le I.C.T. UD 1.2e: La codifica Digitale dei Numeri

Modulo 1: Le I.C.T. UD 1.2e: La codifica Digitale dei Numeri Modulo 1: Le I.C.T. : La codifica Digitale dei Numeri Prof. Alberto Postiglione Corso di Informatica Generale (AA 07-08) Corso di Laurea in Scienze della Comunicazione Università degli Studi di Salerno

Dettagli

una possibile funzione unidirezionale

una possibile funzione unidirezionale una possibile funzione unidirezionale moltiplicare due interi a n bit è facile (in O(n 2 ) con l algoritmo usuale) trovare un primo a n bit, e verificare che è primo, è facile (vedremo poi) fattorizzare

Dettagli

clic per iniziare 6/9/05 1

clic per iniziare 6/9/05 1 clic per iniziare 6/9/05 1 Anna Rita Strazioso Fabrizio Piacenza Valentina Ventriglia 6/9/05 2 Struttura 1) Introduzione: a cura di Fabrizio Piacenza 2) Generazione chiavi & Test di primalità: a cura di

Dettagli

RSA e firma digitale

RSA e firma digitale Università degli Studi di Cagliari Corso di Laurea in Matematica RSA e firma digitale Mara Manca Relatore: prof. Andrea Loi Anno Accademico 2015-2016 Mara Manca Relatore: prof. Andrea Loi RSA e firma digitale

Dettagli

Corso di Crittografia Prof. Dario Catalano. Primitive Asimmetriche

Corso di Crittografia Prof. Dario Catalano. Primitive Asimmetriche Corso di Crittografia Prof. Dario Catalano Primitive Asimmetriche Introduzione n Oggi discuteremo le primitive sulla base delle quali costruire sistemi asimmetrici affidabili. n Nel caso della crittografia

Dettagli

Cifratura Asimmetrica

Cifratura Asimmetrica Cifratura Asimmetrica 0 Cifrari a chiave pubblica Algoritmo di Cifratura E() c = E(k 1, m) la cifratura del messaggio in chiaro m con la chiave k 1 produce il testo cifrato c Algoritmo di Decifratura D()

Dettagli

1 (UNO) INDICA LA QUANTITÀ DI ELEMENTI DELL INSIEME UNITARIO B = (CLASSI CHE HANNO LA LIM) SOLO LA 4ª A HA LA LIM QUINDI L INSIEME È UNITARIO.

1 (UNO) INDICA LA QUANTITÀ DI ELEMENTI DELL INSIEME UNITARIO B = (CLASSI CHE HANNO LA LIM) SOLO LA 4ª A HA LA LIM QUINDI L INSIEME È UNITARIO. I NUMERI NATURALI DEFINIAMO NUMERI NATURALI I NUMERI A CUI CORRISPONDE UN INSIEME. 0 (ZERO) INDICA LA QUANTITÀ DI ELEMENTI DELL INSIEME VUOTO. A = (ALUNNI DI 4ª A CON I CAPELLI ROSSI) NESSUN ALUNNO HA

Dettagli

Agostino Dovier. Dip di Matematica e Informatica, Univ. di Udine

Agostino Dovier. Dip di Matematica e Informatica, Univ. di Udine DE Agostino Dovier Dip di Matematica e Informatica, Univ. di Udine Ringrazio l amico e maestro Andrea Sgarro per il materiale tratto dal suo meraviglioso quanto introvabile testo DE DIFFIE E HELLMAN DE

Dettagli

Crittografia da Whatsapp a Wikileakes, tra spie e segreti di stato

Crittografia da Whatsapp a Wikileakes, tra spie e segreti di stato Crittografia da Whatsapp a Wikileakes, tra spie e segreti di stato Donatella Iacono Sabina Milella Bari 27.06.2015 Crittografia ne abbiamo piene le tasche Crittografia ne abbiamo piene le tasche Skype

Dettagli

IMPLEMENTAZIONI DIDATTICHE DI ALGORITMI DI CIFRATURA PER SICUREZZA INFORMATICA

IMPLEMENTAZIONI DIDATTICHE DI ALGORITMI DI CIFRATURA PER SICUREZZA INFORMATICA UNIVERSITÀ DEGLI STUDI DI UDINE DIPARTIMENTO DI INGEGNERIA ELETTRICA, GESTIONALE E MECCANICA CORSO DI LAUREA IN INGEGNERIA GESTIONALE IMPLEMENTAZIONI DIDATTICHE DI ALGORITMI DI CIFRATURA PER SICUREZZA

Dettagli

MESSAGGI SEGRETI. di Massimo Iuliani

MESSAGGI SEGRETI. di Massimo Iuliani MESSAGGI SEGRETI di Massimo Iuliani DESCRIZIONE ESPERIENZA Ho presentato una lezione di Crittografia a classi diverse del liceo scientifico di Pistoia rivolgendomi in particolare a due categorie: una 4

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2017/2018 Privacy e Sicurezza Informatica 2 Prima

Dettagli

da chi proviene un messaggio?

da chi proviene un messaggio? da chi proviene un messaggio? in un crittosistema simmetrico solo Alice e Bob conoscono la chiave se Bob riceve un messaggio di Alice e la decifratura del messaggio ha senso, il messaggio proviene certamente

Dettagli