GENERAZIONE DI NUMERI PSEUDOCASUALI

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "GENERAZIONE DI NUMERI PSEUDOCASUALI"

Transcript

1 Esame di laboratorio di crittografia Lorenzi Stefano matricola GENERAZIONE DI NUMERI PSEUDOCASUALI 1

2 Indice generale GENERAZIONE DI NUMERI CASUALI...3 Introduzione...3 ALGORITMI DI GENERAZIONE DI NUMERI PSEUDOCASUALI...5 Panoramica sugli algoritmi esistenti...5 Metodo della congruenza lineare...5 Ansi X Blum Blum Shub...8 LibMTPRNG...9 SOFTWARE...10 Presentazione del software...10 Attacchi agli algoritmi...13 Attacco all'algoritmo a congruenza lineare...13 Attacco all'algoritmo Ansi X Input-Base attacks...13 Crittoanalisi...14 Attacco a Blum Blum Shub...14 Bibliografia

3 GENERAZIONE DI NUMERI CASUALI Introduzione Un generatore di numeri casuali è uno strumento capace di fornire una sequenza di numeri casuali, ovvero non deterministici. Questi numeri sono idealmente infiniti e non sono influenzabili da alcun fattore esterno. Tali numeri ricoprono un ruolo importante nella crittografia, basta pensare agli schemi di autenticazione reciproca e nello scambio delle chiavi, dove per prevenire attacchi a replay dei pacchetti vengono utilizzati dei numeri nonce. Un altro esempio di tale importanza è la generazione della chiave pubblica nell'algoritmo RSA. Queste applicazioni danno origine a due requisiti distinti e non necessariamente compatibili: Casualità Imprevedibilità Casualità Un elaboratore non ha la possibilità di generare una sequenza casuale, bensì l unico modo è utilizzare opportuni algoritmi che generano numeri apparentemente casuali. Questi vengono, quindi, chiamati numeri pseudo-casuali, poiché venendo a conoscenza dell algoritmo e del seme (primo elemento) utilizzati è possibile determinare la sequenza che verrà generata. Tali algoritmi per essere considerati generatori casuali in senso statistico devono avere due caratteristiche: Distribuzione uniforme: Generando una quantità elevata di numeri, ognuno di essi deve apparire con una frequenza simile. Indipendenza: non deve essere possibile determinare l'ennesimo numero, guardando gli n-1 numeri. Se è semplice verificare se una sequenza segue o meno una distribuzione uniforme, non è altrettanto semplice dimostrarne l'indipendenza. Per definire l'indipendenza è possibile eseguire diversi test che aiutano ad avere una certa possibilità che i numeri generati siano indipendenti. Nell'ambito della crittografia, la progettazione di algoritmi di numeri che sembrano statisticamente casuali ricoprono un ruolo fondamentale: un esempio è la generazione di numeri primi nella creazione della chiave pubblica in RSA. Per la generazione di tali numeri, un approccio a forza bruta prevede la divisione del numero N per ogni interno dispari minore di N. Ma se N è un numero molto grande (nell'ordine di ), i tempi richiesti sarebbero troppo alti, e questa è una situazione piuttosto comune nella crittografia. 3

4 Per risolvere tale problema esistono algoritmi in grado di verificare se un numero è primo, ad esempio producendo una sequenza di numeri casuali ed eseguendo semplici calcoli. Se tale sequenza è sufficientemente lunga, sarà possibile determinare con una buona sicurezza se un numero è primo. Imprevedibilità Se da una parte è importante generare numeri apparentemente casuali, dall'altra è fondamentale che, data una sequenza, sia impossibile determinare i numeri successivi. In altre parole, ogni numero generato è statisticamente indipendente dai precedenti. Prendiamo come esempio due serie di 1 e 0. 0, 1, 0, 1, 0, 1, 0, 1, 0, , 1, 0, 1, 0, 1, 1, 0, 0, 1,... Apparentemente si è portati a definire la prima sequenza deterministica, poiché si riconosce una certa periodicità o un algoritmo capace di generarla; la seconda sembra essere più casuale e non si trova alcuna regola capace di formarla (quindi non è prevedibile). 4

5 ALGORITMI DI GENERAZIONE DI NUMERI PSEUDOCASUALI Panoramica sugli algoritmi esistenti Esistono diversi algoritmi per la generazione di numeri pseudo-casuali, che si differenziano per il tipo di algoritmo usato. Alcuni si basano su calcoli matematici, altri su sistemi crittografici. Nella quasi totalità, essi producono una sequenza di numeri interi uniformemente distribuiti tra 0 e un certo valore massimo, oppure di numeri reali tra 0 e 1. Questi ultimi si possono sempre ottenere dai primi semplicemente dividendo per il valore massimo, come ad esempio alcune librerie dei linguaggi di programmazione. Prima di essere usato, un generatore deve essere inizializzato assegnando un opportuno valore a un parametro numerico, o gruppo di parametri, che viene chiamato seme (in inglese seed). Ogni volta che si usa lo stesso seme, si otterrà sempre la stessa identica sequenza. Un'attenta analisi matematica è richiesta per assicurare che i numeri generati abbiano le necessarie proprietà statistiche. Robert R. Coveyou dell'oak Ridge National Laboratory ha intitolato un articolo: "La generazione dei numeri casuali è troppo importante per essere lasciata al caso." Metodo della congruenza lineare Tale metodo permette, dato un valore iniziale x0 detto seme, di ottenere una sequenza di numeri pseudo-casuali mediante l applicazione ripetuta della seguente formula: dove: a c m xi x i+1 = (a * x i + c) (MOD m) è un coefficiente intero positivo detto moltiplicatore è un coefficiente intero non negativo detto incremento è un coefficiente intero positivo detto modulo è il generico numero della sequenza Il metodo prende il nome dalla seguente definizione: due numeri x e y si dicono congrui modulo m, e scriveremo x y (mod m), se essi differiscono per un multiplo intero di m, ossia se x (mod m) y (mod m). Il metodo è detto moltiplicativo se c=0, misto se c 0. Se a=1, il metodo è detto additivo. Facciamo degli esempi: partiamo attribuendo le seguenti assegnazioni: 5

6 a=3 c=5 m=11 Se X 0 =3, la sequenza che si ottiene applicando la formula della congruenza modulare è [3, 3, 3, 3,], ossia una sequenza assolutamente non casuale. Le cose cambiano se scegliamo X 0 =1; in questo caso, la sequenza ottenuta è la seguente: 1, 8, 7, 4, 6, 1, 8, 7, 4, 6, 1,... Possiamo notare che i primi 5 numeri vengono riprodotti interamente. Infine, se X 0 =2, si ottiene: 2, 0, 5, 9, 10, 2, 0, 5, 9, 10, 2,...; Anche in questo caso otteniamo una sequenza di 5 numeri ripetuti. Se modifichiamo il valore di a assegnandogli il valore 12, e poniamo X 0 =1, ottieniamo: 1, 6, 0, 5, 10, 4, 9, 3, 8, 2, 7, 1, 6, 0, 5,... Essa è una sequenza di periodo 11 e cioè pari a m, e senza ripetizione di numeri. In questo ultimo esempio è interessante osservare che non solo generiamo 11 numeri tutti diversi e che copriamo l'intero periodo, ma la sequenza si ripete. Questo ci permette di poter generare molti numeri con una distribuzione uniforme. Quindi possiamo sostenere che questo algoritmo ha le seguenti proprietà: 1. l'algoritmo genera l'intero periodo di numeri, ossia prima di ripetersi ha generato tutti i numeri compresi tra 0 e m. 2. La sequenza generata è apparentemente casuale. 3. I calcoli sono eseguiti facilmente da un calcolatore. Come abbiamo potuto osservare, questo algoritmo funziona bene se sono stati scelti dei parametri opportuni. Per quanto riguarda l'implementazione di questo algoritmo su un elaboratore è importante impostare m al valore del massimo intero rappresentabile da quel processore, in modo tale che la sequenza generata abbia un periodo molto ampio, ricordando che il bit più significativo rappresenta il segno. Per processori a 32 bit, un valore utile di m è Per rappresentare tutto il periodo occorre però fare attenzione alla scelta di a e c. Si può dimostrare però che se m è primo e c = 0, allora vengono generati m-1 valori con la sola assenza del valore 0 ( è un numero primo). Purtroppo degli oltre 2 miliardi di numeri a disposizione, solo pochi possono essere scelti per il parametro a (un valore spesso utilizzato per a è 7 5 = 16807) Da tutto ciò si possono ricavare le seguenti osservazioni: La lunghezza massima raggiungibile dalla sequenza generata senza ripetizione 6

7 vale m Particolari scelte di a e c possono ridurre notevolmente la lunghezza utile della sequenza Il valore di X 0 (seme) può essere determinante dalla lunghezza della sequenza E' fondamentale che il periodo sia il più ampio possibile per rendere l'algoritmo più sicuro da eventuali attacchi. E allora necessario individuare dei criteri per assegnare ad a, c, m e al seme dei valori in modo che la sequenza riprodotta sia la più lunga possibile. Alcuni studiosi hanno approfondito tale aspetto e hanno individuato i seguenti criteri necessari e sufficienti che garantiscono l'ottimalità del metodo: 1. I parametri c e m devono essere coprimi cioè MCD(c,m) = 1 2. Ogni divisore primo di m deve dividere (a-1) 3. Se m è multiplo di 4, anche (a-1) lo deve essere. Questi studiosi hanno individuato quindi i seguenti valori nel rispetto dei suddetti criteri: KNUTH m = 2 31 ; a = int (π * 10 8 ) ; c = GOODMAN e MILLER m = ; a = 7 5 ; c = 0 GORDON m = 2 31 ; a = 5 13 ; c = 0 LEORMONT e LEWIS m = 2 31 ; a = ; c = 0 Ansi X9.17 E' uno dei generatori più forti dal punto di vista crittografico. Esso fa uso del Triple-Des in modalità EDE (Encrypt-Decrypt-Encrypt); come input ha un numero random e segreto (generalmente la data e ora del dell'elaboratore) di 64 bit. Infine, ha un valore intero m (random) come seme, e due chiavi per il triple-des. La robustezza di questo algoritmo sta nel fatto che è usato il triple-des per tre volte ed una chiave da 112 bit: questo equivale a nove crittografie DES. Quindi, un ipotetico attaccante dovrebbe violare una grossa quantità di dati. Tale algoritmo può essere rappresentato nel seguente modo R = E[E(T) XOR V] V = E[E(T) XOR R] dove E() = è il TripleDes DT i = Timestamp V i = Initialization Vector R i = random number to be generated 7

8 Blum Blum Shub Questo algoritmo, molto usato, è sostanzialmente un generatore di bit, ed ha dato forse la più forte prova di potenza crittografica. Il funzionamento è il seguente: 1. Bisogna generare due numeri p e q, numeri primi (molto grandi) diversi tra loro e ciascuno congruente a 3 modulo 4 (ossia p e q divisi per 4 avranno resto 3) 2. Si imposta n come p*q 3. Si seleziona il seme,ossia un numero random s, tale che 1<=s<=n-1. Inoltre s deve essere coprimo con n [ossia gcd(s,n)=1] 4. Quindi x 0 s 2 mod n. 5. X i = (X i-1 ) 2 mod n 6. B i = x i mod 2 7. Concatenando i bit ottenuti al punto precedente, si genera un numero della dimensione desidarata. Come per l'algoritmo a congruenza lineare questo algoritmo per essere sicuro deve avere un valore di n molto grande, nell'ordine di 1024 bits. 8

9 LibMTPRNG Matthew Davis e Sameer Niphadkar propongono un algoritmo senza seed, basato sul multithreading e sul non-determinismo. Il loro ragionamento si basa sul fatto che lo scheduling dei thread all'interno di un processo è abbastanza casuale, non esiste una priorità e lo stato di running può dipendere da una molteplicità di eventi. Questo non-determinismo è intensificato dai moderni calcolatori multiprocessore, dove più thread possono girare in parallel. In sostanza, non è prevedibile un modello di comportamento, a meno che lo scheduler non eserciti una grande influenza. Da queste premesse gli autori hanno scritto LibMTPRNG (Multithreaded Pseudo-Random Number Generator Library), una libreria statica sulla falsariga di rand(), che è definita nello standard C99. Si basa su un intero a 32 bit e si associano 2 thread per ogni bit; quando viene richiesto un numero pseudo-casuale, viene rilasciato un mutex su un oggetto condiviso e si fanno partire i primi 32 thread, garantendo un accesso atomico attraverso meccanismi di mutual exclusion. Ciascun thread manipola un solo bit e incrementa un contatore, il quale stabilirà la fine del processo e quindi la disponibilità del numero pseudo-casuale. Una descrizione più dettagliata si trova in un articolo tecnico pubblicato ial seguente indirizzo: articolo che costituisce, a conoscenza del sottoscritto, l'unica documentazione disponibile, oltre naturalmente ai sorgenti. I test di effettiva casualità sono stati condotti seguendo le indicazioni di Some Difficult-topass Tests of Randomness, su sistemi Linux e Solaris. I risultati non sono eccezionali, ma gli autori sostengono che indagando più a fondo i meccanismi paralleli e alcuni eventi, come le race condition, si potrà migliorare questa interessante idea. 9

10 SOFTWARE Presentazione del software Utilizzando gli algoritmi presentati in questo lavoro, ho implementato un software che genera grandi quantità di numeri pseudo casuali. Inoltre, visto che il software è stato implementato in Java, ho utilizzato anche il generatore nativo di numeri casuali di questo linguaggio, ed ho voluto vedere come tali algoritmi funzionano nella pratica. I parametri che ho voluto osservare sono: Se i numeri hanno una distribuzione uniforme Il tempo richiesto nella generazione di queste sequenze Come possiamo vedere dall'immagine, è possibile configurare dei parametri, in particolare: 10

11 Il numero minimo il numero massimo La quantità dei numeri da generare Inoltre per il metodo a congruenza lineare è possibile variare i parametri di input(modulo, moltiplicatore e incremento) E' evidente che qualora decidessi di impostare un range compreso tra 0 e , avrei sempre una distribuzione uniforme. Con range più piccoli, ad esempio tra 0 e 9, il numero verrebbe generato nel seguente modo: X = N mod 10, dove N è il numero generato dall'algoritmo scelto. Questo comporta che si ottiene una distribuzione uniforme solo dopo aver generato una lunga sequenza si numeri: in altre parole, più il range è grande, meno numeri occorrono per avere una distribuzione uniforme. Come possiamo vedere dalle immagini, su range piccoli occorrono almeno numeri per avere una distribuzione uniforme. Questo valore è più o meno uguale per tutti gli algoritmi provati. Figura A : 1000 numeri Figura B: Figura C: Il dato invece che cambia molto è quello inerente al tempo per generare questi numeri. Nella tabella seguente sono riportati i tempi necessari utilizzati dal mio calcolatore per la generazione di un milione di numeri: Congruenza lineare Ansi X9.17 Blum Blum Shub Java Random Java Security 98 millisecondi 32,5 secondi 13 secondi 134 millisecondi 2187 millisecondi È evidente come la complessità del calcolo incida sul tempo. Se da una parte il metodo della congruenza lineare è molto veloce, dall'altra è anche il meno sicuro: infatti, tale sistema dipende principalmente dal seme, e se un ipotetico attaccante volesse violare tale 11

12 algoritmo dovrebbe andare alla ricerca di un solo valore. Dall'altro lato, il metodo Ansi X9.17, seppur decisamente più lento, per venire attaccato necessita di conoscerne il seme, il timestamp, e 2 chiavi del triple des (ben 4 valori). Anche la differenza tra le 2 librerie Java è notevole (ricordo che la libreria Random è poca sicura, è basata sull'algoritmo a congruenza lineare con un seme di 48 bit). Il software è stato sviluppato con la versione 1.6 di Sun Microsystem ed utilzza le librerie JfreeChart reperibili all'indirizzo La figura sottostante riporta il diagramma UML 12

13 Attacchi agli algoritmi Attacco all'algoritmo a congruenza lineare Se l'attaccante conosce il valore di m e 3 numeri consecutivi, allora si può sferrare il seguente attacco: X i+1 (ax i + c) mod m X i+2 (ax i+1 + c) mod m X i+2 - X i+1 (ax i+1 + c - ax i - c) mod m a(x i+1 - X i ) mod m Vediamo un esempio con i seguenti dati: Quindi il parametro a sarà 5. Il parametro c = 1. m=9, X i = 3, X i+1 = 7, X i+2 = 0 (0-7) a(7-3) mod 9 4a 2 mod 9 5 * 3 + c 15 + c mod c mod 9 7 mod 9 Ora che siamo a conoscenza di tutti i parametri, sapremo che dopo i numeri 3, 7 e 0 ci sarà il numero 1, poi il 6, poi il 4,... Attacco all'algoritmo Ansi X9.17 Sono diversi i modi per attaccare questo algoritmo, ma tutti hanno una complessità maggiore rispetto all'attacco visto nel paragrafo precedente Input-Base attacks Un input-base attacks si verifica quando un utente malintenzionato è in grado di utilizzare la conoscenza o il controllo dell'input. Questa tipologia di attacco può essere ulteriormente suddivisa known-input, replayed-input, e chosen-input attacks. Un chosen-input attacks può essere pratico contro smart - card e altri sistemi di crittografia hardware. Replayed-input attacks sono simili ai precedenti, ma richiedono un meno sofisticacazioni di controllo da parte del attaccante. Known-input attacks può essere in ogni situazione in cui alcuni dei elementi di input, possono essere facilmente prevedibili, ad esempio se viene usato il timestamp di un pc in rete, i cui orari sono osservabili dall'attaccante. 13

14 Crittoanalisi Seppur generalmente viene usato il triple-des in modalità EDE, l'algoritmo di crittografia potrebbe anche essere diverso, quindi bisogna essere attenti a quale algoritmo si sceglie e quali conoscenze di crittoanalisi ci sono su quell'algoritmo. Attacco a Blum Blum Shub E' decisamente il più complesso da attaccare tra quelli visti, in particolare perché bisogna fattorizzare n per trovare i valori di p e q, ma come sappiamo la fattorizzazione è uno dei problemi non ancora risolti efficientemente dalla matematica (come la soluzione del logaritmo discreto), non a caso molti sistemi di cifratura si basano su tali presupposti (RSA, El-Gamal). Questo algoritmo però, è un generatore di bit e il numero random è la concatenazione dei bit generati precedentemente, questo comporta che anche qualora venga fattorizzato n, ciò non basta, bisogna infatti fattorizzare tante volte n quanti sono il numero di bit del numero random generato. 14

15 Bibliografia Critttografia e sicurezza delle reti William Stallings McGraw-Hill A. Menezes, P, van Oorschot, S. A. Vanstone - Handbook of Applied Cryptography - CRC Press 1996 (chap 5) Wikipedia 15

Random number generators

Random number generators Statistica computazionale Random number generators www.cash-cow.it Distribuito sotto licenza Creative Common, Share Alike Attribution 2 Indice I. Introduzione II. Processi fisici per la creazione di numeri

Dettagli

Robustezza crittografica della PEC

Robustezza crittografica della PEC Robustezza crittografica della PEC Prof. Massimiliano Sala Università degli Studi di Trento, Lab di Matematica Industriale e Crittografia Trento, 21 Novembre 2011 M. Sala (Università degli Studi di Trento)

Dettagli

metodi crittografici 2006-2007 maurizio pizzonia sicurezza dei sistemi informatici e delle reti

metodi 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

Dettagli

Un analisi dei problemi del WEP

Un analisi dei problemi del WEP ICT Security n.11 Aprile 2003 p. 1 di 6 Un analisi dei problemi del WEP In numeri precedenti di questa rivista sono già apparsi vari articoli che si sono occupati dei problemi di sicurezza del protocollo

Dettagli

La generazioni di numeri casuali. Fisica dell Informazione

La generazioni di numeri casuali. Fisica dell Informazione La generazioni di numeri casuali Fisica dell Informazione Cifrari composti Ottenuti dall applicazione sequenziale dei metodi precedentemente visti. Non sempre sono i migliori. Il più popolare tra i cifrari

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

Crittografia e sicurezza delle reti. Alberto Marchetti Spaccamela

Crittografia e sicurezza delle reti. Alberto Marchetti Spaccamela Crittografia e sicurezza delle reti Alberto Marchetti Spaccamela Crittografia e sicurezza Sicurezza e crittografia sono due concetti diversi Crittografia tratta il problema della segretezza delle informazioni

Dettagli

Cenno sui metodi Monte Carlo

Cenno sui metodi Monte Carlo Cenno sui metodi Monte Carlo I metodi probabilistici hanno una lunga storia ma solo dopo il 1944 è iniziato un loro studio sistematico che ha portato a notevoli sviluppi. Attualmente è stato valutato che

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

Altri cifrari a blocchi

Altri 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

Dettagli

LICEO STATALE ENRICO MEDI CON INDIRIZZI:

LICEO STATALE ENRICO MEDI CON INDIRIZZI: Verbale del primo incontro con gli studenti: Martedì 12 Novembre 2013, ore 13:45 16:45 Dopo una breve introduzione alle finalità del Progetto dal titolo Crittografia e crittanalisi, viene illustrato con

Dettagli

RC4 RC4. Davide Cerri. Davide Cerri CEFRIEL - Politecnico di Milano cerri@cefriel.it http://www.cefriel.it/~cerri/

RC4 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

Dettagli

DIARIO DEL CORSO DI ALGEBRA A.A. 2012/13 DOCENTE: ANDREA CARANTI

DIARIO DEL CORSO DI ALGEBRA A.A. 2012/13 DOCENTE: ANDREA CARANTI DIARIO DEL CORSO DI ALGEBRA A.A. 2012/13 DOCENTE: ANDREA CARANTI Lezione 1. lunedí 17 settembre 2011 (1 ora) Presentazione del corso. Esercizio: cosa succede a moltiplicare per 2, 3, 4,... il numero 052631578947368421,

Dettagli

Generazione di numeri casuali. Daniela Picin

Generazione di numeri casuali. Daniela Picin Daniela Picin Testi di consultazione Gentle I.E. Random Number Generation and Monte Carlo Methods, 2nd ed. Springer Verlag, 2005 Raj Jain - The Art of Computer Systems Performance Analysis: Techniques

Dettagli

! La crittoanalisi è invece la scienza che cerca di aggirare o superare le protezioni crittografiche, accedendo alle informazioni protette

! La crittoanalisi è invece la scienza che cerca di aggirare o superare le protezioni crittografiche, accedendo alle informazioni protette Crittografia Cenni Damiano Carra Università degli Studi di Verona Dipartimento di Informatica La crittografia! Scienza che si occupa di proteggere l informazione rendendola sicura, in modo che un utente

Dettagli

ALGORITMI CRITTOGRAFICI E FIRMA DIGITALE

ALGORITMI CRITTOGRAFICI E FIRMA DIGITALE ALGORITMI CRITTOGRAFICI E FIRMA DIGITALE LA SICUREZZA INFORMATICA...2 Classificazione dei meccanismi di sicurezza...3 TECNICHE DI SICUREZZA DEI DATI...4 LA CRITTOGRAFIA...4 Che cos è la Crittografia? E

Dettagli

Lezione 7 Sicurezza delle informazioni

Lezione 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

Dettagli

Il Concetto di Processo

Il Concetto di Processo Processi e Thread Il Concetto di Processo Il processo è un programma in esecuzione. È l unità di esecuzione all interno del S.O. Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono

Dettagli

Firma digitale e PEC: aspetti crittografici e sicurezza

Firma digitale e PEC: aspetti crittografici e sicurezza Firma digitale e PEC: aspetti crittografici e sicurezza Prof. Massimiliano Sala Università degli Studi di Trento, Lab di Matematica Industriale e Crittografia Trento, 17 Febbraio 2012 M. Sala (Università

Dettagli

Processi e thread. Dipartimento di Informatica Università di Verona, Italy. Sommario

Processi e thread. Dipartimento di Informatica Università di Verona, Italy. Sommario Processi e thread Dipartimento di Informatica Università di Verona, Italy Sommario Concetto di processo Stati di un processo Operazioni e relazioni tra processi Concetto di thread Gestione dei processi

Dettagli

Crittografia. Una Panoramica

Crittografia. Una Panoramica Crittografia Una Panoramica 1 Aspetti della Sicurezza Confidenzialità I dati ed iservizi non devono fornire informazioni sensibili a persone non autorizzate Integrità Deve essere evidente l eventuale manomissione

Dettagli

Implementazione dei monitor tramite semafori Attesa condizionale Sincronizzazione nei sistemi operativi reali Transazioni atomiche

Implementazione dei monitor tramite semafori Attesa condizionale Sincronizzazione nei sistemi operativi reali Transazioni atomiche Implementazione dei monitor tramite semafori Attesa condizionale Sincronizzazione nei sistemi operativi reali Transazioni atomiche 5.1 Implementazione dei monitor con i semafori Un monitor è un tipo di

Dettagli

Scheduling della CPU. Contenuti delle lezioni del 23 e del 26 Marzo 2009. Sequenza alternata di CPU burst e di I/O burst.

Scheduling della CPU. Contenuti delle lezioni del 23 e del 26 Marzo 2009. Sequenza alternata di CPU burst e di I/O burst. Contenuti delle lezioni del 23 e del 26 Marzo 2009 Scheduling della CPU Introduzione allo scheduling della CPU Descrizione di vari algoritmi di scheduling della CPU Analisi dei criteri di valutazione nella

Dettagli

Autenticazione Forte...e uso delle carte

Autenticazione Forte...e uso delle carte Autenticazione Forte...e uso delle carte ...autenticazione forte Challenge and Response (Sfida e risposta) Basato su chiavi segrete e su una funzione unidirezionale Lo scopo è stabilire indirettamente

Dettagli

Capitolo 8 La sicurezza nelle reti

Capitolo 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

Dettagli

Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link. Sicurezza ai livelli di rete e data link

Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link. Sicurezza ai livelli di rete e data link Sicurezza ai livelli di rete e data link Sicurezza a livello applicativo Ma l utilizzo di meccanismi di cifratura e autenticazione può essere introdotto anche ai livelli inferiori dello stack 2 Sicurezza

Dettagli

1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi

1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi 1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi Il processo E' un programma in esecuzione Tipi di processo Stati di un processo 1 indipendenti

Dettagli

I THREAD O PROCESSI LEGGERI Generalità

I THREAD O PROCESSI LEGGERI Generalità I THREAD O PROCESSI LEGGERI Generalità Thread: segmento di codice (funzione) Ogni processo ha un proprio SPAZIO DI INDIRIZZAMENTO (area di memoria) Tutti i thread genereti dallo stesso processo condividono

Dettagli

Crittografia in Java

Crittografia in Java Crittografia in Java di Oreste Delitala Progetto di Computer Security 2013-2014 Introduzione La crittografia è un particolare processo grazie al quale, per mezzo di sofisticati algoritmi, è possibile trasformare

Dettagli

Architetture Applicative

Architetture Applicative Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture

Dettagli

La crittografia a chiave pubblica per giocare e imparare: il gioco del codice RSA (parte prima)

La crittografia a chiave pubblica per giocare e imparare: il gioco del codice RSA (parte prima) La crittografia a chiave pubblica per giocare e imparare: il gioco del codice RSA (parte prima) Franco Eugeni, Raffaele Mascella, Daniela Tondini Premessa. Tra i saperi di interesse per tutte le età scolari

Dettagli

Fasi di creazione di un programma

Fasi di creazione di un programma Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma

Dettagli

Aspetti crittografici dell online banking

Aspetti crittografici dell online banking Aspetti crittografici dell online banking Prof. Massimiliano Sala Università degli Studi di Trento, Lab di Matematica Industriale e Crittografia Trento, 27 Febbraio 2012 M. Sala (Università degli Studi

Dettagli

Generatori di numeri pseudo-random. Giorgia Rossi Fabio Bottoni Giacomo Albanese

Generatori di numeri pseudo-random. Giorgia Rossi Fabio Bottoni Giacomo Albanese Generatori di numeri pseudo-random Giorgia Rossi Fabio Bottoni Giacomo Albanese Sommario 1) Introduzione ai generatori di numeri pseudocasuali (PRNG). 2) Il generatore Fortuna. 3) Approccio pratico: la

Dettagli

La matematica dell orologio

La matematica dell orologio La matematica dell orologio Un aritmetica inusuale: I numeri del nostro ambiente sono: 0,1,2,...,11 e corrispondono alle ore di un nostro orologio Le operazioni sono intese in questo modo: 1 somma: a+b

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

Diagramma delle durate dei CPU burst. Lo scheduler della CPU. Criteri di scheduling. Dispatcher

Diagramma delle durate dei CPU burst. Lo scheduler della CPU. Criteri di scheduling. Dispatcher Schedulazione della CPU Scheduling della CPU Introduzione allo scheduling della CPU Descrizione di vari algorimi di scheduling della CPU Analisi dei criteri di valutazione nella scelta di un algoritmo

Dettagli

Seminario Sull Algoritmo R.S.A.

Seminario Sull Algoritmo R.S.A. Alessandrini Cristian Sicurezza 2003 Introduzione Seminario Sull Algoritmo R.S.A. L algoritmo R.S.A. fa parte degli algoritmi definiti a chiave pubblica oppure asimmetrici. Fu progettato nel 1976/77 da

Dettagli

Corso PAS Anno 2014. ESEMPIO. Per n = 3, Z 3 contiene 3 elementi:

Corso PAS Anno 2014. ESEMPIO. Per n = 3, Z 3 contiene 3 elementi: Corso PAS Anno 2014 Matematica e didattica 3 Correzione esercizi 1. Definizione. Sia n un fissato intero maggiore di 1. Dati due interi a, b si dice che a è congruo a b modulo n, e si scrive a b (mod n),

Dettagli

Stimare il WCET Metodo classico e applicazione di un algoritmo genetico

Stimare il WCET Metodo classico e applicazione di un algoritmo genetico Stimare il WCET Metodo classico e applicazione di un algoritmo genetico Sommario Introduzione Definizione di WCET Importanza del WCET Panoramica dei classici metodi per calcolare il WCET [1] Utilizzo di

Dettagli

Progetto e-city Sperimentazione della rete WiFi urbana

Progetto e-city Sperimentazione della rete WiFi urbana Progetto e-city Sperimentazione della rete WiFi urbana Procedure di accreditamento e di utilizzazione Di seguito si riportano alcune informazioni necessarie per l'utilizzo della rete Wifi urbana. 1) Come

Dettagli

Crittografia e sicurezza delle reti. WEP: Wired Equivalent Privacy

Crittografia e sicurezza delle reti. WEP: Wired Equivalent Privacy Crittografia e sicurezza delle reti WEP: Wired Equivalent Privacy Stream Ciphers Inizia con una chiave segreta ( seed ) Genera uno stream di byte (Keystream): byte i dello stream è funzione della chiave

Dettagli

Digital Signature Standard. Corso di Sicurezza A.A. 2006/2007 Luca Palumbo

Digital Signature Standard. Corso di Sicurezza A.A. 2006/2007 Luca Palumbo Digital Signature Standard Corso di Sicurezza A.A. 2006/2007 Luca Palumbo La storia Digital Signature Standard (DSS) è uno standard che descrive un protocollo di crittografia a chiave pubblica per la firma

Dettagli

Numeri Primi e Applicazioni crittografiche

Numeri Primi e Applicazioni crittografiche Numeri Primi e Applicazioni crittografiche Andrea Previtali Dipartimento di Matematica e Fisica Università dell Insubria-Como http://www.unico.it/matematica/previtali andrea.previtali@uninsubria.it Corsi

Dettagli

DIARIO DEL CORSO DI ALGEBRA A.A. 2013/14 DOCENTE: ANDREA CARANTI

DIARIO DEL CORSO DI ALGEBRA A.A. 2013/14 DOCENTE: ANDREA CARANTI DIARIO DEL CORSO DI ALGEBRA A.A. 2013/14 DOCENTE: ANDREA CARANTI Lezione 1. lunedí 16 settembre 2013 (2 ore) Presentazione del corso. Esercizio: cosa succede a moltiplicare per 2, 3, 4,... il numero 142857,

Dettagli

L Ultimo Teorema di Fermat per n = 3 e n = 4

L Ultimo Teorema di Fermat per n = 3 e n = 4 Università degli Studi di Cagliari Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Matematica L Ultimo Teorema di Fermat per n = 3 e n = 4 Relatore Prof. Andrea Loi Tesi di Laurea

Dettagli

DIARIO DEL CORSO DI ALGEBRA A.A. 2015/16 DOCENTE: ANDREA CARANTI

DIARIO DEL CORSO DI ALGEBRA A.A. 2015/16 DOCENTE: ANDREA CARANTI DIARIO DEL CORSO DI ALGEBRA A.A. 2015/16 DOCENTE: ANDREA CARANTI Nota. L eventuale descrizione di lezioni non ancora svolte si deve intendere come una previsione/pianificazione. Lezione 1. martedí 15 settembre

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

Anelli a fattorizzazione unica. Domini ad ideali principali. Anelli Euclidei

Anelli a fattorizzazione unica. Domini ad ideali principali. Anelli Euclidei Capitolo 5: Anelli speciali: Introduzione: Gli anelli speciali sono anelli dotati di ulteriori proprietà molto forti che ne rendono agevole lo studio. Anelli euclidei Domini ad ideali principali Anelli

Dettagli

Un seminario sull analisi statistica di formiche virtuali

Un seminario sull analisi statistica di formiche virtuali Un seminario sull analisi statistica di formiche virtuali Dr. Andrea Fontana Universita di Pavia http://www.pv.infn.it/~fontana/formiche Numeri casuali Tests di casualita Distribuzione uniforme in C e

Dettagli

Progetto: Cutting Stock Bidimensionale

Progetto: Cutting Stock Bidimensionale Relazione 24 agosto 2010 v1.0 Relazione_progetto_cs2d_1.0.pdf Corso in Metodi e Modelli per l'ottimizzazione Combinatoria Progetto: Cutting Stock Bidimensionale Relazione Alberto Zatton Registro delle

Dettagli

Introduzione alla crittografia. Il crittosistema RSA e la sua sicurezza

Introduzione alla crittografia. Il crittosistema RSA e la sua sicurezza Introduzione alla crittografia. Il crittosistema RSA e la sua sicurezza Prof. Massimiliano Sala MINICORSI 2011. Crittografia a chiave pubblica: oltre RSA Università degli Studi di Trento, Lab di Matematica

Dettagli

Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora:

Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora: Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora: G.C.D.( a d, b d ) = 1 Sono state introdotte a lezione due definizioni importanti che ricordiamo: Definizione

Dettagli

RETI DI CALCOLATORI. Crittografia. La crittografia

RETI 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,

Dettagli

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.

Dettagli

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Il procedimento (chiamato algoritmo) è composto da passi elementari

Dettagli

Evoluzione dei sistemi operativi (5) Evoluzione dei sistemi operativi (4) Classificazione dei sistemi operativi

Evoluzione dei sistemi operativi (5) Evoluzione dei sistemi operativi (4) Classificazione dei sistemi operativi Evoluzione dei sistemi operativi (4) Sistemi multiprogrammati! più programmi sono caricati in contemporaneamente, e l elaborazione passa periodicamente dall uno all altro Evoluzione dei sistemi operativi

Dettagli

La crittografia a curve elittiche e applicazioni

La crittografia a curve elittiche e applicazioni La crittografia a curve elittiche e applicazioni Dott. Emanuele Bellini Torino 2011. Crittografia a chiave pubblica: oltre RSA Università degli Studi di Trento, Lab di Matematica Industriale e Crittografia

Dettagli

Casualità e numeri casuali

Casualità e numeri casuali Casualità e numeri casuali Esame di Matematica del discreto Andrea Nardelli 733637 Elena Scarpelli 736471 Indice 1 Introduzione 3 2 Utilizzi dei numeri casuali 5 3 Metodi per calcolare i numeri casuali

Dettagli

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Dettagli

2 - DATI SICURI. 2.1 Algoritmi e protocolli

2 - DATI SICURI. 2.1 Algoritmi e protocolli 2 - DATI SICURI 2.1 Algoritmi e protocolli Il Canale insicuro costituisce una vulnerabilità difesa nel seguente modo: sorgente e destinazione attribuiscono alle comunicazioni una rappresentazione nota

Dettagli

Sicurezza nei Sistemi Informativi

Sicurezza nei Sistemi Informativi Laurea Specialistica in Ingegneria Informatica A.A. 2009/2010 Sicurezza nei Sistemi Informativi Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni

Dettagli

Sequence Alignment Algorithms

Sequence Alignment Algorithms Sequence Alignment Algorithms Algoritmi per l Allineamento di Sequenze Relatore: Prof. Giancarlo Mauri Correlatore: Prof. Gianluca Della Vedova Tesi di Laurea di: Mauro Baluda Matricola 038208 Part of

Dettagli

Parte prima Cifratura simmetrica 27 Introduzione alla Parte prima 27

Parte prima Cifratura simmetrica 27 Introduzione alla Parte prima 27 Indice Prefazione XV Capitolo 0 Guida alla lettura 1 0.1 Contenuti generali del volume 1 0.2 Struttura generale 2 0.3 Risorse su Internet e sul Web 3 Siti Web per questo volume 3 Altri siti Web 4 I gruppi

Dettagli

Numeri casuali o pseudocasuali. I generatori di numeri casuali (RNGs) risultano componente fondamentale per diverse applicazioni:

Numeri casuali o pseudocasuali. I generatori di numeri casuali (RNGs) risultano componente fondamentale per diverse applicazioni: Numeri casuali o pseudocasuali I generatori di numeri casuali (RNGs) risultano componente fondamentale per diverse applicazioni: - Esperimenti statistici analisi di algoritmi - Simulazione di sistemi stocastici

Dettagli

Il sistema di crittografia NTRU

Il sistema di crittografia NTRU Il sistema di crittografia NTRU Stefano Vaccari 2148 061247 Relazione per il corso di Sistemi Informativi II Tecnologie per la Sicurezza Luglio 2003 1 Crittografia a chiave pubblica Tra i sistemi di protezione

Dettagli

Data Encryption Standard. Alessandro Ballini Silvio Donnini Roberto Pariset Alberto Pettini

Data Encryption Standard. Alessandro Ballini Silvio Donnini Roberto Pariset Alberto Pettini Data Encryption Standard Alessandro Ballini Silvio Donnini Roberto Pariset Alberto Pettini DES, breve storia 1973: Il National Bureau of Standards (NBS) pubblica un bando in cui richiede un algoritmo di

Dettagli

ALGORITMI CRITTOGRAFICI E FIRMA DIGITALE

ALGORITMI CRITTOGRAFICI E FIRMA DIGITALE ALGORITMI CRITTOGRAFICI E FIRMA DIGITALE LA SICUREZZA INFORMATICA...2 Classificazione dei meccanismi di sicurezza...3 TECNICHE DI SICUREZZA DEI DATI...4 LA CRITTOGRAFIA...4 Che cos è la Crittografia? E

Dettagli

LA NUMERAZIONE BINARIA

LA NUMERAZIONE BINARIA LA NUMERAZIONE BINARIA 5 I SISTEMI DI NUMERAZIONE Fin dalla preistoria l uomo ha avuto la necessità di fare calcoli, utilizzando svariati tipi di dispositivi: manuali (mani, bastoncini, sassi, abaco),

Dettagli

Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo

Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo Logica Numerica Approfondimento E. Barbuto Minimo Comune Multiplo e Massimo Comun Divisore Il concetto di multiplo e di divisore Considerato un numero intero n, se esso viene moltiplicato per un numero

Dettagli

La Sicurezza delle Reti. La Sicurezza delle Reti. Il software delle reti. Sistemi e tecnologie per la multimedialità e telematica.

La Sicurezza delle Reti. La Sicurezza delle Reti. Il software delle reti. Sistemi e tecnologie per la multimedialità e telematica. Sistemi e tecnologie per la multimedialità e telematica Fabio Burroni Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena burronif@unisi unisi.itit La Sicurezza delle Reti La presentazione

Dettagli

SISTEMI E RETI. Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB.

SISTEMI E RETI. Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB. SISTEMI E RETI Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB. CRITTOGRAFIA La crittografia è una tecnica che si occupa della scrittura segreta in codice o cifrata

Dettagli

Algoritmi di scheduling - Parte 2

Algoritmi di scheduling - Parte 2 Algoritmi di scheduling - Parte 2 Automazione I 12/11/2013 Vincenzo Suraci STRUTTURA DEL NUCLEO TEMATICO ALGORITMO DEADLINE MONOTONIC PRIORITY ORDERING (DMPO) ALGORITMO TIMELINE SCHEDULING (TS) SCHEDULING

Dettagli

Randomizzazione di chiavi crittografiche. mediante funzioni hash: un prototipo

Randomizzazione di chiavi crittografiche. mediante funzioni hash: un prototipo CORSO DI LAUREA MAGISTRALE IN INFORMATICA Randomizzazione di chiavi crittografiche mediante funzioni hash: un prototipo Relatore: Correlatore: Prof. Astasia C. Pagnoni Prof. Andrea Visconti Tesi di Laurea

Dettagli

SEQUENZE DI NUMERI PSEUDO- CASUALI

SEQUENZE DI NUMERI PSEUDO- CASUALI SEQUENZE DI NUMERI PSEUDO- CASUALI Test Statistici sulle Sequenze Pseudo Casuali E di fondamentale importanza per una buona riuscita della SIMULAZIONE ( affidabilità dei risultati), che le sequenze pseudo

Dettagli

Principi di crittografia Integrità dei messaggi Protocolli di autenticazione Sicurezza nella pila di protocolli di Internet: PGP, SSL, IPSec

Principi 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

Dettagli

Esempi di problemi di 1 grado risolti Esercizio 1 Problema: Trovare un numero che sommato ai suoi 3/2 dia 50

Esempi di problemi di 1 grado risolti Esercizio 1 Problema: Trovare un numero che sommato ai suoi 3/2 dia 50 http://einmatman1c.blog.excite.it/permalink/54003 Esempi di problemi di 1 grado risolti Esercizio 1 Trovare un numero che sommato ai suoi 3/2 dia 50 Trovare un numero e' la prima frase e significa che

Dettagli

Integrità dei messaggi. Funzioni di Hash e codici MAC. Message digest. Message digest e funzioni di hash

Integrità 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!

Dettagli

Firma digitale aspetti tecnologici

Firma digitale aspetti tecnologici Firma digitale aspetti tecnologici Gianni Bianchini Firenze Linux User Group giannibi@firenze.linux.it Firenze, Palazzo Vecchio, 14 Giugno 2003 Copyright c 2003 Gianni Bianchini La copia letterale integrale

Dettagli

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 1.1 Che cos è un algoritmo CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 Gli algoritmi sono metodi per la soluzione di problemi. Possiamo caratterizzare un problema mediante i dati di cui si dispone all inizio

Dettagli

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico Processo di risoluzione di un problema ingegneristico 1. Capire l essenza del problema. 2. Raccogliere le informazioni disponibili. Alcune potrebbero essere disponibili in un secondo momento. 3. Determinare

Dettagli

Seminario Teoria dei Codici - Elezioni elettroniche

Seminario Teoria dei Codici - Elezioni elettroniche Seminario Teoria dei Codici - Elezioni elettroniche Daniele Venzano (venza@iol.it) 10 settembre 2003 Sommario Il seminario è diviso in due parti, nella prima verranno esposti alcuni protocolli di complessità

Dettagli

La programmazione. Sviluppo del software

La programmazione. Sviluppo del software La programmazione problema Sviluppo del software idea (soluzione informale) algoritmo (soluzione formale) programma (traduzione dell algoritmo in una forma comprensibile da un elaboratore elettronico)

Dettagli

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

PROVA INTRACORSO TRACCIA A Pagina 1 di 6 PROVA INTRACORSO DI ELEMENTI DI INFORMATICA MATRICOLA COGNOME E NOME TRACCIA A DOMANDA 1 Calcolare il risultato delle seguenti operazioni binarie tra numeri interi con segno rappresentati in complemento

Dettagli

Crittografia e sicurezza informatica. Sistema di voto elettronico

Crittografia e sicurezza informatica. Sistema di voto elettronico Crittografia e sicurezza informatica Sistema di voto elettronico Deliano Perfetti Gabriele Paone Anno 2003 1 indice 1. Specifiche 2 2. Scelte progettuali 2 Schema Server Authority Server di Voto Client

Dettagli

FASCI DI RETTE. scrivere la retta in forma esplicita: 2y = 3x + 4 y = 3 2 x 2. scrivere l equazione del fascio di rette:

FASCI DI RETTE. scrivere la retta in forma esplicita: 2y = 3x + 4 y = 3 2 x 2. scrivere l equazione del fascio di rette: FASCI DI RETTE DEFINIZIONE: Si chiama fascio di rette parallele o fascio improprio [erroneamente data la somiglianza effettiva con un fascio!] un insieme di rette che hanno tutte lo stesso coefficiente

Dettagli

Insiemi con un operazione

Insiemi con un operazione Capitolo 3 Insiemi con un operazione 3.1 Gruppoidi, semigruppi, monoidi Definizione 309 Un operazione binaria su un insieme G è una funzione: f : G G G Quindi, un operazione binaria f su un insieme G è

Dettagli

INFORMATICA E COMPUTER : INTRODUZIONE

INFORMATICA E COMPUTER : INTRODUZIONE INFORMATICA E COMPUTER : INTRODUZIONE! Informatica: dal francese, informatique informat(ion) (automat)ique [termine coniato dall'ingegnere francese Philippe Dreyfus nel 1962] è la scienza che studia i

Dettagli

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO SISTEMI DI NUMERAZIONE DECIMALE E BINARIO Il sistema di numerazione decimale (o base dieci) possiede dieci possibili valori (0, 1, 2, 3, 4, 5, 6, 7, 8 o 9) utili a rappresentare i numeri. Le cifre possiedono

Dettagli

Obiettivi dell Analisi Numerica. Avviso. Risoluzione numerica di un modello. Analisi Numerica e Calcolo Scientifico

Obiettivi dell Analisi Numerica. Avviso. Risoluzione numerica di un modello. Analisi Numerica e Calcolo Scientifico M. Annunziato, DIPMAT Università di Salerno - Queste note non sono esaustive ai fini del corso p. 3/43 M. Annunziato, DIPMAT Università di Salerno - Queste note non sono esaustive ai fini del corso p.

Dettagli

LAVORO ESTIVO DI INFORMATICA CLASSE 2O

LAVORO ESTIVO DI INFORMATICA CLASSE 2O LAVORO ESTIVO DI INFORMATICA CLASSE 2O PER COLORO CHE HANNO AVUTO LA SOSPENSIONE DEL GIUDIZIO, GLI ESERCIZI SVOLTI DEVONO ESSERE CONSEGNATI TASSATIVAMENTE IL GIORNO DELL'ESAME SCRITTO. A CHI È STATO ASSEGNATO

Dettagli

Parte 3. Rango e teorema di Rouché-Capelli

Parte 3. Rango e teorema di Rouché-Capelli Parte 3. Rango e teorema di Rouché-Capelli A. Savo Appunti del Corso di Geometria 203-4 Indice delle sezioni Rango di una matrice, 2 Teorema degli orlati, 3 3 Calcolo con l algoritmo di Gauss, 6 4 Matrici

Dettagli

Complessità computazionale

Complessità computazionale 1 Introduzione alla complessità computazionale Un problema spesso può essere risolto utilizzando algoritmi diversi Come scegliere il migliore? La bontà o efficienza di un algoritmo si misura in base alla

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Programmazione L attività con cui si predispone l elaboratore ad eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un problema Dati Input

Dettagli

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente. Algoritmo Formalmente, per algoritmo si intende una successione finita di passi o istruzioni che definiscono le operazioni da eseguire su dei dati (=istanza del problema): in generale un algoritmo è definito

Dettagli

la "macchina" universale di Turing

la macchina universale di Turing la "macchina" universale di Turing Nel 1854, il matematico britannico George Boole (1815-1864), elaborò una matematica algebrica che da lui prese il nome. Nell'algebra booleana le procedure di calcolo

Dettagli

Analysis of the Logjam attack

Analysis of the Logjam attack Technical Report on Analysis of the Logjam attack (IEIIT-CNR-150608) Luca Patti, Ernesto Schiavo, Enrico Cambiaso, Gianluca Papaleo, Paolo Farina, Maurizio Aiello (Network Security Group) IEIIT-CNR Istituto

Dettagli

Fondamenti di Informatica 1 Ingegneria Gestionale

Fondamenti di Informatica 1 Ingegneria Gestionale Fondamenti di Informatica 1 Ingegneria Gestionale FOI1BIS_GES CORSO COORDINATO CON FOI1_GES PROF. V.GRASSI obiettivo: introduzione a conoscenze di base dell informatica informatica come metodologia di

Dettagli

Qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq

Qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq Qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq Generatori di numeri pseudorandom wertyuiopasdfghjklzxcvbnmqwertyui

Dettagli

PRIMAVERA IN BICOCCA

PRIMAVERA IN BICOCCA PRIMAVERA IN BICOCCA 1. Numeri primi e fattorizzazione Una delle applicazioni più rilevanti della Teoria dei Numeri si ha nel campo della crittografia. In queste note vogliamo delineare, in particolare,

Dettagli