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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Attacchi a reti WEP. 9 Maggio 2011. Università degli Studi di Udine Dipartimento di Ingegneria Gestionale, Elettrica e Meccanica

Attacchi a reti WEP. 9 Maggio 2011. Università degli Studi di Udine Dipartimento di Ingegneria Gestionale, Elettrica e Meccanica Attacchi a reti WEP Università degli Studi di Udine Dipartimento di Ingegneria Gestionale, Elettrica e Meccanica 9 Maggio 2011 Scaletta 1 Prerequisiti RC4 Initialization vectors 2 Introduzione Uso di RC4

Dettagli

Capitolo 1 - Numerazione binaria

Capitolo 1 - Numerazione binaria Appunti di Elettronica Digitale Capitolo - Numerazione binaria Numerazione binaria... Addizione binaria... Sottrazione binaria... Moltiplicazione binaria... Divisione binaria... Complementazione... Numeri

Dettagli

A.A. 2010/2011 Corso di Laurea Magistrale in Matematica Teoria dell Informazione 1 Timing Attack ad RSA

A.A. 2010/2011 Corso di Laurea Magistrale in Matematica Teoria dell Informazione 1 Timing Attack ad RSA AA 010/011 Corso di Laurea Magistrale in Matematica Teoria dell Informazione 1 Timing Attack ad RSA Marco Calderini 15 maggio 011 Sommario In questo breve e semplice articolo descriveremo il timing attack

Dettagli

Generatori di numeri pseudo-casuali

Generatori di numeri pseudo-casuali Introduzione ai Generatori di numeri pseudo-casuali Nicola Gigante 26 luglio 2013 Introduzione Life s most important questions are, for the most part, nothing but probability problems. Pierre-Simon Laplace

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

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

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

Capire la crittografia white-box

Capire la crittografia white-box Capire la crittografia white-box whitepaper I sistemi crittografici tradizionali non sono in grado di offrire una protezione completa contro tutti i possibili tipi di aggressione atti a sfruttare le loro

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

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

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

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

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo I Thread 1 Consideriamo due processi che devono lavorare sugli stessi dati. Come possono fare, se ogni processo ha la propria area dati (ossia, gli spazi di indirizzamento dei due processi sono separati)?

Dettagli

GENERAZIONE PROCESSO FIGLIO (padre attende terminazione del figlio)

GENERAZIONE PROCESSO FIGLIO (padre attende terminazione del figlio) GENERAZIONE PROCESSO FIGLIO (padre attende terminazione del figlio) #include void main (int argc, char *argv[]) { pid = fork(); /* genera nuovo processo */ if (pid < 0) { /* errore */ fprintf(stderr,

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

Qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq

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

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

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

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

WPA, generalità e principi di funzionamento.

WPA, generalità e principi di funzionamento. WPA, generalità e principi di funzionamento. Baglieri Eugenio Matricola: A40/000047 Sicurezza dei Sistemi Informatici 2 C.d.S in Informatica Applicata Facoltà di scienze MM.FF.NN. Università degli Studi

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

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

Scheduling. Dipartimento di Informatica Università di Verona, Italy. Sommario

Scheduling. Dipartimento di Informatica Università di Verona, Italy. Sommario Scheduling Dipartimento di Informatica Università di Verona, Italy Sommario Concetto di scheduling Tipi di scheduling Lungo termine Breve termine (scheduling della CPU) Medio termine Scheduling della CPU

Dettagli

Informatica Generale (Prof. Luca A. Ludovico) Presentazione 5.1 Operazioni aritmetiche nel sistema binario

Informatica Generale (Prof. Luca A. Ludovico) Presentazione 5.1 Operazioni aritmetiche nel sistema binario Operazioni aritmetiche nel sistema binario Operazioni aritmetiche basilari Le regole da imparare nel caso di una base b sono relative alle b 2 possibili combinazioni delle cifre da 0 a b- 1. Ad esempio,

Dettagli

Sistemi Operativi. Processi GESTIONE DEI PROCESSI. Concetto di Processo. Scheduling di Processi. Operazioni su Processi. Processi Cooperanti

Sistemi Operativi. Processi GESTIONE DEI PROCESSI. Concetto di Processo. Scheduling di Processi. Operazioni su Processi. Processi Cooperanti GESTIONE DEI PROCESSI 4.1 Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in diversi S.O. 4.2 Concetto di

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

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

Problematiche operative dei tool per firma digitale. D Amico Stefano Security WorkShop Università di Catania

Problematiche operative dei tool per firma digitale. D Amico Stefano Security WorkShop Università di Catania Problematiche operative dei tool per firma digitale D Amico Stefano Security WorkShop Università di Catania Firma Digitale con Crittografia Asimmetrica Problema dell identit identità L utilizzo dell algoritmo

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

Le dimensioni degli Studi di settore

Le dimensioni degli Studi di settore Le dimensioni degli Studi di settore Vincenzo Adamo Luglio 2008 Introduzione In queste pagine vengono presentati alcuni aspetti legati ai diversi punti di vista che caratterizzano uno strumento così complesso

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

Un'introduzione alla crittografia Open Source

Un'introduzione alla crittografia Open Source Un'introduzione alla crittografia Open Source di Enrico Zimuel (cerin0@blackhats.it) Smau 2002 Ethical Hacker's Speech II 26 Ottobre 2002 (www.blackhats.it) Blackhats italia 2002 1 Copyright Questo insieme

Dettagli

Sommario. Introduzione alla Sicurezza Web

Sommario. Introduzione alla Sicurezza Web Sommario Introduzione alla Sicurezza Web Considerazioni generali IPSec Secure Socket Layer (SSL) e Transport Layer Security (TLS) Secure Electronic Transaction (SET) Introduzione alla crittografia Introduzione

Dettagli

Crittografia e Sicurezza Informatica

Crittografia e Sicurezza Informatica Corso di Sistemi di Elaborazione delle Inforazioni Corso di Laurea in Infermieristica Corso di Laurea in Tecniche di Radiologia Medica, per Immagini e Radioterapia Università degli Studi di Messina Anno

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

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

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

E solo questione di metodo:

E solo questione di metodo: E solo questione di metodo: problemi e algoritmi di matematica elementare Progetto Lauree Scientifiche Scuola Estiva di Matematica (4092015) Stefano Finzi Vita Dipartimento di Matematica - Sapienza Università

Dettagli

Approfondimento di Marco Mulas

Approfondimento di Marco Mulas Approfondimento di Marco Mulas Affidabilità: TCP o UDP Throughput: banda a disposizione Temporizzazione: realtime o piccoli ritardi Sicurezza Riservatezza dei dati Integrità dei dati Autenticazione di

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

RETI DI CALCOLATORI. Che cosa sono gli IS e gli ES?

RETI DI CALCOLATORI. Che cosa sono gli IS e gli ES? RETI DI CALCOLATORI Domande di riepilogo Quinta Esercitazione Che cosa sono gli IS e gli ES? Il termine Intermediate System (IS) è un termine OSI che indica un nodo (tipicamente un router) che ha capacità

Dettagli

Un messaggio cifrato è convertito in una stringa ASCII usando la conversione Radix-64 per fornire trasparenza alle applicazioni e-mail.

Un messaggio cifrato è convertito in una stringa ASCII usando la conversione Radix-64 per fornire trasparenza alle applicazioni e-mail. Pretty Good Privacy A cura di: Sabarese Maria & Scarano Gerardo Corso di Sicurezza su reti 1999/2000 Prof. Alfredo De Santis PGP: cos è È un software di crittografia per la posta elettronica e la protezione

Dettagli

Crittografia e sicurezza delle reti

Crittografia 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

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Il software Dipartimento di Ingegneria dell Informazione Universitàdegli Studi di Parma SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono

Dettagli

PROGETTO E SVILUPPO DI UNA PKI

PROGETTO E SVILUPPO DI UNA PKI UNIVERSITA POLITECNICA DELLE MARCHE Facoltà di INGEGNERIA Corso di Laurea in Ingegneria Elettronica Dipartimento di Elettronica, Intelligenza Artificiale e Telecomunicazioni PROGETTO E SVILUPPO DI UNA

Dettagli

Scambio delle chiavi. mercoledì 7 dicembre 2011

Scambio delle chiavi. mercoledì 7 dicembre 2011 Scambio delle chiavi 1 mercoledì 7 dicembre 2011 Distribuzione della chiave Dati due terminali A e B, si possono avere varie alternative per la distribuzione delle chiavi. 1. A sceglie una chiave e la

Dettagli

I numeri semiprimi e i numeri RSA. come loro sottoinsieme

I numeri semiprimi e i numeri RSA. come loro sottoinsieme I numeri semiprimi e i numeri RSA come loro sottoinsieme Francesco Di Noto, Michele Nardelli Abstract In this paper we show some connections between semi-primes numbers and RSA numbers. Riassunto In questo

Dettagli

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore Il processore Architettura dell elaboratore Il processore La esegue istruzioni in linguaggio macchina In modo sequenziale e ciclico (ciclo macchina o ciclo ) Effettuando operazioni di lettura delle istruzioni

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

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1 DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica

Dettagli

GESTIONE DEI PROCESSI

GESTIONE DEI PROCESSI Sistemi Operativi GESTIONE DEI PROCESSI Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in Java Concetto

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

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

Autenticazione ed integrità dei dati Integrità dei messaggi

Autenticazione ed integrità dei dati Integrità dei messaggi Pagina 1 di 15 Autenticazione ed integrità dei dati Integrità dei messaggi Una delle proprietà di sicurezza che desideriamo avere all'interno di un sistema informatico, è quella che riguarda l'integrità

Dettagli

Concetti di base. Scheduling della CPU. Diagramma della durata dei CPU-burst. Sequenza Alternata di CPU Burst e I/O Burst

Concetti di base. Scheduling della CPU. Diagramma della durata dei CPU-burst. Sequenza Alternata di CPU Burst e I/O Burst Impossibile visualizzare l'immagine. Scheduling della CPU Concetti di base La multiprogrammazione cerca di ottenere la massima utilizzazione della CPU. L esecuzione di un processo consiste in cicli d esecuzione

Dettagli

Agenzia delle Dogane e dei Monopoli

Agenzia delle Dogane e dei Monopoli PAG. 1 DI 39 Agenzia delle Dogane e dei Monopoli Allegato Tecnico per le Scommesse su Eventi Simulati PAG. 2 DI 39 INDICE PREMESSA 3 INTRODUZIONE 4 1. SISTEMA DI GIOCO VIRTUALE 6 1.1 PIATTAFORMA DI GIOCO

Dettagli

set 19 9.19 numeri la cui somma delle cifre dà un multiplo di tre sono divisibili per tre.

set 19 9.19 numeri la cui somma delle cifre dà un multiplo di tre sono divisibili per tre. MULTIPLO: IL NUMERO CHE CONTIENE UN ALTRO NUMERO UN CERTO NUMERO DI VOLTE ESATTAMENTE. LI ( I MULTIPLI) OTTENGO MOLTIPLICANDO UN NUMERO PER QUALSIASI ALTRO NUMERO: IL PRODOTTO é IL MULTIPLO. IL MULTIPLO

Dettagli

Introduzione alla Sicurezza Informatica

Introduzione alla Sicurezza Informatica Introduzione alla Sicurezza Informatica Prof. Francesco Buccafurri Università Mediterranea di Reggio Calabria Crescita di Internet 0.000 570.937.7 0.000 439.286.364 489.774.269 0.000 0.000 233.101.481

Dettagli

Sicurezza nei protocolli wireless parte II

Sicurezza nei protocolli wireless parte II Sicurezza nei protocolli wireless parte II WEP e WPA Di Alessio Guadagnini Corso di Laurea Scienze dell'informazione A.A. 2007/2008 WEP WEP è acronimo di Wired Equivalent Privacy Protocollo con chiave

Dettagli

Corso di Laurea in Ingegneria Informatica e Biomedica. Sistemi Operativi A.A. (2002-2003)

Corso di Laurea in Ingegneria Informatica e Biomedica. Sistemi Operativi A.A. (2002-2003) Università degli Studi Magna Græcia di Catanzaro Corso di Laurea in Ingegneria Informatica e Biomedica Sistemi Operativi A.A. (2002-2003) Docente: Prof. Mario Cannataro cannataro@unicz.it www.icar.cnr.it

Dettagli