Accordo su chiavi. Accordo su una chiave. Diffie-Hellman [1976] Accordo su chiavi. Diffie-Hellman [1976] Diffie-Hellman [1976] ??

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Accordo su chiavi. Accordo su una chiave. Diffie-Hellman [1976] Accordo su chiavi. Diffie-Hellman [1976] Diffie-Hellman [1976] ??"

Transcript

1 Accordo su chiavi Accordo su una chiave Barbara Masucci Dipartimento di Informatica ed Applicazioni Università di Salerno K K 1 Accordo su chiavi Vedremo due schemi: di Z p Diffie-Hellman Basato sull intrattabilità del problema del logaritmo discreto Non basato su alcuna assunzione computazionale 2 3 di Z p scelgo y Z p scelgo y Z p 4 5 1

2 g y mod p g y mod p K = g xy mod p = (g y ) x mod p K = g xy mod p = (g x ) y mod p 6 7 scelgo x=3 Diffie-Hellman: piccolo esempio primo 11, generatore 2 8 = 2 3 mod 11 scelgo y=4 scelgo x=3578 Diffie-Hellman: esempio primo 25307, generatore = mod scelgo y= = 2 4 mod = mod K=4=(2 4 ) 3 mod 11 K=4=(2 3 ) 4 mod 11 K=3694= K=3694= Scelta dei parametri Come scegliere p e g? 10 Scegli_Generatore_Naive (p) 1. Scegli a caso g in Z p 2. If {g i 1 i p-1} = Z {g i 1 i p-1} = Z p? p then trovato else goto 1. L unico algoritmo efficiente necessita dei fattori primi di p-1p 11 2

3 11 primo, p-1 = 10 = 2 5 Esempio 2 è un generatore di Z 11 perché 2 (11-1)/2 = 2 5 = 10 1 mod 11 2 (11-1)/5 = 2 2 = 4 1 mod primo, p-1 = 10 = 2 5 Esempio 3 non è un generatore di Z 11 perché 3 (11-1)/2 = 3 5 = 243 = 1 mod 11 3 (11-1)/5 = 3 2 = 9 1 mod 11 Scegli_generatore ( p, (p 1,e 1,p 2,e 2,,p k, ) ) 1. g elemento scelto a caso in Z p 2. if ( and and g (p-1)/pk 1 mod p) then esci trovato! else go to Probabilità successo singola iterazione Probabilità successo singola iterazione Numero di generatori modulo un primo p è per ogni intero n 5, φ(φ(p)) = φ(p-1) φ(n) > n/(6lnln n) > (p-1) / (6 lnln(p-1)) Numero di generatori modulo un primo p è φ(φ(p)) = φ(p-1) > (p-1) / (6 lnln(p-1)) per ogni intero n 5, φ(n) > n/(6lnln n) Probabilità che un elemento a caso in Z p sia generatore φ(φ(p)) p-1 1 = φ(p) > φ(p) 6lnln(p -1) = 6 lnln(p -1)

4 Analisi di Scegli_generatore Generazione chiavi Diffie-Hellman Numero medio di iterazioni < 6 lnln(p -1) Scegli a caso 2 numeri primi p 1 p 2 p 1 + 2p 1 p bit 6 lnln(2 512 ) 35, bit 6 lnln( ) 39, bit 6 lnln( ) 43,54 Se p non è primo, go to 1. g Scegli_generatore(p,(2,1,p 1,1,p 2,1)) Problema di Diffie-Hellman Schema di Merkle Input:,, g y mod p Calcolare: g xy mod p Il miglior algoritmo conosciuto calcola prima il logaritmo discreto x log g,p () ma non si sa se sono equivalenti! Non basato su assunzioni computazionali genera n chiavi distinte e nasconde ogni chiave in un puzzle Il puzzle contiene informazioni per il calcolo della chiave La soluzione di un puzzle richiede un tempo ragionevole La soluzione di tutti i puzzle richiede un tempo troppo elevato Puzzle la cui soluzione richiede t operazioni Scegli x 1,, x n, ID 1,, ID n Puzzle i Puzzle(x i,id i,s) Risolvi Puzzle j Ottieni (x( j, ID j ) Esempio: Puzzle (x, ID, S) Scegli una chiav Computa y CBC-DES k (x, ID, S) return (y, primi 20 bit di k) Puzzle 1,, Puzzle n ID j x è la soluzione del puzzle -Richiede 2 35 operazioni in media ID è l identificativo del puzzle -Unico per ciascun puzzle S è un valore noto -Serve per garantire l unicità della soluzione del puzzle -Esempio: 32 bit nulli 22 x j x j 23 4

5 Se n = θ(t) Costruzione di n puzzle Costruzione di n puzzle Risoluzione di un puzzle tempo θ(t) Risoluzione di un puzzle Risoluzione di n/2 puzzle in media tempo θ(t n) Risoluzione di n/2 puzzle in media tempo θ(n 2 )

Generatori. Accordo su una chiave. Diffie-Hellman [1976] Diffie-Hellman [1976] Diffie-Hellman [1976] Potenze in Z 19. iagio nnarella. nnarella.

Generatori. Accordo su una chiave. Diffie-Hellman [1976] Diffie-Hellman [1976] Diffie-Hellman [1976] Potenze in Z 19. iagio nnarella. nnarella. Accordo su una chiave Diffie-Hellman [] di Z p K K Diffie-Hellman 0 Diffie-Hellman Generatori a a a a a Potenze in Z a a a a a 0 a a a a a a a a g è generatore di di Z p se {g i p se {g i i p-} = Z p 0

Dettagli

Generatori di Z p. Accordo su una chiave. Diffie-Hellman [1976] Accordo su chiavi ?? K. Potenze in Z 19 26/05/2005. Vedremo due schemi: Esempio: * a

Generatori di Z p. Accordo su una chiave. Diffie-Hellman [1976] Accordo su chiavi ?? K. Potenze in Z 19 26/05/2005. Vedremo due schemi: Esempio: * a /0/00 Accordo su chiavi Accordo su una chiave Diartimento di Tecnologie dell Informazione Università di Milano cimato@dti.unimi.it htt://www.dti.unimi.it/~cimato K K Accordo su chiavi Vedremo due schemi:

Dettagli

Accordo su chiavi (key agreement)

Accordo su chiavi (key agreement) Accordo su chiavi (key agreement) Accordo su una chiave Alfredo De Santis Dipartimento di Informatica ed Applicazioni Università di Salerno ads@dia.unisa.it http://www.dia.unisa.it/professori/ads Marzo

Dettagli

Accordo su chiavi. (key agreement) Alfredo De Santis. Marzo 2015. Dipartimento di Informatica Università di Salerno

Accordo su chiavi. (key agreement) Alfredo De Santis. Marzo 2015. Dipartimento di Informatica Università di Salerno Accordo su chiavi (key agreement) Alfredo De Santis Dipartimento di Informatica Università di Salerno ads@dia.unisa.it http://www.dia.unisa.it/professori/ads Marzo 2015 Accordo su una chiave Alice Bob??

Dettagli

Firme digitali. Firma Digitale. Firma Digitale. Firma Digitale. Equivalente alla firma convenzionale. Equivalente alla firma convenzionale

Firme 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

Dettagli

M firma. M firma. Firma Digitale. Firma Digitale. Firma digitale. Firma digitale. Firma Digitale. Equivalente alla firma convenzionale

M firma. M firma. Firma Digitale. Firma Digitale. Firma digitale. Firma digitale. Firma Digitale. Equivalente alla firma convenzionale firma irma Digitale Equivalente alla firma convenzionale firma irma Digitale Equivalente alla firma convenzionale Soluzione naive: incollare firma digitalizzata irma Digitale 0 irma Digitale 1 firma irma

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

Cifrari asimmetrici. Cifratura. Cifratura. Crittosistema ElGamal. file pubblico utente chiave pubblica. Alice. file pubblico utente chiave pubblica

Cifrari asimmetrici. Cifratura. Cifratura. Crittosistema ElGamal. file pubblico utente chiave pubblica. Alice. file pubblico utente chiave pubblica Crittosistema ElGamal lfredo De Santis Dipartimento di Informatica ed pplicazioni Università di Salerno Marzo 2012 ads@dia.unisa.it http://www.dia.unisa.it/professori/ads Cifrari asimmetrici kpriv kpub

Dettagli

Firma Digitale. Firma Digitale. Firma digitale. Firma digitale. Firma Digitale A?? Equivalente alla firma convenzionale

Firma Digitale. Firma Digitale. Firma digitale. Firma digitale. Firma Digitale A?? Equivalente alla firma convenzionale firma irma Digitale Equivalente alla firma convenzionale firma irma Digitale Equivalente alla firma convenzionale Soluzione naive: incollare firma digitalizzata irma Digitale 0 irma Digitale 1 Soluzione

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

Crittografia a chiave pubblica

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

Dettagli

RSA. Chiavi RSA. Firma Digitale. Firma Digitale. Firma Digitale. Desiderata per la Firma Digitale. Corso di Sicurezza su Reti 1

RSA. Chiavi RSA. Firma Digitale. Firma Digitale. Firma Digitale. Desiderata per la Firma Digitale. Corso di Sicurezza su Reti 1 firma Firma Digitale Equivalente alla firma convenzionale firma Firma Digitale Equivalente alla firma convenzionale Soluzione naive: incollare firma digitalizzata Firma Digitale 0 Firma Digitale 1 firma

Dettagli

Numeri casuali. Randomness by obscurity. Generazione Deterministica? Caratteristiche del sistema. Caratteristiche del sistema

Numeri casuali. Randomness by obscurity. Generazione Deterministica? Caratteristiche del sistema. Caratteristiche del sistema Numeri casuali Importanti per molte primitive crittografiche un avversario non deve determinarli o indovinarli se non con una bassa probabilità Generazione Deterministica? Anyone who considers arithmetical

Dettagli

QUICKSORT. Basato sul paradigma divide-et-impera (come MERGE-SORT)

QUICKSORT. Basato sul paradigma divide-et-impera (come MERGE-SORT) QUICKSORT Basato sul paradigma divide-et-impera (come MERGE-SORT) Divide: stabilisce un valore di q tale da dividere l array A[p.. r] in due sottoarray non vuoti A[p.. q] e A[q+1.. r], dove ogni elemento

Dettagli

Introduzione al Corso di Algoritmi

Introduzione al Corso di Algoritmi Introduzione al Corso di Algoritmi Di cosa parliamo oggi: Una discussione generale su cosa studieremo, perchè lo studeriemo, come lo studieremo,... Un esempio illustrativo di cosa studeriemo Informazione

Dettagli

Nell informatica esistono alcuni problemi particolarmente rilevanti, poiché essi:

Nell informatica esistono alcuni problemi particolarmente rilevanti, poiché essi: Pag 24 3) Il problema della ricerca Nell informatica esistono alcuni problemi particolarmente rilevanti, poiché essi: si incontrano in una grande varietà di situazioni reali; appaiono come sottoproblemi

Dettagli

Cifratura. Decifratura. Cifratura. Decifratura. Crittografia a chiave pubblica ed a chiave privata. Corso di Sicurezza su Reti 1

Cifratura. Decifratura. Cifratura. Decifratura. Crittografia a chiave pubblica ed a chiave privata. Corso di Sicurezza su Reti 1 Crittosistema a chiave pubblica Cifratura chiave privata kpriv kpub kpub Devo cifrare il messaggio M ed inviarlo ad Crittografia a Chiave Pubblica 0 iagio Crittografia a Chiave Pubblica 1 Cifratura Decifratura

Dettagli

Firme digitali. Firma Digitale. Firma Digitale. Corso di Sicurezza su Reti Lezione del 17 novembre 2009. Equivalente alla firma convenzionale

Firme 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

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi Ricorsivi e Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino A.A. 2006/07 I conigli di Fibonacci Ricerca Binaria L isola dei conigli

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

Confidenzialità e crittografia simmetrica. Contenuto. Scenario tipico. Corso di Sicurezza su Reti Uso della crittografia simmetrica

Confidenzialità 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

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

Numeri casuali. Randomness by obscurity. Generazione Deterministica? Caratteristiche del sistema. Caratteristiche del sistema

Numeri casuali. Randomness by obscurity. Generazione Deterministica? Caratteristiche del sistema. Caratteristiche del sistema Numeri casuali Importanti per molte primitive crittografiche un avversario non deve determinarli o indovinarli se non con una bassa probabilità Generazione Deterministica? Anyone who considers arithmetical

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

Efficienza: esempi. Fondamenti di Informatica. Ferdinando Cicalese. Nella lezione precedente. Pseudocodice per descrivere algoritmi

Efficienza: esempi. Fondamenti di Informatica. Ferdinando Cicalese. Nella lezione precedente. Pseudocodice per descrivere algoritmi Efficienza: esempi Fondamenti di Informatica Ferdinando Cicalese Nella lezione precedente Qualche problema computazionale Trova min Selection sort Pseudocodice per descrivere algoritmi Variabili Assegnamento

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

Crittografia a chiave pubblica

Crittografia 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 Costruzioni Vedremo alcune costruzioni basate

Dettagli

Ottimizzazione dei Sistemi Complessi

Ottimizzazione dei Sistemi Complessi 1 Giovedì 2 Marzo 2017 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR Pseudo-code del metodo Fermi-Metropolis Input: x 0, 0, min, maxit k 0, x x 0, 0 while k maxit and min do k k + 1, x x

Dettagli

Efficienza: esempi. Nella lezione precedente. Fondamenti di Informatica. Ferdinando Cicalese. ! Qualche problema computazionale

Efficienza: esempi. Nella lezione precedente. Fondamenti di Informatica. Ferdinando Cicalese. ! Qualche problema computazionale Efficienza: esempi Fondamenti di Informatica Ferdinando Cicalese Nella lezione precedente! Qualche problema computazionale " Trova min " Selection sort! Pseudocodice per descrivere algoritmi " Variabili

Dettagli

Corso di Perfezionamento

Corso di Perfezionamento Programmazione Dinamica 1 1 Dipartimento di Matematica e Informatica Università di Camerino 15 febbraio 2009 Tecniche di Programmazione Tecniche di progettazione di algoritmi: 1 Divide et Impera 2 Programmazione

Dettagli

Strutture dati per insiemi disgiunti

Strutture dati per insiemi disgiunti Strutture dati per insiemi disgiunti Servono a mantenere una collezione S = {S 1, S 2,..., S k } di insiemi disgiunti. Ogni insieme S i è individuato da un rappresentante che è un particolare elemento

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 a chiave pubblica

Crittografia 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

Dettagli

Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto

Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto 14 1. Dato un numero dire se è positivo o negativo 2. e se il numero fosse nullo? 3. Eseguire il prodotto tra

Dettagli

E necessaria la chiave segreta? RSA. Funzioni One-way con Trapdoor. Un secondo protocollo

E necessaria la chiave segreta? RSA. Funzioni One-way con Trapdoor. Un secondo protocollo E necessaria la chiave segreta? RSA Rivest, Shamir, Adelman A manda a B lo scrigno chiuso con il suo lucchetto. B chiude lo scrigno con un secondo lucchetto e lo rimanda ad A A toglie il suo lucchetto

Dettagli

Il problema dello zaino

Il problema dello zaino Il problema dello zaino Programmazione Dinamica Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino 25 gennaio 2010 Il problema dello zaino 0-1

Dettagli

M.C.D.(3522, 321) = 3 = ( 36) (395) 321

M.C.D.(3522, 321) = 3 = ( 36) (395) 321 Capitolo 1 Congruenze Lineari 1.1 Prerequisiti Identita di Bezout: M.C.D.(a, b) = αa + βb con α e β opportuni interi. In altre parole il M.C.D.(a, b) é combinazione lineare di a e b. Quando la combinazione

Dettagli

La crittografia a curve iperellittiche

La crittografia a curve iperellittiche Dott. Stefania Vanzetti Torino 2011. Crittografia a chiave pubblica: oltre RSA Università degli Studi di Torino 13 maggio 2011 1.LE CURVE IPERELLITTICHE Motivazioni al loro utilizzo Motivazioni al loro

Dettagli

Due algoritmi di ordinamento. basati sulla tecnica Divide et Impera: Mergesort e Quicksort

Due algoritmi di ordinamento. basati sulla tecnica Divide et Impera: Mergesort e Quicksort Due algoritmi di ordinamento basati sulla tecnica Divide et Impera: Mergesort e Quicksort (13 ottobre 2009, 2 novembre 2010) Ordinamento INPUT: un insieme di n oggetti a 1, a 2,, a n presi da un dominio

Dettagli

Esempio: somma di due numeri

Esempio: somma di due numeri Esempio: somma di due numeri Scrivere l algoritmo che esegue la somma di due numeri ESEMPIO: somma di due numeri

Dettagli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli ELEMENTI DI INFORMATICA L-B Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Testi di esami precedenti Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del

Dettagli

Cifratura a chiave pubblica Sicurezza nelle reti di TLC - Prof. Marco Listanti - A.A. 2008/2009

Cifratura a chiave pubblica Sicurezza nelle reti di TLC - Prof. Marco Listanti - A.A. 2008/2009 Cifratura a chiave pubblica Crittografia a chiave privata Chiave singola Crittografia simmetrica La stessa chiave è utilizzata sia per la cifratura che per la decifratura dei messaggi La chiave rappresenta

Dettagli

Esercizi vari. Alberto Montresor. 19 Agosto, 2014

Esercizi vari. Alberto Montresor. 19 Agosto, 2014 Esercizi vari Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle rispettive soluzioni

Dettagli

Corso di Crittografia Prof. Dario Catalano. Cifrari Asimmetrici: Il cifrario Paillier

Corso di Crittografia Prof. Dario Catalano. Cifrari Asimmetrici: Il cifrario Paillier Corso di Crittografia Prof. Dario Catalano Cifrari Asimmetrici: Il cifrario Paillier Cifrari asimmetrici n Nella scorsa lezione abbiamo parlato del cifrario El Gamal n Cifrario probabilistico, sicuro (contro

Dettagli

PROGRAMMAZIONE STRUTTURATA

PROGRAMMAZIONE STRUTTURATA PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:

Dettagli

Introduzione alla Crittografia

Introduzione alla Crittografia Liceo Scientifico N. Tron, 6 febbraio 2006 Riassunto Dato n > 1, la funzione di Eulero ϕ(n) è il numero di elementi < n e coprimi con n. Riassunto Dato n > 1, la funzione di Eulero ϕ(n) è il numero di

Dettagli

Università del Piemonte Orientale

Università del Piemonte Orientale Compito di Algebra del 13 Gennaio 2009 1) Trovare l ordine di [11] 112 in Z 112. Si dica poi per quali valori di k si ha [11] k 112 [34] 112 = [31] 112. Soluzione. L ordine di [11] 112 è 12. k 12 8. 2)

Dettagli

Esercizi di Algoritmi e Strutture Dati

Esercizi di Algoritmi e Strutture Dati Esercizi di Algoritmi e Strutture Dati Moreno Marzolla marzolla@cs.unibo.it Ultimo aggiornamento: 3 novembre 2010 1 Trova la somma/1 Scrivere un algoritmo che dati in input un array A[1... n] di n interi

Dettagli

Crittografia a chiave pubblica

Crittografia 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

Dettagli

Introduzione agli Algoritmi

Introduzione agli Algoritmi Introduzione agli Algoritmi Informatica Sara Zuppiroli A.A. 2012-2013 Informatica () Introduzione agli Algoritmi A.A. 2012-2013 1 / 25 Risoluzione dei problemi Dalla descrizione del problema all individuazione

Dettagli

Tempo e spazio di calcolo (continua)

Tempo e spazio di calcolo (continua) Tempo e spazio di calcolo (continua) I numeri di Fibonacci come case study (applichiamo ad un esempio completo le tecniche illustrate nei lucidi precedenti) Abbiamo introdotto tecniche per la correttezza

Dettagli

Problemi, istanze, soluzioni

Problemi, istanze, soluzioni lgoritmi e Strutture di Dati II 2 Problemi, istanze, soluzioni Un problema specifica una relazione matematica tra dati di ingresso e dati di uscita. Una istanza di un problema è formata dai dati di un

Dettagli

Esercizi Capitolo 2 - Analisi di Algoritmi

Esercizi Capitolo 2 - Analisi di Algoritmi Esercizi Capitolo - Analisi di Algoritmi Alberto Montresor 19 Agosto, 014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare

Dettagli

COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI

COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI Fondamenti di Informatica a.a.200.2005/06 Prof. V.L. Plantamura Dott.ssa A. Angelini Ω (grande omega) Diciamo che T(n) = Ω (f(n)), - leggiamo T(n) ha complessità

Dettagli

PARTE III MACCHINE A REGISTRI

PARTE III MACCHINE A REGISTRI PARTE III MACCHINE A REGISTRI Macchine a registri (RAM) Modelli di costo RAM e macchine di Turing Macchine a registri elementari 1 3.1 MACCHINE A REGISTRI (RAM: Random Access Machines) Introdotte da Shepherdson

Dettagli

Tempo e spazio di calcolo (continua)

Tempo e spazio di calcolo (continua) Tempo e spazio di calcolo (continua) I numeri di Fibonacci come case study (applichiamo ad un esempio completo le tecniche illustrate nei lucidi precedenti) Abbiamo introdotto tecniche per la correttezza

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi e Strutture Dati Informazioni sul corso + Un introduzione informale agli algoritmi Domenico Fabio Savo 1 Domenico Fabio Savo Email: savo@dis.uniroma1.it Web: http://www.dis.uniroma1.it/~savo

Dettagli

Studio degli algoritmi

Studio degli algoritmi COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI Fondamenti di Informatica a.a.2006/07 Prof. V.L. Plantamura Dott.ssa A. Angelini Studio degli algoritmi Dato un problema P, le problematiche riguardano: Sintesi

Dettagli

Un algoritmo realizza una relazione funzionale tra i valori di input e quelli di output

Un algoritmo realizza una relazione funzionale tra i valori di input e quelli di output Un algoritmo realizza una relazione funzionale tra i valori di input e quelli di output F = { (s, s ) } per ogni s esiste una e una sola coppia (s, s ). Esempio: un algoritmo che calcola il quadrato di

Dettagli

Dizionario. Marina Zanella Algoritmi e strutture dati Tabelle hash 1

Dizionario. Marina Zanella Algoritmi e strutture dati Tabelle hash 1 Dizionario Insieme dinamico che offre solo le seguenti operazioni: inserimento di un elemento dato cancellazione di un elemento dato ricerca di un elemento dato (verifica dell appartenenza di un elemento

Dettagli

Algoritmi di ricerca locale

Algoritmi di ricerca locale Algoritmi di ricerca locale Utilizzati in problemi di ottimizzazione Tengono traccia solo dello stato corrente e si spostano su stati adiacenti Necessario il concetto di vicinato di uno stato Non si tiene

Dettagli

Un po di teoria dei numeri

Un po di teoria dei numeri Un po di teoria dei numeri Applicazione alla crittografia RSA Christian Ferrari Liceo di Locarno Matematica Sommario 1 L aritmetica modulare di Z n Le congruenze L anello Z n Le potenze in Z n e algoritmo

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Heap Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino A.A. 2006/07 Heap Heap binari: definizione Un heap binario è una struttura dati composta

Dettagli

PARTE III MACCHINE A REGISTRI

PARTE III MACCHINE A REGISTRI PARTE III MACCHINE A REGISTRI Macchine a registri (RAM) Modelli di costo RAM e macchine di Turing Macchine a registri elementari 3.1 MACCHINE A REGISTRI 1 (RAM: Random Access Machines) Introdotte da Shepherdson

Dettagli

PARTE III MACCHINE A REGISTRI

PARTE III MACCHINE A REGISTRI PARTE III MACCHINE A REGISTRI Macchine a registri (RAM) Modelli di costo RAM e macchine di Turing Macchine a registri elementari 1 3.1 MACCHINE A REGISTRI (RAM: Random Access Machines) Introdotte da Shepherdson

Dettagli

Tempo e spazio di calcolo

Tempo e spazio di calcolo Tempo e spazio di calcolo Modelli di calcolo e metodologie di analisi F. Damiani - Alg. & Lab. 04/05 (da M. Zacchi - Alg. & Lab. 03/04) In quale modo stimiamo il tempo di calcolo? Possiamo considerare

Dettagli

Metodi Computazionali. Generazione di numeri pseudocasuali

Metodi Computazionali. Generazione di numeri pseudocasuali Metodi Computazionali Generazione di numeri pseudocasuali A.A. 2009/2010 Pseudo random numbers I più comuni generatori di numeri random determinano il prossimo numero random di una serie come una funzione

Dettagli

Esercizi di Algoritmi e Strutture Dati

Esercizi di Algoritmi e Strutture Dati Esercizi di Algoritmi e Strutture Dati Moreno Marzolla marzolla@cs.unibo.it Ultimo aggiornamento: 10 novembre 2010 1 La bandiera nazionale (problema 4.7 del libro di testo). Il problema della bandiera

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica CdL in Matematica e CdL in Matematica per le Applicazioni Prof. G. Nicosia Dipartimento di Matematica e Informatica Facoltà di Scienze MM.FF.NN. Università degli Studi di Catania A.

Dettagli

Note su quicksort per ASD 2010-11 (DRAFT)

Note su quicksort per ASD 2010-11 (DRAFT) Note su quicksort per ASD 010-11 (DRAFT) Nicola Rebagliati 7 dicembre 010 1 Quicksort L algoritmo di quicksort è uno degli algoritmi più veloci in pratica per il riordinamento basato su confronti. L idea

Dettagli

Potenze, gruppi ciclici e spazi quoziente

Potenze, gruppi ciclici e spazi quoziente Potenze, gruppi ciclici e spazi quoziente Gregorio D Agostino 7 Aprile 2017 Calcolo delle potenze Gruppi Quoziente Calcolo delle potenze In molte occasioni è necessario calcolare le potenze di un elemento

Dettagli

Dati 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 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

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi e Strutture Dati Soluzione esercizi di approfondimento Stefano Leucci stefano.leucci@univaq.it Una terza variante dell IS InsertionSort3 (A) 1. for k=1 to n-1 do 2. x = A[k+1] 3. j = ricerca_binaria(a[1,k],x)

Dettagli

Introduzione alla programmazione

Introduzione alla programmazione Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste

Dettagli

La crittografia moderna e la sua applicazione

La crittografia moderna e la sua applicazione La crittografia moderna e la sua applicazione Corso FSE per la GdF Crittosistemi basati sulle Curve Ellittiche Alberto Leporati Dipartimento di Informatica, Sistemistica e Comunicazione Università degli

Dettagli

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno UD 3.1b: Costrutti di un Algoritmo Dispense 1.2 I Costrutti di base 13 apr 2010

Dettagli

Funzioni hash. Funzioni Hash. Uso delle funzioni hash. Firme digitali e Funzioni hash. Funzione Hash. Firme digitali. Integrita dei dati

Funzioni hash. Funzioni Hash. Uso delle funzioni hash. Firme digitali e Funzioni hash. Funzione Hash. Firme digitali. Integrita dei dati Funzioni hash Funzioni Hash lunghezza arbitraria/finita Funzione Hash b bit Barbara Masucci Dipartimento di Informatica ed Applicazioni Università di Salerno masucci@dia.unisa.it http://www.dia.unisa.it/professori/masucci

Dettagli

Corso di Sicurezza nelle reti a.a. 2009/2010. Raccolta di alcuni quesiti del corso da 5CFU e prima parte del corso da 9CFU

Corso di Sicurezza nelle reti a.a. 2009/2010. Raccolta di alcuni quesiti del corso da 5CFU e prima parte del corso da 9CFU Università degli Studi di Parma - Facoltà di Ingegneria Corso di Sicurezza nelle reti a.a. 2009/2010 Raccolta di alcuni quesiti del corso da 5CFU e prima parte del corso da 9CFU 1) Si consideri un semplice

Dettagli

B-Tree. Struttura dati usata in applicazioni che necessitano di gestire insiemi di chiavi ordinate Una variante (B+-Tree) è diffusa in:

B-Tree. Struttura dati usata in applicazioni che necessitano di gestire insiemi di chiavi ordinate Una variante (B+-Tree) è diffusa in: B-Tree Prof. Rudolf Bayer Struttura dati usata in applicazioni che necessitano di gestire insiemi di chiavi ordinate Una variante (B+-Tree) è diffusa in: Filesystem: btrfs, NTFS, ReiserFS, NSS, XFS, JFS

Dettagli

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico Click to edit Algoritmo Master title style algoritmo: un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si arresta in un tempo finito

Dettagli

Esponenziali e logaritmi

Esponenziali e logaritmi Esponenziali e logaritmi Corso di accompagnamento in matematica Lezione 4 Sommario 1 La funzione esponenziale Proprietà Grafico 2 La funzione logaritmo Grafico Proprietà 3 Equazioni / disequazioni esponenziali

Dettagli

Esercizi Capitolo 14 - Algoritmi Greedy

Esercizi Capitolo 14 - Algoritmi Greedy Esercizi Capitolo 14 - Algoritmi Greedy Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare

Dettagli

Algoritmi e strutture dati

Algoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 4 Ordinamento Ordinamento Dato un insieme S di n oggetti presi da un dominio totalmente ordinato, ordinare S Esempi: ordinare alfabeticamente lista di nomi, o insieme

Dettagli

La Macchina RAM Shepherdson e Sturgis (1963)

La Macchina RAM Shepherdson e Sturgis (1963) La Macchina RAM Shepherdson e Sturgis (963) Nastro di ingresso.......... PROGRAM COUNTER Nastro di uscita PROGRAMMA ACCUMULATORE UNITA' ARITMETICA............... 2 3 4 M E M O R I A Formato delle Istruzioni

Dettagli

Valutazione di progressioni geometriche

Valutazione di progressioni geometriche Universitá degli Studi di Salerno Corso di Introduzione agli Algoritmi e Strutture Dati Prof. Ugo Vaccaro Anno Acc. 2015/16 p. 1/22 Valutazione di progressioni geometriche Somme finite: Sia S n = n i=0

Dettagli

Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione

Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi e Strutture Dati Capitolo 1 Un introduzione informale agli algoritmi Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Definizione informale di algoritmo Insieme di istruzioni, definite

Dettagli

Albero di Riscorsione

Albero di Riscorsione Albero di Riscorsione Albero di ricorsione Un albero di ricorsione è un modo di visualizzare cosa accade in un algoritmo divide et impera L etichetta della radice rappresenta il costo non ricorsivo della

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

Prof. Emanuele ANDRISANI

Prof. Emanuele ANDRISANI Potenze con esponente razionale Sia a > 0 e a 1. Abbiamo definito a x quando x N. Poniamo a 0 = 1 a x = a m n = n a m se x = m n Q, x > 0, m, n N a x = 1 a x se x Q, x > 0. È così definita la potenza a

Dettagli

Sicurezza nelle applicazioni multimediali: lezione 4, crittografia asimmetrica. Crittografia asimmetrica (a chiave pubblica)

Sicurezza nelle applicazioni multimediali: lezione 4, crittografia asimmetrica. Crittografia asimmetrica (a chiave pubblica) Crittografia asimmetrica (a chiave pubblica) Problemi legati alla crittografia simmetrica Il principale problema della crittografia simmetrica sta nella necessità di disporre di un canale sicuro per la

Dettagli

Formalismi per la descrizione di algoritmi

Formalismi per la descrizione di algoritmi Formalismi per la descrizione di algoritmi Per descrivere in passi di un algoritmo bisogna essere precisi e non ambigui Il linguaggio naturale degli esseri umani si presta a interpret non univoche Si usano

Dettagli

Corso di Crittografia Prof. Dario Catalano. Cifrari Asimmetrici (Terza Parte): RSA-OAEP e Cifrari basati sull identita

Corso di Crittografia Prof. Dario Catalano. Cifrari Asimmetrici (Terza Parte): RSA-OAEP e Cifrari basati sull identita Corso di Crittografia Prof. Dario Catalano Cifrari Asimmetrici (Terza Parte): RSA-OAEP e Cifrari basati sull identita Cifrari sicuri contro attacchi attivi Fino ad oggi abbiamo visto cifrari sicuri contro

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

Algoritmi e Strutture Dati. Capitolo 4 Ordinamento: Selection e Insertion Sort

Algoritmi e Strutture Dati. Capitolo 4 Ordinamento: Selection e Insertion Sort Algoritmi e Strutture Dati Capitolo 4 Ordinamento: Selection e Insertion Sort Ordinamento Dato un insieme S di n elementi presi da un dominio totalmente ordinato, ordinare S in ordine non crescente o non

Dettagli

Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione

Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione Esercizi II parte Esercizio 1 Discutere la correttezza di ciascuna delle seguenti affermazioni. Dimostrare formalmente la validità

Dettagli

Esercizi di Algoritmi e Strutture Dati

Esercizi di Algoritmi e Strutture Dati Esercizi di Algoritmi e Strutture Dati Moreno Marzolla http://www.moreno.marzolla.name/ Ultima Modifica: 7 ottobre 202 Copyright Portions of this work are Copyright 202, Moreno Marzolla. This work is licensed

Dettagli

Algoritmi di Ricerca. Esempi di programmi Java

Algoritmi di Ricerca. Esempi di programmi Java Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare

Dettagli

Cifrari a blocchi: RC2 RC2. Altri cifrari a blocchi RC2. Input/output round. RC2: operazioni. Corso di Sicurezza su reti Lezione del 22 marzo 2004

Cifrari a blocchi: RC2 RC2. Altri cifrari a blocchi RC2. Input/output round. RC2: operazioni. Corso di Sicurezza su reti Lezione del 22 marzo 2004 Cifrari a blocchi: RC2, Blowfish, RC5, RC6 Altri cifrari a blocchi RC2 [1989] IDEA (International Data Encryption Algorithm) [1990] Blowfish [1993] Barbara Masucci Dipartimento di Informatica ed Applicazioni

Dettagli

Markov Chains and Markov Chain Monte Carlo (MCMC)

Markov Chains and Markov Chain Monte Carlo (MCMC) Markov Chains and Markov Chain Monte Carlo (MCMC) Alberto Garfagnini Università degli studi di Padova December 11, 2013 Catene di Markov Discrete dato un valore x t del sistema ad un istante di tempo fissato,

Dettagli