Funzioni di hash sicure: MD5 e SHA-1
|
|
- Valeria Parisi
- 6 anni fa
- Visualizzazioni
Transcript
1 POLITECNICO DI MILANO Funzioni di hash sicure: MD5 e SHA-1 CEFRIEL - Politecnico di Milano cerri@cefriel.it Funzioni di hash Una funzione di hash (o message digest) è una funzione H che, dato un input M di dimensione qualsiasi, produce un output h (l hash) di dimensione fissa: h = H(M) Lo scopo di una funzione di hash è di creare un impronta (fingerprint) del messaggio. Dato che l output ha lunghezza fissa (in genere dell ordine di una o poche centinaia di bit), esisteranno necessariamente diversi messaggi che generano lo stesso hash... ma non è detto che si riesca a trovarli
2 Unidirezionalità Una funzione di hash sicura deve essere unidirezionale (one-way), cioè: dato un qualsiasi M, deve essere computazionalmente semplice calcolare H(M); dato un qualsiasi h, deve essere computazionalmente impraticabile calcolare un M tale che h = H(M); L idea è che l hash di un messaggio sia in sostanza una corrispondenza pseudocasuale, per cui non è possibile prevedere in alcun modo il risultato se non calcolando l hash. Messaggi diversi, anche per un solo bit, devono generare hash non correlati Assenza di collisioni (1) Una funzione di hash sicura deve essere senza collisioni (collision-resistant): dato un qualsiasi M, deve essere computazionalmente impraticabile trovare un M M tale che H(M ) = H(M) (funzione debolmente senza collisioni); deve essere computazionalmente impraticabile trovare una coppia (M, M ), con M M, tale che H(M) = H(M ) (funzione fortemente senza collisioni). L idea è che, anche se necessariamente esistono messaggi diversi che producono lo stesso hash, non è praticabile trovarli
3 Assenza di collisioni (2) Le due proprietà sull assenza di collisioni (debole e forte), corrispondono a due diversi tipi di attacchi a forza bruta: attacco a forza bruta semplice : trovare un messaggio che produca un dato hash (cioè un hash uguale a quello di un messaggio dato); attacco del compleanno (birthday attack): trovare due messaggi che producano lo stesso hash, indipendentemente dal valore di questo hash. La complessità dei due attacchi è molto diversa! se l hash è lungo m bit, la complessità del primo è 2 m, quella del secondo è 2 m/ Che cosa NON è un hash Un hash non è né una firma né un MAC (Message Authentication Code), di per sè non garantisce autenticazione e/o integrità. Nel calcolo di un hash non si inserisce nessuna informazione segreta, per cui chiunque può generare l hash corretto di qualunque messaggio. Una funzione di hash non è un algoritmo di cifratura. Calcolare l hash di un messaggio non equivale a cifrarlo: il calcolo di un hash non include nessuna chiave, e soprattutto è un operazione non invertibile
4 MD5 e SHA-1 Le due funzioni di hash sicure attualmente più diffuse sono MD5 e SHA-1, che hanno una struttura simile. costante messaggio ( padding) hash hash 512 bit 512 bit hash 512 bit message digest MD5 MD5 (Message Digest 5) è stato progettato da Ron Rivest, ed è definito in RFC 1321 (1992). Il messaggio viene elaborato a blocchi di 512 bit. L hash è di 128 bit 128 bit. Ad ogni iterazione si calcola una funzione che prende in ingresso il blocco corrente del messaggio e il valore dell hash all iterazione precedente. L hash finale è quello risultante dall ultima iterazione. Non è più considerato molto sicuro (128 bit di hash non sono molti)
5 MD5: padding Prima di iniziare l elaborazione, si aggiunge al messaggio un padding in modo che la lunghezza totale risulti un multiplo di 512 bit: si aggiunge un bit a 1 e poi tanti bit a 0 quanto basta perché la lunghezza risulti di 64 bit minore rispetto a un multiplo di 512 bit (se la lunghezza originale è già corretta si aggiungono comunque 512 bit); si aggiungono 64 bit contenenti la lunghezza originale del messaggio (modulo 2 64 ) bit 64 bit messaggio originale lunghezza multiplo di 512 bit Elaborazione MD5 (1) Un iterazione MD5 (cioè l elaborazione su un blocco del messaggio) è composta da 4 passi. Indichiamo con: d i : i-esima parola (32 bit) del digest (i=0-3); m i : i-esima parola di un blocco di messaggio (i=0-15); T i = 2 32 sen i, (i=1-64); x: rotazione sinistra di x posizioni (su 32 bit); : somma modulo 2 32 ;,,, : rispettivamente AND, OR, NOT, XOR (calcolati bit a bit)
6 Elaborazione MD5 (2) Il valore del digest viene così inizializzato: d 0 = 0x , d 1 = 0xEFCDAB89, d 2 = 0x98BADCFE, d 3 = 0x Ogni passo prende in ingresso il valore corrente del digest e il blocco corrente del messaggio, e modifica (fornendolo in uscita) il valore corrente del digest. Il valore del digest in uscita dal quarto passo viene poi sommato (indipendentemente per le 4 parole d 0, d 1, d 2, d 3 ) al valore di ingresso al primo passo dell iterazione corrente; il risultato è il valore di uscita dell iterazione Elaborazione MD5 (3) Ogni passo è composto da 16 operazioni 16 operazioni. La i-esima (i=0-15) operazione ha la forma: d (-i) mod 4 = d (1-i) mod 4 (d (-i) mod 4 f p (d (1-i) mod 4, d (2-i) mod 4, d (3-i) mod 4 ) m j T k ) S p (i mod 4) ogni operazione: aggiorna uno dei 4 blocchi del digest (in ogni passo ogni blocco del digest viene aggiornato 4 volte); utilizza uno dei 16 blocchi del messaggio m j (in ogni passo ogni blocco viene usato una volta); utilizza una delle 64 costanti T k ; utilizza una funzione f p diversa per ogni passo; effettua una rotazione il cui valore è determinato da una funzione S p diversa per ogni passo;
7 Elaborazione MD5 (4) A (e.g. d 0 ) B (e.g. d 1 ) C (e.g. d 2 ) D (e.g. d 3 ) m j f p schema di una operazione MD5 T k S p (i mod 4) A (e.g. d 3 ) B (e.g. d 0 ) C (e.g. d 1 ) D (e.g. d 2 ) Elaborazione MD5: passo 1 Definiamo F(x,y,z) = (x y) ( x z). Per i=0-15 si esegue: d (-i) mod 4 = d (1-i) mod 4 (d (-i) mod 4 F(d (1-i) mod 4, d (2-i) mod 4, d (3-i) mod 4 ) m i T i1 ) S 1 (i mod 4) dove S 1 (0) = 7, S 1 (1) = 12, S 1 (2) = 17, S 1 (3) = 22. Le prime 5 di 16 operazioni sono quindi: d 0 = d 1 (d 0 F(d 1, d 2, d 3 ) m 0 T 1 ) 7 (i=0) d 3 = d 0 (d 3 F(d 0, d 1, d 2 ) m 1 T 2 ) 12 (i=1) d 2 = d 3 (d 2 F(d 3, d 0, d 1 ) m 2 T 3 ) 17 (i=2) d 1 = d 2 (d 1 F(d 2, d 3, d 0 ) m 3 T 4 ) 22 (i=3) d 0 = d 1 (d 0 F(d 1, d 2, d 3 ) m 4 T 5 ) 7 (i=4)
8 Elaborazione MD5: passo 2 Definiamo G(x,y,z) = (x z) (y z). Per i=0-15 si esegue: d (-i) mod 4 = d (1-i) mod 4 (d (-i) mod 4 G(d (1-i) mod 4, d (2-i) mod 4, d (3-i) mod 4 ) m (5i1) mod 16 T i17 ) S 2 (i mod 4) dove S 2 (0) = 5, S 2 (1) = 9, S 2 (2) = 14, S 2 (3) = 20. Le prime 5 di 16 operazioni sono quindi: d 0 = d 1 (d 0 G(d 1, d 2, d 3 ) m 1 T 17 ) 5 (i=0) d 3 = d 0 (d 3 G(d 0, d 1, d 2 ) m 6 T 18 ) 9 (i=1) d 2 = d 3 (d 2 G(d 3, d 0, d 1 ) m 11 T 19 ) 14 (i=2) d 1 = d 2 (d 1 G(d 2, d 3, d 0 ) m 0 T 20 ) 20 (i=3) d 0 = d 1 (d 0 G(d 1, d 2, d 3 ) m 5 T 21 ) 5 (i=4) Elaborazione MD5: passo 3 Definiamo H(x,y,z) = x y z. Per i=0-15 si esegue: d (-i) mod 4 = d (1-i) mod 4 (d (-i) mod 4 H(d (1-i) mod 4, d (2-i) mod 4, d (3-i) mod 4 ) m (3i5) mod 16 T i33 ) S 3 (i mod 4) dove S 3 (0) = 4, S 3 (1) = 11, S 3 (2) = 16, S 3 (3) = 23. Le prime 5 di 16 operazioni sono quindi: d 0 = d 1 (d 0 H(d 1, d 2, d 3 ) m 5 T 33 ) 4 (i=0) d 3 = d 0 (d 3 H(d 0, d 1, d 2 ) m 8 T 34 ) 11 (i=1) d 2 = d 3 (d 2 H(d 3, d 0, d 1 ) m 11 T 35 ) 16 (i=2) d 1 = d 2 (d 1 H(d 2, d 3, d 0 ) m 14 T 36 ) 23 (i=3) d 0 = d 1 (d 0 H(d 1, d 2, d 3 ) m 1 T 37 ) 4 (i=4)
9 Elaborazione MD5: passo 4 Definiamo I(x,y,z) = y (x z). Per i=0-15 si esegue: d (-i) mod 4 = d (1-i) mod 4 (d (-i) mod 4 I(d (1-i) mod 4, d (2-i) mod 4, d (3-i) mod 4 ) m (7i) mod 16 T i49 ) S 4 (i mod 4) dove S 4 (0) = 6, S 4 (1) = 10, S 4 (2) = 15, S 4 (3) = 21. Le prime 5 di 16 operazioni sono quindi: d 0 = d 1 (d 0 I(d 1, d 2, d 3 ) m 0 T 49 ) 6 (i=0) d 3 = d 0 (d 3 I(d 0, d 1, d 2 ) m 7 T 50 ) 10 (i=1) d 2 = d 3 (d 2 I(d 3, d 0, d 1 ) m 14 T 51 ) 15 (i=2) d 1 = d 2 (d 1 I(d 2, d 3, d 0 ) m 5 T 52 ) 21 (i=3) d 0 = d 1 (d 0 I(d 1, d 2, d 3 ) m 12 T 53 ) 6 (i=4) SHA-1 SHA-1 (Secure Hash Algorithm 1) è stato progettato dal NIST (l algoritmo SHA originale è stato sostituito con SHA-1 dal NIST stesso per via di una vulnerabilità non pubblicata). Il messaggio (che deve essere di lunghezza inferiore a 2 64 bit) viene elaborato a blocchi di 512 bit. L hash è di 160 bit 160 bit. Ad ogni iterazione si calcola una funzione che dipende dal blocco corrente del messaggio e dal valore dell hash all iterazione precedente; il risultato viene sommato (per singola parola) al valore dell iterazione precedente
10 SHA-1: inizializzazione Al messaggio viene aggiunto un padding (uguale a quello di MD5) Le 5 parole di 32 bit del digest (A, B, C, D, E) vengono inizializzate con: A = 0x , B = 0xEFCDAB89, C = 0x98BADCFE, D = 0x , E = 0xC3D2E1F0. Ogni iterazione calcola dei valori di A, B, C, D, E che vengono sommati ai precedenti prima di passare all iterazione successiva. Alla fine, la concatenazione di A, B, C, D, E costituisce il digest del messaggio SHA-1: schema iterazione (1) Il blocco corrente di messaggio (512 bit) viene utilizzato per costruire una stringa di 5 x 512 bit (80 parole di 32 bit). Le prime 16 parole coincidono con il blocco del messaggio, le successive sono calcolate così: W i = (W i-3 W i-8 W i-14 W i-16 ) 1 (i=16-79) la rotazione di un bit è stata aggiunta in SHA-1 (è l unica differenza tra SHA e SHA-1). Si scorre la stringa di 80 parole una parola alla volta (80 operazioni), calcolando i nuovi valori A, B, C, D, E. Alla fine, i nuovi valori verranno aggiunti agli A, B, C, D, E precedenti
11 SHA-1: schema iterazione (2) Ogni iterazione è composta da 80 operazioni. Per i=0-79: B, C, D, E sono calcolati così: B = A C = B 30 D = C E = D A viene calcolato così: A = E (A 5) W i K i f i (B, C, D) dove K i vale: ( i = 0 19) 2 3 ( i = 20 39) i = i = e f i (B, C, D) vale: B C ~ B D ( ) ( ) ( ) ( i = 0 19) B C D ( i = 20 39, i = 60 79) ( B C) ( B D) ( C D) ( i = 40 59) ( ) SHA-1: schema operazione A B C D E f i schema di una operazione SHA W i K i A B C D E
12 MD5 vs. SHA-1 lunghezza hash lunghezza massima messaggio dimensione blocco messsaggio numero operazioni numero costanti additive numero funzioni primitive MD5 128 bit illimitata 512 bit SHA bit bit 512 bit (di cui 2 uguali)
FUNZIONI HASH ONE-WAY ITERATE
FUNZIONI HASH ONE-WAY ITERATE SNEFRU SHA-1 di Davide Gallo per Elementi di Crittografia 2004/2005 Prof.sa Rosaria Rota Funzioni Hash : contesto Oltre alla Segretezza i moderni sistemi di crittografia a
DettagliFunzioni Hash. Impronta Digitale. L impronta digitale viene utilizzata per
Funzioni Hash Impronta Digitale Impronta digitale di un messaggio L impronta digitale deve essere facile da calcolare difficile da invertire unica L impronta digitale viene utilizzata per garantire l integrità
DettagliLa crittografia asimmetrica è alla base della moderna crittografia ed è particolarmente utilizzata nei sistemi di protezione delle comunicazioni
La crittografia asimmetrica è alla base della moderna crittografia ed è particolarmente utilizzata nei sistemi di protezione delle comunicazioni digitali via Internet. Questo nuovo tipo di approccio consente
DettagliLa funzione Hash. Garanzia dell integrità dei dati e autenticazione dei messaggi
La funzione Hash Garanzia dell integrità dei dati e autenticazione dei messaggi Come funziona l Hash function Associa stringhe di bit di lunghezza arbitraria e finita stringhe di bit di lunghezza inferiore.
Dettagli!"### "$ " Applicazioni. Autenticità del messaggio M Integrità del messaggio M. Stelvio Cimato DTI Università di Milano, Polo di Crema
!"### "$ " %& Applicazioni Autenticità del messaggio M Integrità del messaggio M 1 2 ' Easy computation: dato un valore M e la chiave K, MAC(K,M) è facile da calcolare Compression: M di lunghezza finita,
DettagliIntegrità dei messaggi. Funzioni di Hash e codici MAC. Message digest. Message digest e funzioni di hash
Sicurezza nei Sistemi Informativi Integrità dei messaggi Funzioni di Hash e codici MAC una persona che intercetti una comunicazione cifrata non può leggerla...... ma può modificarla in modo imprevedibile!
DettagliRETI DI CALCOLATORI. Crittografia. La crittografia
RETI DI CALCOLATORI Crittografia La crittografia La crittografia è la scienza che studia la scrittura e la lettura di messaggi in codice ed è il fondamento su cui si basano i meccanismi di autenticazione,
DettagliSchemi di Autenticazione per il Protocollo HTTP. a cura di Nicola Ferrante
Schemi di Autenticazione per il Protocollo HTTP a cura di Nicola Ferrante Challenge and Response (Sfida e risposta) Basic Access Authentication: Ancora oggi utilizzato, ma non troppo sicuro Digest Access
DettagliSicurezza nelle applicazioni multimediali: lezione 5, funzioni di hash. Funzioni crittografiche di hash
Funzioni crittografiche di hash Codici di checksum Un codice di checksum è una firma di dimensione fissa (ad es. 32 bit) calcolata a partire da un messaggio (*) di lunghezza variabile. Ogni messaggio ha
Dettaglischema 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)
DettagliApplicazioni. Cosa si intende per sicurezza di uno schema di un MAC? Dobbiamo definire. Autenticità del messaggio M Integrità del messaggio M
!"### "$ " %& Applicazioni Autenticità del messaggio M Integrità del messaggio M 1 ' 2 Easy computation: dato un valore M e la chiave K, MAC(K,M) è facile da calcolare Compression: M di lunghezza finita,
DettagliSHA %&'(& lunghezza arbitraria. 160 bit
%&'(&!"### "$ % SHS per Secure Hash Standard SHA per Secure Hash Algorithm Standard del Governo americano dal 1993 Modificato nel luglio 1994, denotato SHA-1 (unica differenza: aggiunta di uno shift nell
DettagliIdentificazione, Autenticazione e Firma Digitale. Firma digitale...
Identificazione, Autenticazione e Firma Digitale In origine crittografia = confidenzialità Diffusione delle reti: nuove funzionalità. Identificazione Autenticazione Firma digitale Identificazione: un sistema
DettagliConverte una chiave di al più 14 word a 32 bit (K-array) in un array di 18 sottochiavi a 32 bit (P-array) Genera 4 S-box, ognuna con 256 word a 32 bit
% RC2 [1989] IDEA (International Data Encryption Algorithm) [1990] Blowfish [1993]!"###"$ SAFER (Secure And Fast Encryption Routine) SAFER K-64 [1994], SAFER K-128 [1995] cifrario bit chiave bit testo
DettagliFunzioni hash crittografiche e paradosso del compleanno
Corso di Sicurezza A.A. 2006-2007 Funzioni hash crittografiche e paradosso del compleanno 22/05/2007 Paolo BIONDI 0000269207 Cos'è una funzione hash Qualunque funzione che trasformi i dati in input in
DettagliMessage Authentication Code
Message Authentication Code Message Authentication Code (MAC) messaggio M Alfredo De Santis Dipartimento di Informatica ed Applicazioni Università di Salerno ads@dia.unisa.it http://www.dia.unisa.it/professori/ads
DettagliCrittografia avanzata Lezione del 21 Marzo 2011
Crittografia avanzata Lezione del 21 Marzo 2011 Attacchi alle funzioni hash Collisioni: trovare due messaggi M1 e M2 tali che H(M1) = H(M2) in meno di 2^(L/2) tentativi L è la lunghezza dell'hash Mezzi
DettagliBLOWFISH. Introduzione Algoritmo. Prestazioni Cryptanalysis of Vaundenay. Egizio Raffaele
Introduzione Algoritmo Prestazioni Cryptanalysis of Vaundenay Egizio Raffaele Introduzione E un cifrario a blocchi a chiave simmetrica Utilizza varie tecniche tra le quali la rete Feistel, le S-box dipendenti
DettagliPrincipi di crittografia Integrità dei messaggi Protocolli di autenticazione Sicurezza nella pila di protocolli di Internet: PGP, SSL, IPSec
Crittografia Principi di crittografia Integrità dei messaggi Protocolli di autenticazione Sicurezza nella pila di protocolli di Internet: PGP, SSL, IPSec Elementi di crittografia Crittografia: procedimento
DettagliCrittografia e sicurezza delle reti
Crittografia e sicurezza delle reti Integrità dei dati e loro autenticità Message Authentication Codes (MAC) Firma digitale Autenticazione messaggi Garantire l integrità dei messaggi anche in presenza
Dettaglimetodi crittografici 2006-2007 maurizio pizzonia sicurezza dei sistemi informatici e delle reti
metodi crittografici 1 sommario richiami di crittografia e applicazioni hash crittografici crittografia simmetrica crittografia asimmetrica attacchi e contromisure attacchi tipici key rollover generatori
DettagliIntroduzione alla FIRMA DIGITALE
Introduzione alla FIRMA DIGITALE 25 e 27 Novembre 2015 1 AGENDA Firma Digitale: cos è? Schemi di Firma Digitale: - DSA - El Gamal - RSA Cenni su possibili Attacchi Comparazione tra Firma Autografa e Firma
DettagliCorso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I
Corso di Laurea in Ingegneria Informatica Corso di Reti di Calcolatori I Roberto Canonico (roberto.canonico@unina.it) Giorgio Ventre (giorgio.ventre@unina.it) Sicurezza nella comunicazione in rete: tecniche
Dettagliidea 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
DettagliCapitolo 8 La sicurezza nelle reti
Capitolo 8 La sicurezza nelle reti Reti di calcolatori e Internet: Un approccio top-down 4 a edizione Jim Kurose, Keith Ross Pearson Paravia Bruno Mondadori Spa 2008 Capitolo 8: La sicurezza nelle reti
DettagliUniversita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Funzioni Hash e Network Security
Universita' di Ferrara Dipartimento di Matematica e Informatica Algoritmi e Strutture Dati Funzioni Hash e Network Security Vedi: A.S. Tanenbaum, Computer Networks, 4th ed., Prentice Hall: sez. 8, pagg.
DettagliComunicazioni sicure su Internet: https e SSL. Fisica dell Informazione
Comunicazioni sicure su Internet: https e SSL Fisica dell Informazione Il servizio World Wide Web (WWW) Come funziona nel dettaglio il Web? tre insiemi di regole: Uniform Resource Locator (URL) Hyper Text
DettagliLA FI RMA DI GI TALE. Materiale a cura di: L.Chium ient o,f. Orfei, F. Baiani, S. Sallam
LA FI RMA DI GI TALE Materiale a cura di: L.Chium ient o,f. Orfei, F. Baiani, S. Sallam Il documento informatico (1) La legge definisce documento informatico la rappresentazione Informatica di atti, fatti
DettagliSSL: applicazioni telematiche SSL SSL SSL. E-commerce Trading on-line Internet banking... Secure Socket Layer
: applicazioni telematiche Secure Socket Layer E-commerce Trading on-line Internet banking... Protocollo proposto dalla Netscape Communications Corporation Garantisce confidenzialità e affidabilità delle
DettagliGeneratori di sequenze pseudocasuali. Manuela Aprile Maria Chiara Fumi
Generatori di sequenze pseudocasuali Manuela Aprile Maria Chiara Fumi Indice Concetti base e terminologia Random bit generator Pseudorandom bit generator Cenni di statistica Test Statistici Concetti base
DettagliCrittografia a chiave pubblica
Crittografia a chiave pubblica Barbara Masucci Dipartimento di Informatica Università di Salerno bmasucci@unisa.it http://www.di.unisa.it/professori/masucci Cifrari simmetrici canale insicuro Bob 1 Distribuzione
Dettagliriferimento temporale
La Firma Digitale, la marca temporale ed il riferimento temporale Umberto Zanini Dottore Commercialista e Revisore Contabile in Modena Tel.059/2929777/2929483 Fax 059/2926210 umzanini@tin.it www.umbertozanini.it
DettagliCorso di Informatica
CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Università degli Studi di Foggia - CdLS in Odontoiatria e Protesi Dentarie La sicurezza digitale
Dettagli1) Codici convoluzionali. 2) Circuito codificatore. 3) Diagramma a stati e a traliccio. 4) Distanza libera. 5) Algoritmo di Viterbi
Argomenti della Lezione 1) Codici convoluzionali 2) Circuito codificatore 3) Diagramma a stati e a traliccio 4) Distanza libera 5) Algoritmo di Viterbi 1 Codici convoluzionali I codici convoluzionali sono
DettagliCrittografia. Crittografia Definizione. Sicurezza e qualità dei servizi su internet. 2009 Università degli Studi di Pavia, C.
Definizione La crittografia è la scienza che utilizza algoritmi matematici per cifrare e decifrare i dati. La criptoanalisi è la scienza che analizza e decifra i dati crittografati senza conoscerne a priori
DettagliFirme digitali. Firma Digitale. Firma Digitale. Firma Digitale. Equivalente alla firma convenzionale. Equivalente alla firma convenzionale
irme digitali irma Digitale Barbara asucci Dipartimento di Informatica ed Applicazioni Università di Salerno firma Equivalente alla firma convenzionale masucci@dia.unisa.it http://www.dia.unisa.it/professori/masucci
DettagliAlgoritmi di criptografia a chiave. Cifrari a blocchi
Algoritmi di criptografia a chiave simmetrica Cifrari a blocchi Criptografia Simmetrica Gli algoritmi di criptografia a chiave simmetrica, o chiave segreta, sono preferiti perché, più è corta la chiave,
DettagliUnità Aritmetico-Logica
Unità Aritmetico-Logica A ritmethic L ogic U nit E l unità che esegue le operazioni aritmetiche e le operazioni logiche AND e OR 1-bit ALU : è una componente dell ALU che produce un singolo bit sui 32
Dettaglida 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
DettagliParte prima Cifrature asimmetriche 21
Indice Prefazione XIII Capitolo 1 Introduzione 1 1.1 Servizi, meccanismi e attacchi 3 Servizi 3 Meccanismi 4 Attacchi 5 1.2 L architettura di sicurezza OSI 5 Servizi di sicurezza 7 Autenticazione 7 Meccanismi
DettagliPassword. Password. Davide Cerri. Davide Cerri CEFRIEL - Politecnico di Milano Autenticazione utente
POLITECNICO DI MILANO CEFRIEL - Politecnico di Milano cerri@cefriel.it http://www.cefriel.it/~cerri/ Autenticazione utente Per autenticare un utente si può utilizzare: ciò che l utente conosce ( what you
DettagliRipasso. Public Key cryptograhy. Message Authentication Codes (MAC) Firma digitale
Ripasso Public Key cryptograhy Message Authentication Codes (MAC) Firma digitale RSA Public Key Cryptosystem Sia N=pq il prodotto di due primi Scegli e tale che gcd(e,f(n))=1 Sia d tale che de 1 mod f(n)
DettagliAltri cifrari a blocchi
Altri cifrari a blocchi Barbara Masucci Dipartimento di Informatica ed Applicazioni Università di Salerno masucci@dia.unisa.it http://www.dia.unisa.it/professori/masucci RC2 [1989] IDEA (International
DettagliAutenticazione dei messaggi e funzioni hash
Autenticazione dei messaggi e funzioni hash Autenticazione L autenticazione serve a: Proteggere l integrità del messaggio Validare l identità del mittente Garantire la non ripudiabilità In generale, tre
DettagliCrittografia a chiave pubblica
Crittografia a chiave pubblica Barbara Masucci Dipartimento di Informatica Università di Salerno bmasucci@unisa.it http://www.di.unisa.it/professori/masucci Sicurezza CCA In un attacco CCA, è capace di
DettagliFondamenti di Informatica
Fondamenti di Informatica AlgoBuild: Strutture selettive, iterative ed array Prof. Arcangelo Castiglione A.A. 2016/17 AlgoBuild : Strutture iterative e selettive OUTLINE Struttura selettiva Esempi Struttura
DettagliRandom Number/Bit Generator
Generatore di numeri casuali Funzione hash Password Meccanismi e servizi di base Identificazione attiva File system sicuro Smart card Smart tag Random Number/Bit Generator RNG b 1 b 2 b 3 b i.. b n 1-
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
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:
DettagliCorso di Crittografia Prof. Dario Catalano. Firme Digitali
Corso di Crittografia Prof. Dario Catalano Firme Digitali Introduzione n Una firma digitale e l equivalente informatico di una firma convenzionale. n Molto simile a MA, solo che qui abbiamo una struttura
DettagliDefinizioni. Soluzione ottima: migliore soluzione possibile Soluzione ottima localmente: soluzione ottima in un dominio contiguo. Il paradigma greedy
Il paradigma greedy Paolo Camurati, Fulvio Corno, Matteo Sonza Reorda Dip. Automatica e Informatica Politecnico di Torino Definizioni Soluzione ottima: migliore soluzione possibile Soluzione ottima localmente:
DettagliStream cipher. Cifrari simmetrici. Stream cipher. Stream cipher. I cifrari simmetrici possono essere:! Cifrari a blocchi: !
Stream cipher Alfredo De Santis Dipartimento di Informatica ed Applicazioni Università di Salerno Marzo 2012 ads@dia.unisa.it http://www.dia.unisa.it/professori/ads Cifrari simmetrici I cifrari simmetrici
DettagliFirme digitali. Firma Digitale. Firma Digitale. Corso di Sicurezza su Reti Lezione del 17 novembre 2009. Equivalente alla firma convenzionale
Firme digitali Barbara Masucci Dipartimento di Informatica ed Applicazioni Università di Salerno masucci@dia.unisa.it http://www.dia.unisa.it/professori/masucci Firma Digitale Equivalente alla firma convenzionale
DettagliReti di Calcolatori. Crittografia & Java Cryptographic Architecture (JCA) A.A. 2010/2011 Reti di Calcolatori 1 (Es. 6)
Crittografia & Java Cryptographic Architecture (JCA) 1 (Es. 6) La crittografia La crittografia è un particolare processo grazie al quale, per mezzo di sofisticati algoritmi, è possibile trasformare una
DettagliIl cifrario di Vigenère. Bizzoni Stefano De Persiis Angela Freddi Giordana
Il cifrario di Vigenère Bizzoni Stefano De Persiis Angela Freddi Giordana Cifrari monoalfabetico e polialfabetico mono: cifrari a sostituzione o a trasposizione, associano ad ogni lettera dell alfabeto
DettagliCRITTOGRAFIA 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
DettagliCodice Gray. (versione Marzo 2007)
Codice Gray (versione Marzo 27) Data una formula booleana con n variabili, per costruire una tavola di verità per questa formula è necessario generare tutte le combinazioni di valori per le n variabili.
DettagliLinguaggi Regolari e Linguaggi Liberi
Linguaggi Regolari e Linguaggi Liberi Linguaggi regolari Potere espressivo degli automi Costruzione di una grammatica equivalente a un automa Grammatiche regolari Potere espressivo delle grammatiche 1
DettagliDalla tabella alla funzione canonica
Dalla tabella alla funzione canonica La funzione canonica è la funzione logica associata alla tabella di verità del circuito che si vuole progettare. Essa è costituita da una somma di MinTerm con variabili
DettagliLuigi Piroddi
Automazione industriale dispense del corso (a.a. 2008/2009) 10. Reti di Petri: analisi strutturale Luigi Piroddi piroddi@elet.polimi.it Analisi strutturale Un alternativa all analisi esaustiva basata sul
DettagliCrittografia 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
DettagliIl 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
DettagliSicurezza e Crittografia
Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Ringraziamenti Prof. Gabriele D'Angelo, Università di Bologna https://www.unibo.it/sitoweb/g.dangelo/
DettagliLa sicurezza nelle reti di calcolatori
La sicurezza nelle reti di calcolatori Contenuti del corso La progettazione delle reti Il routing nelle reti IP Il collegamento agli Internet Service Provider e problematiche di sicurezza Analisi di traffico
DettagliSicurezza: necessità. Roberto Cecchini Ottobre 2002 1
Sicurezza: necessità Riservatezza: la comunicazione è stata intercettata? Autenticazione: l utente è veramente chi dice di essere? Autorizzazione: ogni utente può accedere solo alle risorse cui ha diritto.
DettagliCorso di Laurea in Informatica Modulo di Laboratorio di Programmazione I (a.a ) Docente: Prof. M. Nesi
Corso di Laurea in Informatica Modulo di Laboratorio di Programmazione I (a.a. 2009-10) Docente: Prof. M. Nesi Esercizi su Algoritmi e Diagrammi di Flusso (Versione preliminare) Dati i seguenti problemi,
DettagliFirme digitali. Firma Digitale. Firma Digitale. Elementi di Crittografia Equivalente alla firma convenzionale
Eleenti di Crittografia 26-05-2016 Fire digitali Barbara Masucci Dipartiento di Inforatica Università di Salerno basucci@unisa.it http://www.di.unisa.it/professori/asucci Fira Digitale fira Equivalente
DettagliLezione2: Circuiti Logici
Lezione2: Circuiti Logici traduce per noi in linguaggio macchina utente macchina software macchina hardware Agli albori dell'informatica, l utente programmava in binario (Ling.Mac.) scrivendo i programmi
DettagliCorso di Crittografia Prof. Dario Catalano. Advanced Encryption Standard
Corso di Crittografia Prof. Dario Catalano Advanced Encryption Standard Perche un nuovo standard? n Quando si è deciso di sostituire DES, questo era ancora sicuro. n Sorge naturale la questione del perche
DettagliMacchine di Turing: somma di due numeri
Informatica Teorica 2/2 M.Di Ianni Macchine di Turing: somma di due numeri Vogliamo definire una macchina di Turing che, presi in input due numeri n e m espressi in notazione binaria, calcola il valore
DettagliFirma digitale e Certificati uno strumento a servizio dell'amministrazione digitale
Firma digitale e Certificati uno strumento a servizio dell'amministrazione digitale Giuseppe Russo Chief Technologist Principal Engineer & Security Ambassador Sun Microsystems, Inc. Agenda L'amministrazione
DettagliProblemi, algoritmi, calcolatore
Problemi, algoritmi, calcolatore Informatica e Programmazione Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Problemi, algoritmi, calcolatori Introduzione
DettagliDati e Algoritmi I (Pietracaprina) Esercizi sulle Nozioni di Base
Dati e Algoritmi I (Pietracaprina) Esercizi sulle Nozioni di Base Dati e Algoritmi I (Pietracaprina): Esercizi 1 Problema 1. Sia T una stringa arbitraria di lunghezza n 1 su un alfabeto Σ. È sempre possibile
DettagliPOLITECNICO DI BARI CORSO DI LAUREA MAGISTRALE IN INGEGNERIA ELETTRONICA
POLITECNICO DI BARI CORSO DI LAUREA MAGISTRALE IN INGEGNERIA ELETTRONICA DISPENSE DEL CORSO DI INFORMATICA MEDICA Docente: Prof. Giuseppe Mastronardi ANNO ACCADEMICO 2015-2016 08/05/2016 Informatica medica
DettagliRAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO
RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO Rappresentazione degli algoritmi Problema Algoritmo Algoritmo descritto con una qualche notazione Programma Defne del procedimento
DettagliConfidenzialità e crittografia simmetrica. Contenuto. Scenario tipico. Corso di Sicurezza su Reti Uso della crittografia simmetrica
Confidenzialità e crittografia simmetrica Barbara Masucci Dipartimento di Informatica ed Applicazioni Università di Salerno masucci@dia.unisa.it http://www.dia.unisa.it/professori/masucci Contenuto Uso
DettagliGennaio. SUAP On Line i pre-requsiti informatici: La firma digitale
2008 Gennaio SUAP On Line i pre-requsiti informatici: La firma digitale 1 La firma digitale Indice La firma digitale La firma digitale: destinatario 2 La firma digitale Cos è La Firma Digitale è il risultato
DettagliIndice generale. Nota dell editore... XIII. Prefazione alla prima edizione... XV. Ringraziamenti per la prima edizione...xviii
Indice generale Nota dell editore... XIII Prefazione alla prima edizione... XV Ringraziamenti per la prima edizione...xviii Prefazione alla nuova edizione... XIX Ringraziamenti per la nuova edizione...xxii
DettagliEsercitazione 6. Array
Esercitazione 6 Array Arrays Array (o tabella o vettore): è una variabile strutturata in cui è possibile memorizzare un numero fissato di valori tutti dello stesso tipo. Esempio int a[6]; /* dichiarazione
DettagliUnità Didattica N 9 : La parabola
0 Matematica Liceo \ Unità Didattica N 9 La parabola Unità Didattica N 9 : La parabola ) La parabola ad asse verticale ) La parabola ad asse orizzontale 5) Intersezione di una parabola con una retta 6)
DettagliEsercizi su alberi binari
Esercizi su alberi binari Esercizi svolti: Determinazione nodi contenti verifica completezza verifica quasi completezza lunghezza del cammino interno determinazione ultima foglia in un quasi completo verifica
DettagliSecure Hash Functions
Secure Hash Functions Gregorio D Agostino 7 giugno 2016 1 / 24 Agenda Collisioni di compleanni Hash Function Attacchi e difesa 2 / 24 Scommesse sui compleanni In una class di 23 studenti, qual è la probabilità
DettagliLezione 7 Sicurezza delle informazioni
Lezione 7 Sicurezza delle informazioni Sommario Concetti generali Meccanismi per la sicurezza IT: Crittografia Hash Firma digitale Autenticazione 1 Concetti generali Availability Confidentiality Integrity
DettagliIl concetto di calcolatore e di algoritmo
Il concetto di calcolatore e di algoritmo Elementi di Informatica e Programmazione Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Informatica
DettagliMECCANISMI DI BASE: Generatori di bit casuali
MECCANISMI DI BASE: Generatori di bit casuali Random Number/Bit Generator RNG b 1 b 2 b 3 b i.. b n Proprietà di casualità dei bit: indipendenza statistica valori equiprobabili Test statistici (FIPS 140-2):
DettagliRC4 RC4. Davide Cerri. Davide Cerri CEFRIEL - Politecnico di Milano cerri@cefriel.it http://www.cefriel.it/~cerri/
POLITECNICO DI MILANO CEFRIEL - Politecnico di Milano cerri@cefriel.it http://www.cefriel.it/~cerri/ è un cifrario a flusso progettato da Ron Rivest (la R di RSA) nel 1987. Era un segreto commerciale della
DettagliElementi di Sicurezza e Privatezza Lezione 4 - Crittografia
Elementi di Sicurezza e Privatezza Lezione 4 - Crittografia Chiara Braghin chiara.braghin@unimi.it Comunicazione sicura? canale insicuro messaggi Alice Bob E possibile che Alice e Bob comunichino in modo
DettagliCodifica di Huffman e Lempel-Ziv-Welch A L B E R T O B E L U S S I A N N O A C C A D E M I C O /
Codifica di Huffman e Lempel-Ziv-Welch 1 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 0 / 2 0 1 1 Tipi di compressione Senza perdita (lossless): permettono di ricostruire perfettamente
DettagliFIRMA ELETTRONICA. Il sistema di garanzia è stato individuato nella crittografia in quanto è in grado di assicurare:
Il sistema di garanzia è stato individuato nella crittografia in quanto è in grado di assicurare: Riservatezza (protezione delle informazioni da accessi non autorizzati) Integrità (garanzia che l'informazione
DettagliDispensa 2. Data una grammatica context free esistono tre metodi diversi per costruirne la parsing table per un parser LR:
Dispensa 2 2.1 Costruzione Parsing Table LR: generalità Come tutti i parser tabellari predittivi, anche i parser LR possono essere applicati solo a parsing table senza conflitti (ossia entrate multiple)
DettagliSviluppo di programmi
Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla
DettagliCrittografia e OpenSource
Crittografia e OpenSource Matteo Carli matteo@matteocarli.com http://www.matteocarli.com http://www.lug-acros.org Chi sono Studente di Sicurezza dei sistemi e delle reti informatiche presso il polo di
DettagliDistribuzione delle chiavi pubbliche. Gestione delle chiavi. Distribuzione delle chiavi pubbliche
Gestione delle chiavi Distribuzione delle chiavi pubbliche Distribuzione delle chiavi pubbliche Uso dei protocolli a chiave pubblica per distribuire chiavi segrete Annuncio pubblico Elenco pubblico Autorità
DettagliAppunti di informatica. Lezione 3 anno accademico Mario Verdicchio
Appunti di informatica Lezione 3 anno accademico 2015-2016 Mario Verdicchio Numeri binari in memoria In un calcolatore, i numeri binari sono tipicamente memorizzati in sequenze di caselle (note anche come
DettagliLinguaggi Regolari e Linguaggi Liberi
Linguaggi Regolari e Linguaggi Liberi Potenza espressiva degli automi Potenza espressiva delle grammatiche 9/11/2004 Programmazione - Luca Tesei 1 Linguaggi Regolari Tutti i linguaggi che possono essere
DettagliLa "macchina" da calcolo
La "macchina" da calcolo Abbiamo detto che gli algoritmi devono essere scritti in un linguaggio "comprensibile all'esecutore" Se il nostro esecutore è il "calcolatore", questo che linguaggio capisce? che
DettagliIntroduzione alla programmazione Esercizi risolti
Esercizi risolti 1 Esercizio Si determini se il diagramma di flusso rappresentato in Figura 1 è strutturato. A B C D F E Figura 1: Diagramma di flusso strutturato? Soluzione Per determinare se il diagramma
DettagliInformatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 30/06/2016/ Foglio delle domande / VERSIONE 1
Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 30/06/2016/ Foglio delle domande/ VERSIONE 1 1) In Python, se scrivo v = [ ] in un programma, vuol dire che a) v è un quadrato b) v è un insieme vuoto
DettagliLezione 3. I numeri relativi
Lezione 3 L artimetcia binaria: i numeri relativi i numeri frazionari I numeri relativi Si possono rappresentare i numeri negativi in due modi con modulo e segno in complemento a 2 1 Modulo e segno Si
DettagliCOMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI
COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI Fondamenti di Informatica a.a.200.2005/06 Prof. V.L. Plantamura Dott.ssa A. Angelini Confronto di algoritmi Uno stesso problema può essere risolto in modi diversi,
DettagliTriangolazione di Delaunay
Triangolazione di Delaunay Francesco Visentin Dottorato di Ricerca in Informatica - XXVIII Ciclo Università degli Studi di Verona 13 Maggio 2013 Triangolazione Presentazione Divisione di una superficie
Dettagli