La crittografia frattale in Perl

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "La crittografia frattale in Perl"

Transcript

1 La crittografia frattale in Perl Crypt::FNA e Crypt::FNA::Async

2 La crittografia frattale in Perl SEZIONE 1 Definizione dell insieme {F}

3 Definizione dell insieme {F} IT S FANTASTIC! FRACTAL CURVE AND SYMMETRIC ENCRYPTION Acronimo di Fractal Numerical Algorithm Ma cos è Crypt::FNA È l implementazione in Perl di due algoritmi per 1. formalizzare l insieme di curve frattali {F} 2. Applicare le curve {F} ad un sistema crittografico simmetrico

4 Definizione dell insieme {F} Partiamo da frattali lineari come la Koch curve Riportiamo le direzioni dei vari ordini in una costruzione a triangolo: 0 0, 60, -60, 0 0, 60, -60, 0, 60, 120, 0, 60, -60, 0, -120, -60, 0, 60, -60, 0

5 Definizione dell insieme {F} La cosa che a noi interessa è che ogni numero del triangolo è ottenuto come combinazione delle quantità al rigo superiore osserviamo che possiamo esprimere la proprietà di auto-similitudine della curva di Koch grazie ad una costruzione simile, combinando tra loro i valori della base e poi con quelli derivati dalla combinazione e così via iterando il procedimento.

6 Definizione dell insieme {F} Scrivendo la successione delle direzioni come gli elementi di un vettore leggiamo la proprietà principale della costruzione: il primo addendo è il gruppo, o ramo su cui si itera il procedimento di costruzione. Il secondo addendo è la posizione dell angolo che stiamo calcolando, nell ambito di quel ramo. uhmmm a(0) = a(0) + a(0) a(1) = a(0) + a(1) I GRUPPO a(2) = a(0) + a(2) a(3) = a(0) + a(3) a(4) = a(1) + a(0) a(5) = a(1) + a(1) II GRUPPO a(6) = a(1) + a(2) a(7) = a(1) + a(3) a(8) = a(2) + a(0) a(9) = a(2) + a(1) III GRUPPO a(10)= a(2) + a(2) a(11)= a(2) + a(3) a(12)= a(3) + a(0) a(13)= a(3) + a(1) IV GRUPPO a(14)= a(3) + a(2) a(15)= a(3) + a(3)

7 Definizione dell insieme {F} Il gruppo cui appartiene l angolo k-esimo è: G(k) = int(k/ro) La posizione dell angolo k-esimo nel gruppo è invece: P(k) = k-int(k/ro) = k-g(k) In definitiva, il valore dell angolo k-esimo sarà: a(k)=a(g(k)) + a(p(k)) (1) Notiamo che questa relazione è generale e indipendente dal numero di parametri base della curva. In quella di Koch abbiamo una base di cardinalità pari a 4 ma non è necessariamente così.

8 Definizione dell insieme {F} Con questa relazione diventa semplice ricavare il grafico della curva, potendone calcolare la direzione dei segmenti approssimanti successivi ed implementando poi un sistema di turtle graphics per il grafico: while($k<$ro**$r) { $a[$k]=$a[int($k/$ro)]+$a[$k-int($k/$ro)]; $k++ } Di seguito alcune curve appartenenti ad {F}

9 Grafici di {F} mediante il metodo make_fract (56,-187, 215, 64) (0,90,-60,-90,60)

10 Grafici di {F} mediante il metodo make_fract (56,-177,225,-164) (56,-77,215,-64,60)

11 Grafici di {F} mediante il metodo make_fract (0,90,0,-90) (0,90,60,-90,120)

12 Grafici di {F} mediante il metodo make_fract (56,-177,225,164) (21,-31,100,-79)

13 Grafici di {F} mediante il metodo make_fract (56,-67,215,-64,60,45) (56,-67,210,-64,60,70)

14 La crittografia frattale in Perl SEZIONE 2 Crypt::FNA metodi & attributi

15 L algoritmo crittografico Teoria 1dati sono memorizzati in byte: qualunque tipo di file vada ad aprire, il suo contenuto è certamente una sequenza ben precisa di byte. Un byte è costituito da 8 bit, per cui il suo valore deve appartenere all insieme degli interi compresi tra 0 e 255 (256 elementi complessivamente). Seguo quindi la curva frattale scelta, dell insieme {F}, per un numero di vertici uguale a quella del valore del byte da criptare. Le coordinate cartesiane di quel vertice rappresentano il crittogramma di quel ben preciso byte.

16 L algoritmo crittografico Teoria 2Le curve {F} hanno quindi un andamento che, in generale, si conosce solo calcolandolo ma lo si può calcolare solo se sono noti i parametri Ro genitori che sono parti fondamentali della chiave: è proprio in questo il cuore del sistema crittografico. Come altri sistemi di cifratura simmetrici, ad esempio il DES ed AES, FNA ha chiave segreta ma a differenza dei predetti Data Encryption Standard (che ha una chiave di 56 bit) ed Advanced EncryptionStandard (che ha una chiave compresa tra i 128 ed i 256 bit), FractalNumericalAlgorithmha una chiave in bit lunga quanto si vuole: non ci sono restrizioni sul numero e valore delle direzioni della base Ro.

17 L algoritmo crittografico Teoria 3 criptare Ogni byte viene crittografato mediante le coordinate del vertice della curva frattale, ottenuto partendo dal successivo a quello precedentemente valutato, saltando di un numero ulteriore di vertici uguale al magic number più il valore del byte da crittografare. 4 decriptare Si segue la curva frattale verificando, di vertice in vertice, che le coordinate corrispondano a quelle del crittogramma. Il valore del byte originale viene ricostruito avendo contato quanti vertici si sono succeduti per arrivare all uguaglianza dei due valori, dall ultima uguaglianza incontrata. Il numero di vertici, ridotto del magic number sommato all unità, rappresenta il valore del byte n-esimo.

18 Crypt::FNA methodi & attributi And now, technology application Crypt::FNA methods Crypt::FNA->new Crypt::FNA->make_fract Crypt::FNA->mac Crypt::FNA->encrypt_file Crypt::FNA->decrypt_file Crypt::FNA->encrypt_scalar Crypt::FNA->decrypt_scalar

19 Crypt::FNA metodi & attributi: METODO NEW Questo metodo ha due diverse modalità per l istanziazione dell oggetto: my $krypto=crypt::fna->new() my $krypto=crypt::fna->new( { r=> 7, angle => [56,-187, 215,-64], square => 4096, background => [255,255,255], foreground => [0,0,0], magic=> 3, salted => true })

20 Crypt::FNA metodi & attributi: METODO NEW L attributo r : ordine della curva di {F} Indica il livello di approfondimento nel calcolo della curva. E un numero maggiore di zero, non necessariamente intero. Indicato con Ro il numero di angoli base della struttura autosimile, il numero di segmenti costituenti la curva è dato da Ro**r. Valore di default: 7 L attributo angle : direzioni dei segmenti base della curva di {F} Sono gli angoli cui si applica l algoritmo di ricorsione: su questi angoli si determina la struttura base autosimiledella curva di {F}. Gli angoli sono espressi nel sistema sessadecimale, con valori compresi tra -360 e 360 (ovvero da 0 a 360). Valore di default: (56,-187, 215,-64)

21 Crypt::FNA methodi & attributi: ATTRIBUTO ANGLE : lacci di {F} In questa eventualità c è una probabilità non nulla che due (e quindi infiniti) vertici possano sovrapporsi, rendendo impossibile la decodifica del file criptato. Ad esempio, con una base Ro={-30,60,45,110} abbiamo: Definizione 1 Si definisce base di una curva Є {F} l insieme delle inclinazioni {Ro} Definizione 2 Si definisce ramo di una curva Є {F}, la spezzata relativa al calcolo eseguito secondo l algoritmo di costruzione sulla base o sua combinazione Teorema (v. Ipotesi: sia data la base di {F}={x1, x2,, xn} : max(x)-min(x) < π/4 Tesi: l ipotesi è sufficiente affinché l insieme dei punti della curva {F} sia in corrispondenza biunivoca con un sottoinsieme di punti del piano

22 Crypt::FNA metodi & attributi: METODO NEW L attributo square : lato del quadrato dove verrà disegnata/calcolata la curva di {F} E la lunghezza del lato del quadrato contenitore della curva. Square non solo ha importanza per la (eventuale) rappresentazione grafica, ma anche per la crittografia, poiché viene utilizzato per calcolare la lunghezza del lato didella curva (di è proporzionale a square/ro**r) Valore di default: 4096 L attributo background : colore di fondo per il disegno della curva di {F} E il colore RGB di fondo del file PNG contenente il disegno della curva. La notazione è decimale, quindi con valori che vanno da 0 a 255. Valore di default: (255,255,255)

23 Crypt::FNA metodi & attributi: METODO NEW L attributo foreground : colore di primo piano per il disegno della curva di {F} E il colore RGB del tratto nel file PNG contenente il disegno della curva. La notazione è decimale, quindi con valori che vanno da 0 a 255. Valore di default: (0,0,0) L attributo magic number : per la crittografia discreta Indica il numero di vertici della curva da saltare in fase di cifratura e decifratura: essendo l'algoritmo, una funzione continua sui vertici, saltandone alcuni questa resta continua su punti isolati dell insieme dei vertici (da cui discreta ). Valore di default: 3

24 Crypt::FNA metodi & attributi: METODO NEW L attributo salted : sale crittografico Il salt è una sequenza casuale, che ha lo scopo ultimo di influenzare direttamente il crittogramma, in modo che cifrature dello stesso dato, danno luogo a crittogrammi differenti. Il valore di default è false per retrocompatibilità con le versioni di Crypt::FNA antecedenti alla 0.24 prima versione che lo implementa Valore di default: false

25 Crypt::FNA metodi & attributi: METODO NEW L attributo salted : sale crittografico Teoria Ebbene, anteponendo il sale al dato da criptare, si influenza, per le caratteristiche intrinseche di FNA, tutta la sequenza successiva, per cui cifrature dello stesso dato, in momenti differenti e con la stessa chiave di cifratra, produrranno comunque crittogrammi completamente diversi. In fase di decriptazione, grazie alla chiave (l attributo magicnumbernello specifico), l algoritmo è in grado di valutare quali vertici iniziali del crittogramma scartare, partendo poi dall ultimo di questi per la valutazione dei bytessuccessivi e la ricostruzione del dato in chiaro.

26 Crypt::FNA metodi & attributi: METODO NEW L attributo salted : sale crittografico Teoria L utilità del sale è legata strettamente all aderenza statistica ad una sequenza casuale ovvero una sequenza che, statisticamente, può essere interpretata come tale (con una distribuzione simile ad altre sequenze casuali). Si è dunque scelto l istante in cui viene invocato il calcolo del sale, evento casuale, come uno dei fattori di input mentre il magic number è l altro. Come indicato, le curve {F} hanno un andamento coerente alla definizione di caos deterministico: una piccola oscillazione iniziale dei valori, produce grandi variazioni nei dati finali (leggi le coordinate dei vertici della curva).

27 Crypt::FNA metodi & attributi: METODO NEW L attributo salted : sale crittografico Teoria: descrizione algoritmo Al momento dell invocazione del calcolo, si legge il numero di secondi trascorsi dalla mezzanotte del 1 gennaio 1970 (epochdate). Si calcola poi, tramite la funzione rand (pseudo casuale), un numero compreso tra 0 ed 1. Si calcola poi il rapporto tra il numero dei secondi (casuale) ed il numero restituito dalla funzione random. Da questo si preleva un numero di cifre pari al quadrato del magicnumber. Se il quadrato del magicnumberè superiore al numero di cifre del quoziente prima calcolato, si itera il procedimento, ricalcolando time, rand e l intero del rapporto e concatenando la nuova stringa alla precedente. Dall iterazione si esce quando la lunghezza del salt è pari al quadrato del magic number. Questa sequenza numerica, casuale, è il nostro sale crittografico.

28 Crypt::FNA metodi & attributi: METODO MAKE_FRACT Questo metodo è senz'altro il più suggestivo e permette di "toccare" le curve che verranno poi applicate negli algoritmi crittografici. Il file grafico di output è in formato PNG (Portable Network Graphic), fruibile da un qualunque browser come dai più diversi software di grafica. La sintassi è: $krypto->make_fract($pngfile,$zoom) $pngfileè il nome del file png-senza estensione "png" che viene inserita automaticamente. $zoomè la scala del disegno -maggiore di zero. Valore di default: 1 L'immagine prodotta è contenuta nel quadrato di lato square.

29 Crypt::FNA metodi & attributi: METODO ENCRYPT_FILE I metodi encrypt_file e decrypt_file, sono la summa: rendono utile mediante applicazione, la matematica delle curve di {F}. Questo metodo realizza un operazione ben precisa: cripta il file di input in quello di output. La sintassi è: $krypto->encrypt_file($name_plain_file,$name_encrypted_file) Il file di input di qualsivoglia formato sarà letto e cifrato, tramite la curva {F}.

30 Crypt::FNA metodi & attributi: METODO ENCRYPT_FILE AH AHAH Ecco l aspetto di un file criptato mediante FNA

31 Crypt::FNA metodi & attributi: METODO ENCRYPT_FILE Ed ecco dove viene frullato il file

32 Crypt::FNA metodi & attributi: METODO DECRYPT_FILE I metodi decrypt_file ed encrypt_file, sono la summa: rendono utile mediante applicazione, la matematica delle curve di {F}. Questo metodo realizza un operazione ben precisa: decripta il file di input (che è quello di output del metodo encrypt_file) in quello di output (che è quello di input del metodo encrypt_file). La sintassi è: $krypto->decrypt_file($name_encrypted_file,$name_decrypted_file) Il file di input sarà letto e decodificato, tramite la curva {F}, nel file di output.

33 Crypt::FNA metodi & attributi: METODO ENCRYPT_SCALAR Il metodo encrypt_scalarcifra stringhe: il risultato dell operazione di cifratura è un vettore contenente il crittogramma. La sintassi Il programmatore che preveda un salvataggio password con FNA, farà bene ad impostare salted => true. Ricordo che un sale è una stringa, solitamente random, aggiunta al dato da criptare, in modo che un brute force a dizionario non produca risultati.

34 Crypt::FNA metodi & attributi: METODO DECRYPT_SCALAR Il metodo decrypt_scalar ricostruisce il dato in chiaro dal risultato dell operazione di cifratura scalari. La sintassi è:

35 Crypt::FNA metodi & attributi: METODO MAC MAC -> Message Authentication Code L autenticazione dei messaggi garantisce l integrità dell informazione anche in presenza di un avversario attivo che invia dati sensati sender receiver attacker

36 Crypt::FNA metodi & attributi: METODO MAC MAC -> Message Authentication Code Detti: K la chiave FNA scelta per l autenticazione A l applicazione dell algoritmo FNA di Sender V l applicazione dell algoritmo FNA di Receiver mil dato da autenticare Calcoliamo A k (m) coordinate ultimo vertice FNA 1. Senderinvia a Receiverla coppia (m, A k (m)) 2. Receiver che conosce Ked ha ricevuto m calcola V k (m)

37 Crypt::FNA metodi & attributi: METODO MAC MAC -> Message Authentication Code Sender -> (m, A k (m)) Receiver -> (m, V k (m)) ACCEPT MESSAGE true V k (m) =A k (m) false IGNORE MESSAGE END Se Attackermodifica il messaggio, ignorando la chiave K, non potrà inviare a Receiveril MAC corretto che quindi ignorerà il messaggio edulcorato.

38 Crypt::FNA metodi & attributi: METODO MAC Il metodo mac faquestolavoroper noi:in questocaso, Crypt::FNA lavoracome un algoritmo digest (ad. Es. MD5). L hash è rappresentatodallecoordinate dell ultimo vertice dellacurva{f} definita tramite il metodo new La sintassi è: my $mac=$krypto->mac($name_plain_file)

39 Crypt::FNA metodi & attributi: METODO MAC Tramite questo metodo, Crypt::FNA assolve alle specifiche degli algoritmi digest e precisamente: 1.ha lunghezza fissa che lo rende facile da manipolare e da trasmettere (128bit); 2.è estremamente improbabile che due messaggi diversi abbiano lo stesso digest; 3.non è invertibile, cioè non esiste un algoritmo noto che, dato un digest, sia in grado di generare un messaggio che gli corrisponde; in altri termini, è estremamente difficile produrre un messaggio che abbia un digest predeterminato.

40 Crypt::FNA metodi & attributi: METODO MESSAGE Restituisce un array che contiene i codici errore restituiti da Crypt::FNA 0 Orderofthe curve isnotcorrect. Mustnecessarilybenumeric. 1 Orderofthe curve mustbea numbergreaterthan0 2 Length Square container is incorrect. Must necessarily be numeric 3 Side ofa squarecontainer fractalmustbea numbergreaterthan0 5 Value of is not correct. Must necessarily be numeric.default loaded 6 The angle mustbeexpressedin the system sessadecimal(ex ) Default loaded 7 Error reading sub encrypt, package Crypt::FNA 8 error writing file, package Crypt::FNA sub encrypt 9 read error on sub decrypt myinput package Crypt::FNA 10 writeerroron sub decryptmyoutput package Crypt::FNA

41 Crypt::FNA metodi & attributi: METODO MESSAGE Restituisce un array che contiene i codici errore restituiti da Crypt::FNA 11 error writing PNG sub draw_fract package Crypt::FNA 12 error background: only numeric character(rgb) 13 errorbackground: onlythreenumber(rgb) from0 to error foreground: only numeric character(rgb) 15 errorforeground: onlythreenumber(rgb) from0 to error loading GD::Simple, drawing aborted 18 errorzoom: the valuemustbea numbergreaterthanzero 19 errors during object instantiation 20 error magic setting 21 errorsaltedvalue(trueor false only) 22 error loading Tie::File 23 Errorreadingsub mac, package Crypt::FNA"

42 Crypt::FNA::Async methodi & attributi And now, technology application Crypt::FNA::Async methods Crypt::FNA::Async->new Crypt::FNA::Async->encrypt_files Crypt::FNA::Async->decrypt_files

43 Crypt::FNA::Async methodi & attributi Sincrono contro Asincrono Crypt::FNA::Async consente di elaborare in parallelo cifratura e decifratura di files, avvantaggiandosi delle CPU multicore e/o quelle che supportano hypertrading. Verrannoelaborati, in parallelo, un numerodifiles parial numerodicore disponibili. Se il sistema non supporta I threads, Crypt::FNA::Async effettuerà comunque l elaborazione in serie(in modalità sincrona anziché asincrona)

44 Crypt::FNA::Async metodi & attributi: METODO NEW Il metodo new di Crypt::FNA::Async è analogo all omonimo di Crypt::FNA. my $krypto=crypt::fna::async->new() my $krypto=crypt::fna::async->new( { r=> 7, angle => [56,-187, 215,-64], square => 4096, magic=> 3, salted => true })

45 Crypt::FNA::Async metodi & attributi: METODO ENCRYPT_FILES Il metodo accetta in ingresso un arraycontenente i nomi dei files, in chiaro, da criptare, quindi opera su questi e restituisce i filescriptati con nuova estensione.fna La sintassi è: I files di input, di qualsivoglia formato, saranno letti e cifrati, tramite la curva {F}.

46 Crypt::FNA::Async metodi & attributi: METODO DECRYPT_FILES Il metodo accetta in ingresso un arraycontenente i nomi dei filescriptati, quindi opera su questi e restituisce i filesin chiaro. La sintassi è: I filesdi input, di qualsivoglia formato, saranno letti e decifrati, tramite la curva {F}.

47 La crittografia frattale in Perl SEZIONE 3 Attacco ad FNA

48 Attacco a FNA FNA è un sistema particolare di cifratura, basato sulla sostituzione di bytes/caratteri con numeri complessi (n-plaordinata di numeri, in questo caso la coppia di coordinate) attraverso l algoritmo generatore dei frattali {F}. La trasformazione in generale avviene sostituendo il valore ordinale, nel suo alfabeto quindi, di ciò che si trasforma con le coordinate di un vertice della curva. FNA può considerarsi un particolare polialfabetico, la cui particolarità risiede nel fatto di avere un numero di alfabeti virtualmente illimitato, questo perché ogni codifica dipende direttamente da tutte le precedenti e segue l effetto farfalla. Riferendomi esplicitamente al caos deterministico, una piccola variazione nel dato in chiaro, produce grandi differenze nel risultante cifrato. In sostanza, ciò che accade è che ogni codifica influenza la sequenza successiva di possibili crittogrammi poiché si riparte da zero (il numero di crittogrammi dipende dalla cardinalità dell alfabeto cui appartiene cosa si cifra); ciò che è interessante ai fini crittografici è che ogni sequenza di 256 vertici della curva di {F} (nel caso si cifrino bytes), quindi l alfabeto usato per cifrare quel determinato byte, è differente dal precedente ed il valore del byte da cifrare influenza i successivi alfabeti.

49 Attacco a FNA Premesso che la chiave di FNA è, in senso stretto, data dalle direzioni di inizializzazione Ro, di, magice square, osservandolo come polialfabeticoe considerando l algoritmo frattale come un generatore di alfabeti, possiamo dire che ha in sé i vantaggi di una chiave lunga come il messaggio ed apparentemente casuale (nel senso che è notevolmente irregolare) similmente al caso della cifratura a blocco monouso inoltre presenta un numero di alfabeti cifranti virtualmente illimitato e quindi, possiamo dire, pari al numero di caratteri del messaggio in chiaro.

50 Attacco a FNA Parimenti non soffre della difficoltà di applicazione insita nel sistema a blocco monouso (dispendiosa) e si presta molto semplicemente ad operazioni di ipercrittografia (cifrare un dato già cifrato). Vediamo perché, a mio avviso, è lecita questa osservazione:

51 Attacco a FNA Alfabeto L alfabeto utilizzato è lungo al più quanto la cardinalità dell alfabeto con cui è espresso il dato in chiaro che si cifra. Nel caso di bytesè costituito al più da 256 coppie di coordinate di vertici. Gli alfabeti sono inoltre apparentemente casuali, poiché la successione degli angoli, di derivazione frattale, è notevolmente irregolare e questa successione influenza direttamente le coordinate.

52 Attacco a FNA Alfabeto Una volta cifrato un byte, si procede alla cifratura del successivo: l alfabeto riparte, poiché una volta cifrato un byte, si considerano le coordinate del successivo vertice di {F} come il simbolo di ordinalità1 nel nuovo alfabeto di cardinalità, al più, pari alla cardinalità dell alfabeto con cui è espresso il dato da cifrare. I successivi alfabeti sono sempre differenti e dipendenti da tutti i dati in chiaro precedentemente cifrati.

53 Attacco a FNA Chiave La chiave, vista come ordinale della successione di alfabeti da utilizzare, è lunga come il messaggio: chiave 1, primo dato da cifrare: primo alfabeto -> influenza l alfabeto successivo chiave 2, secondo dato da cifrare: secondo alfabeto -> influenza l alfabeto successivo... chiave n-1, n-1esimo dato da cifrare: n-1 esimo alfabeto -> influenza l alfabeto n-esimo In quest ottica abbiamo dunque una chiave lunga come il dato da cifrare ed un numero di alfabeti pari al numero di elementi costituenti il dato in chiaro.

54 Attacco a FNA Da notare che un eventuale attacco di forza bruta richiederebbe più tempo di quello necessario alla morte termica del nostro Universo.

55 Attacco a FNA Da notare che un eventuale attacco di forza bruta richiederebbe più tempo di quello necessario alla morte termica del nostro Universo. Se partissimo dall ipotesi di un numero di direzioni base Ro=3, non avremmo comunque idea del valore di queste direzioni. Consideriamo che il valore è un numero compreso tra 0 e 360, consideriamo inoltre che non abbiamo idea di quanti decimali siano stati utilizzati. Se avessimo 8 decimali il numero di direzioni da testare sarebbe: (99'999'999 * 360)**3 = possibili combinazioni

56 Attacco a FNA Da notare che un eventuale attacco di forza bruta richiederebbe più tempo di quello necessario alla morte termica del nostro Universo. Se partissimo dall ipotesi di un numero di direzioni base Ro=3, non avremmo comunque idea del valore di queste direzioni. Consideriamo che il valore è un numero compreso tra 0 e 360, consideriamo inoltre che non abbiamo idea di quanti decimali siano stati utilizzati. Se avessimo 8 decimali il numero di direzioni da testare sarebbe: (99'999'999 * 360)**3 = possibili combinazioni Se potessimo verificare una combinazione al secondo (ipotesi estremamente ottimistica), occorrerebbero un numero di anni pari a: E se le direzioni fossero 4? Tralascio il calcolo

57 Attacco a FNA Inoltre ci sono altre variabili, come il magic number, che rendono oltremodo arduo individuare gli angoli successivi (nel tentativo di scoprire la base) oltre all ordine della curva su cui si va a crittografare.

58 Attacco a FNA Inoltre ci sono altre variabili, come il magic number, che rendono oltremodo arduo individuare gli angoli successivi (nel tentativo di scoprire la base) oltre all ordine della curva su cui si va a crittografare. Consideriamo inoltre le possibilità di ipercrittografia, che ampliano esponenzialmente le combinazioni da dover identificare, come visto, anche con poche direzioni base

59 La crittografia frattale in Perl SEZIONE 4 Online crypter engine

60 online crypter engine Crypter.eu, tuttora in fase di sviluppo, è un progetto che, potremmo definire, di cloud encryption: Gli utenti del servizio potranno criptare e decriptare i propri files, scegliendo poi di farseli inviare per o salvare il risultato in locale.

61 online crypter engine Consta di un document(e usermanager), realizzato con Omnia, presentato a IPW2009, in cui gli utenti caricheranno i filese specificheranno la propria chiave FNA e su cui poi effettueranno le operazioni di crittografia scelte. Questo è il motivo principale per cui è nata la classe Crypt::FNA::Async(in modo da schedulare più operazioni in parallelo) ed il motivo della ricerca nell ottimizzazione dell algoritmo di Crypt::FNA

62 La crittografia frattale in Perl SEZIONE 5 conclusioni

63 CONCLUSIONI Crypt::FNA è in costante aggiornamento, soprattutto per quanto riguarda l ottimizzazione nell uso della memoria e la velocità di elaborazione, con uno sguardo volto alla retrocompatibilità

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Lezione 1 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Definizione di utente e di programmatore L utente è qualsiasi persona che usa il computer anche se non è in grado di programmarlo

Dettagli

UNIVERSITÀ DEGLI STUDI DI TRENTO DOCUMENTO ELETTRONICO, FIRMA DIGITALE E SICUREZZA IN RETE.

UNIVERSITÀ DEGLI STUDI DI TRENTO DOCUMENTO ELETTRONICO, FIRMA DIGITALE E SICUREZZA IN RETE. UNIVERSITÀ DEGLI STUDI DI TRENTO DOCUMENTO ELETTRONICO, FIRMA DIGITALE E SICUREZZA IN RETE. INTRODUZIONE ALL ARGOMENTO. A cura di: Eleonora Brioni, Direzione Informatica e Telecomunicazioni ATI NETWORK.

Dettagli

SMARTCARD Studente: Elvis Ciotti Prof: Luciano Margara 1

SMARTCARD Studente: Elvis Ciotti Prof: Luciano Margara 1 SMARTCARD Studente: Elvis Ciotti Prof: Luciano Margara 1 Introduzione SmartCard: Carta intelligente Evoluzione della carta magnetica Simile a piccolo computer : contiene memoria (a contatti elettrici)

Dettagli

Gli algoritmi. Gli algoritmi. Analisi e programmazione

Gli algoritmi. Gli algoritmi. Analisi e programmazione Gli algoritmi Analisi e programmazione Gli algoritmi Proprietà ed esempi Costanti e variabili, assegnazione, istruzioni, proposizioni e predicati Vettori e matrici I diagrammi a blocchi Analisi strutturata

Dettagli

AA 2006-07 LA RICORSIONE

AA 2006-07 LA RICORSIONE PROGRAMMAZIONE AA 2006-07 LA RICORSIONE AA 2006-07 Prof.ssa A. Lanza - DIB 1/18 LA RICORSIONE Il concetto di ricorsione nasce dalla matematica Una funzione matematica è definita ricorsivamente quando nella

Dettagli

ALGEBRA I: CARDINALITÀ DI INSIEMI

ALGEBRA I: CARDINALITÀ DI INSIEMI ALGEBRA I: CARDINALITÀ DI INSIEMI 1. CONFRONTO DI CARDINALITÀ E chiaro a tutti che esistono insiemi finiti cioè con un numero finito di elementi) ed insiemi infiniti. E anche chiaro che ogni insieme infinito

Dettagli

TorrentLocker Enti Italiani sotto riscatto

TorrentLocker Enti Italiani sotto riscatto Digital Forensics Bureau www.difob.it TorrentLocker Enti Italiani sotto riscatto Paolo DAL CHECCO, Giuseppe DEZZANI Studio DIgital Forensics Bureau di Torino 20 ottobre 2014 Da mercoledì 15 ottobre stiamo

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

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

CARATTERISTICHE DELLE CRYPTO BOX

CARATTERISTICHE DELLE CRYPTO BOX Secure Stream PANORAMICA Il sistema Secure Stream è costituito da due appliance (Crypto BOX) in grado di stabilire tra loro un collegamento sicuro. Le Crypto BOX sono dei veri e propri router in grado

Dettagli

Esempi di algoritmi. Lezione III

Esempi di algoritmi. Lezione III Esempi di algoritmi Lezione III Scopo della lezione Implementare da zero algoritmi di media complessità. Verificare la correttezza di un algoritmo eseguendolo a mano. Imparare a valutare le prestazioni

Dettagli

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table Universita' di Ferrara Dipartimento di Matematica e Informatica Algoritmi e Strutture Dati Rappresentazione concreta di insiemi e Hash table Copyright 2006-2015 by Claudio Salati. Lez. 9a 1 Rappresentazione

Dettagli

Rappresentazione dei numeri in un calcolatore

Rappresentazione dei numeri in un calcolatore Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri in un calcolatore Lezione 2 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione dei numeri

Dettagli

Programmazione Funzionale

Programmazione Funzionale Programmazione Funzionale LP imperativi: apparenza simile modello di progettazione = macchina fisica Famiglia dei LP imperativi = progressivo miglioramento del FORTRAN Obiezione: pesante aderenza dei LP

Dettagli

Marco Giorgi. Palazzo di Giustizia di Torino 30 marzo 2012

Marco Giorgi. Palazzo di Giustizia di Torino 30 marzo 2012 Marco Giorgi Palazzo di Giustizia di Torino 30 marzo 2012 Post mortem (Dopo lo spegnimento del sistema) Si smonta il dispositivo e lo si collega ad un PC dedicato all'acquisizione Live forensics (Direttamente

Dettagli

Elementi di informatica

Elementi di informatica Elementi di informatica Sistemi di numerazione posizionali Rappresentazione dei numeri Rappresentazione dei numeri nei calcolatori rappresentazioni finalizzate ad algoritmi efficienti per le operazioni

Dettagli

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997 1 RAPPRESENTAZIONE BINARIA DEI NUMERI Andrea Bobbio Anno Accademico 1996-1997 Numeri Binari 2 Sistemi di Numerazione Il valore di un numero può essere espresso con diverse rappresentazioni. non posizionali:

Dettagli

Abstract Data Type (ADT)

Abstract Data Type (ADT) Abstract Data Type Pag. 1/10 Abstract Data Type (ADT) Iniziamo la nostra trattazione presentando una nozione che ci accompagnerà lungo l intero corso di Laboratorio Algoritmi e Strutture Dati: il Tipo

Dettagli

Sicurezza delle reti wireless. Alberto Gianoli alberto.gianoli@fe.infn.it

Sicurezza delle reti wireless. Alberto Gianoli alberto.gianoli@fe.infn.it Sicurezza delle reti wireless Alberto Gianoli alberto.gianoli@fe.infn.it Concetti di base IEEE 802.11: famiglia di standard tra cui: 802.11a, b, g: physical e max data rate spec. 802.11e: QoS (traffic

Dettagli

LA CRITTOGRAFIA Le applicazioni della crittografia e della firma digitale a cura di Sommaruga Andrea Guido

LA CRITTOGRAFIA Le applicazioni della crittografia e della firma digitale a cura di Sommaruga Andrea Guido INDICE LA FIRMA DIGITALE O ELETTRONICA...2 LA LEGISLAZIONE IN MATERIA...5 NOTA SUI FORMATI DI FILE...6 COME FUNZIONA IL MECCANISMO DELLE FIRME ELETTRONICHE...7 FIRMA DI PIÙ PERSONE... 7 DOCUMENTO SEGRETO...

Dettagli

Prolog: aritmetica e ricorsione

Prolog: aritmetica e ricorsione Capitolo 13 Prolog: aritmetica e ricorsione Slide: Aritmetica e ricorsione 13.1 Operatori aritmetici In logica non vi è alcun meccanismo per la valutazione di funzioni, che è fondamentale in un linguaggio

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione

Dettagli

Programmazione Java: Variabili membro, Metodi La parola chiave final

Programmazione Java: Variabili membro, Metodi La parola chiave final Programmazione Java: Variabili membro, Metodi La parola chiave final romina.eramo@univaq.it http://www.di.univaq.it/romina.eramo/tlp Roadmap Definire una classe» Variabili membro» Metodi La parola chiave

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

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione.

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione. Grafi ed Alberi Pag. /26 Grafi ed Alberi In questo capitolo richiameremo i principali concetti di due ADT che ricorreranno puntualmente nel corso della nostra trattazione: i grafi e gli alberi. Naturale

Dettagli

MODBUS-RTU per. Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie. Expert NANO 2ZN

MODBUS-RTU per. Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie. Expert NANO 2ZN per Expert NANO 2ZN Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie Expert NANO 2ZN Nome documento: MODBUS-RTU_NANO_2ZN_01-12_ITA Software installato: NANO_2ZN.hex

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

I file di dati. Unità didattica D1 1

I file di dati. Unità didattica D1 1 I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità

Dettagli

Da una a più variabili: derivate

Da una a più variabili: derivate Da una a più variabili: derivate ( ) 5 gennaio 2011 Scopo di questo articolo è di evidenziare le analogie e le differenze, relativamente al calcolo differenziale, fra le funzioni di una variabile reale

Dettagli

GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno

GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno La Vista CAS L ambiente di lavoro Le celle Assegnazione di una variabile o di una funzione / visualizzazione

Dettagli

Amministrazione, finanza e marketing - Turismo Ministero dell Istruzione, dell Università e della Ricerca PROGRAMMAZIONE DISCIPLINARE PER U. di A.

Amministrazione, finanza e marketing - Turismo Ministero dell Istruzione, dell Università e della Ricerca PROGRAMMAZIONE DISCIPLINARE PER U. di A. UdA n. 1 Titolo: Disequazioni algebriche Saper esprimere in linguaggio matematico disuguaglianze e disequazioni Risolvere problemi mediante l uso di disequazioni algebriche Le disequazioni I principi delle

Dettagli

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

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

Dettagli

Informatica Applicata

Informatica Applicata Ing. Irina Trubitsyna Concetti Introduttivi Programma del corso Obiettivi: Il corso di illustra i principi fondamentali della programmazione con riferimento al linguaggio C. In particolare privilegia gli

Dettagli

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate.

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate. Comandi filtro: sed Il nome del comando sed sta per Stream EDitor e la sua funzione è quella di permettere di editare il testo passato da un comando ad un altro in una pipeline. Ciò è molto utile perché

Dettagli

Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi

Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi alternative: function nome { lista-comandi } oppure nome ( ) {

Dettagli

MIB PER IL CONTROLLO DELLO STATO DI UN SERVER FTP

MIB PER IL CONTROLLO DELLO STATO DI UN SERVER FTP Università degli Studi di Pisa Facoltà di Scienze Matematiche,Fisiche e Naturali Corso di Laurea in Informatica Michela Chiucini MIB PER IL CONTROLLO DELLO STATO DI UN SERVER

Dettagli

Rapida Introduzione all uso del Matlab Ottobre 2002

Rapida Introduzione all uso del Matlab Ottobre 2002 Rapida Introduzione all uso del Matlab Ottobre 2002 Tutti i tipi di dato utilizzati dal Matlab sono in forma di array. I vettori sono array monodimensionali, e così possono essere viste le serie temporali,

Dettagli

Architettura dei Calcolatori

Architettura dei Calcolatori Architettura dei Calcolatori Sistema di memoria parte prima Ing. dell Automazione A.A. 2011/12 Gabriele Cecchetti Sistema di memoria parte prima Sommario: Banco di registri Generalità sulla memoria Tecnologie

Dettagli

Middleware Laboratory. Dai sistemi concorrenti ai sistemi distribuiti

Middleware Laboratory. Dai sistemi concorrenti ai sistemi distribuiti Dai sistemi concorrenti ai sistemi distribuiti Problemi nei sistemi concorrenti e distribuiti I sistemi concorrenti e distribuiti hanno in comune l ovvio problema di coordinare le varie attività dei differenti

Dettagli

Inter Process Communication. Laboratorio Software 2008-2009 C. Brandolese

Inter Process Communication. Laboratorio Software 2008-2009 C. Brandolese Inter Process Communication Laboratorio Software 2008-2009 C. Brandolese Introduzione Più processi o thread Concorrono alla relaizzazione di una funzione applicativa Devono poter realizzare Sincronizzazione

Dettagli

METODI ITERATIVI PER SISTEMI LINEARI

METODI ITERATIVI PER SISTEMI LINEARI METODI ITERATIVI PER SISTEMI LINEARI LUCIA GASTALDI 1. Metodi iterativi classici Sia A R n n una matrice non singolare e sia b R n. Consideriamo il sistema (1) Ax = b. Un metodo iterativo per la soluzione

Dettagli

I NUMERI DECIMALI. che cosa sono, come si rappresentano

I NUMERI DECIMALI. che cosa sono, come si rappresentano I NUMERI DECIMALI che cosa sono, come si rappresentano NUMERI NATURALI per contare bastano i numeri naturali N i numeri naturali cominciano con il numero uno e vanno avanti con la regola del +1 fino all

Dettagli

Introduzione alla Programmazione ad Oggetti in C++

Introduzione alla Programmazione ad Oggetti in C++ Introduzione alla Programmazione ad Oggetti in C++ Lezione 1 Cosa è la Programmazione Orientata agli Oggetti Metodologia per costruire prodotti software di grosse dimensioni che siano affidabili e facilmente

Dettagli

Di seguito sono descritti i prerequisiti Hardware e Software che deve possedere la postazione a cui viene collegata l Aruba Key.

Di seguito sono descritti i prerequisiti Hardware e Software che deve possedere la postazione a cui viene collegata l Aruba Key. 1 Indice 1 Indice... 2 2 Informazioni sul documento... 3 2.1 Scopo del documento... 3 3 Caratteristiche del dispositivo... 3 3.1 Prerequisiti... 3 4 Installazione della smart card... 4 5 Avvio di Aruba

Dettagli

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice Pseudo codice Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova linguaggio testuale mix di linguaggio naturale ed elementi linguistici con sintassi ben definita e semantica

Dettagli

Descrizioni VHDL Behavioral

Descrizioni VHDL Behavioral 1 Descrizioni VHDL Behavioral In questo capitolo vedremo come la struttura di un sistema digitale è descritto in VHDL utilizzando descrizioni di tipo comportamentale. Outline: process wait statements,

Dettagli

Problema n. 1: CURVA NORD

Problema n. 1: CURVA NORD Problema n. 1: CURVA NORD Sei il responsabile della gestione del settore Curva Nord dell impianto sportivo della tua città e devi organizzare tutti i servizi relativi all ingresso e all uscita degli spettatori,

Dettagli

esercizi Esercizi / problemi

esercizi Esercizi / problemi Sistemi informativi applicati (reti di calcolatori): esercizi 1 Esercizi / problemi 1. Creare un applicazione che calcoli la media aritmetica dei seguenti valori interi: 35, 117, 23 e ne visualizzi il

Dettagli

Manipolazione di testi: espressioni regolari

Manipolazione di testi: espressioni regolari Manipolazione di testi: espressioni regolari Un meccanismo per specificare un pattern, che, di fatto, è la rappresentazione sintetica di un insieme (eventualmente infinito) di stringhe: il pattern viene

Dettagli

Test di comunicazione tra due LOGO! 0BA7: Master - Master

Test di comunicazione tra due LOGO! 0BA7: Master - Master Industry Test di comunicazione tra due LOGO! 0BA7: Master - Master Dispositivi utilizzati: - 2 LOGO! 0BA7 (6ED1 052-1MD00-0AB7) - Scalance X-208 LOGO! 0BA7 Client IP: 192.168.0.1 LOGO! 0BA7 Server IP:

Dettagli

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA in termini generali: Dati in input un insieme S di elementi (numeri, caratteri, stringhe, ) e un elemento

Dettagli

Le formule possono essere scritte utilizzando un insieme di funzioni predefinite che Excel mette a disposizione, raggruppate per argomento.

Le formule possono essere scritte utilizzando un insieme di funzioni predefinite che Excel mette a disposizione, raggruppate per argomento. Excel: le funzioni Le formule possono essere scritte utilizzando un insieme di funzioni predefinite che Excel mette a disposizione, raggruppate per argomento. DEFINIZIONE: Le funzioni sono dei procedimenti

Dettagli

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL 1 Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono

Dettagli

ESAME DI STATO 2010 SECONDA PROVA SCRITTA PER IL LICEO SCIENTIFICO DI ORDINAMENTO

ESAME DI STATO 2010 SECONDA PROVA SCRITTA PER IL LICEO SCIENTIFICO DI ORDINAMENTO Archimede ESAME DI STATO SECONDA PROVA SCRITTA PER IL LICEO SCIENTIFICO DI ORDINAMENTO ARTICOLO Il candidato risolva uno dei due problemi e risponda a 5 quesiti del questionario. Sia ABCD un quadrato di

Dettagli

Capitolo 9: PROPAGAZIONE DEGLI ERRORI

Capitolo 9: PROPAGAZIONE DEGLI ERRORI Capitolo 9: PROPAGAZIOE DEGLI ERRORI 9.1 Propagazione degli errori massimi ella maggior parte dei casi le grandezze fisiche vengono misurate per via indiretta. Il valore della grandezza viene cioè dedotto

Dettagli

Esercizi Capitolo 5 - Alberi

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

Dettagli

Inter-Process Communication

Inter-Process Communication Inter-Process Communication C. Baroglio a.a. 2002-2003 1 Introduzione In Unix i processi possono essere sincronizzati utilizzando strutture dati speciali, appartenti al pacchetto IPC (inter-process communication).

Dettagli

METODO DEI MINIMI QUADRATI. Quest articolo discende soprattutto dai lavori di Deming, Press et al. (Numerical Recipes) e Jefferys.

METODO DEI MINIMI QUADRATI. Quest articolo discende soprattutto dai lavori di Deming, Press et al. (Numerical Recipes) e Jefferys. METODO DEI MINIMI QUADRATI GIUSEPPE GIUDICE Sommario Il metodo dei minimi quadrati è trattato in tutti i testi di statistica e di elaborazione dei dati sperimentali, ma non sempre col rigore necessario

Dettagli

Trasformazioni Geometriche 1 Roberto Petroni, 2011

Trasformazioni Geometriche 1 Roberto Petroni, 2011 1 Trasformazioni Geometriche 1 Roberto etroni, 2011 Trasformazioni Geometriche sul piano euclideo 1) Introduzione Def: si dice trasformazione geometrica una corrispondenza biunivoca che associa ad ogni

Dettagli

Oggetti Lezione 3. aspetti generali e definizione di classi I

Oggetti Lezione 3. aspetti generali e definizione di classi I Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione

Dettagli

Guida rapida all uso di ECM Titanium

Guida rapida all uso di ECM Titanium Guida rapida all uso di ECM Titanium Introduzione Questa guida contiene una spiegazione semplificata del funzionamento del software per Chiputilizzare al meglio il Tuning ECM Titanium ed include tutte

Dettagli

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni Funzioni Le funzioni Con il termine funzione si intende, in generale, un operatore che, applicato a un insieme di operandi, consente di calcolare un risultato, come avviene anche per una funzione matematica

Dettagli

Lezioni di Matematica 1 - I modulo

Lezioni di Matematica 1 - I modulo Lezioni di Matematica 1 - I modulo Luciano Battaia 16 ottobre 2008 Luciano Battaia - http://www.batmath.it Matematica 1 - I modulo. Lezione del 16/10/2008 1 / 13 L introduzione dei numeri reali si può

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello della Web Application 5 3 Struttura della web Application 6 4 Casi di utilizzo della Web

Dettagli

Parte 2. Determinante e matrice inversa

Parte 2. Determinante e matrice inversa Parte. Determinante e matrice inversa A. Savo Appunti del Corso di Geometria 013-14 Indice delle sezioni 1 Determinante di una matrice, 1 Teorema di Cramer (caso particolare), 3 3 Determinante di una matrice

Dettagli

Procedura corretta per mappare con ECM Titanium

Procedura corretta per mappare con ECM Titanium Procedura corretta per mappare con ECM Titanium Introduzione: In questo documento troverete tutte le informazioni utili per mappare correttamente con il software ECM Titanium, partendo dalla lettura del

Dettagli

STUDIO DI UNA FUNZIONE

STUDIO DI UNA FUNZIONE STUDIO DI UNA FUNZIONE OBIETTIVO: Data l equazione Y = f(x) di una funzione a variabili reali (X R e Y R), studiare l andamento del suo grafico. PROCEDIMENTO 1. STUDIO DEL DOMINIO (CAMPO DI ESISTENZA)

Dettagli

Le variabili. Olga Scotti

Le variabili. Olga Scotti Le variabili Olga Scotti Cos è una variabile Le variabili, in un linguaggio di programmazione, sono dei contenitori. Possono essere riempiti con un valore che poi può essere riletto oppure sostituito.

Dettagli

Introduzione alla Teoria degli Errori

Introduzione alla Teoria degli Errori Introduzione alla Teoria degli Errori 1 Gli errori di misura sono inevitabili Una misura non ha significato se non viene accompagnata da una ragionevole stima dell errore ( Una scienza si dice esatta non

Dettagli

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Se a e b sono numeri interi, si dice che a divide b, in simboli: a b, se e solo se esiste c Z tale che b = ac. Si può subito notare che:

Dettagli

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+...

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+... Setup delle ConnessioniTCP Una connessione TCP viene instaurata con le seguenti fasi, che formano il Three-Way Handshake (perchè formato da almeno 3 pacchetti trasmessi): 1) il server si predispone ad

Dettagli

Il World Wide Web: nozioni introduttive

Il World Wide Web: nozioni introduttive Il World Wide Web: nozioni introduttive Dott. Nicole NOVIELLI novielli@di.uniba.it http://www.di.uniba.it/intint/people/nicole.html Cos è Internet! Acronimo di "interconnected networks" ("reti interconnesse")!

Dettagli

CONFIGURAZIONE DEI SERVIZI (seconda parte)

CONFIGURAZIONE DEI SERVIZI (seconda parte) Corso ForTIC C2 LEZIONE n. 10 CONFIGURAZIONE DEI SERVIZI (seconda parte) WEB SERVER PROXY FIREWALL Strumenti di controllo della rete I contenuti di questo documento, salvo diversa indicazione, sono rilasciati

Dettagli

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it UML: Class Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Class Diagram Forniscono una vista strutturale

Dettagli

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine

Dettagli

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Condizione di sincronizzazione Qualora si voglia realizzare una determinata politica di gestione delle risorse,la decisione se ad

Dettagli

Verifica che una grammatica sia Context Free nel GrammaReader

Verifica che una grammatica sia Context Free nel GrammaReader Verifica che una grammatica sia Context Free nel GrammaReader Sommario Dispensa di Linguaggi di Programmazione Corrado Mencar Pasquale Lops In questa dispensa si descrivono alcune soluzioni per verificare

Dettagli

Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009. Lab 02 Tipi semplici in C

Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009. Lab 02 Tipi semplici in C Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009 Lab 02 Tipi semplici in C Obiettivo dell esercitazione Acquistare familiarità con i tipi di dato semplici supportati

Dettagli

Sistemi avanzati di gestione dei Sistemi Informativi

Sistemi avanzati di gestione dei Sistemi Informativi Esperti nella gestione dei sistemi informativi e tecnologie informatiche Sistemi avanzati di gestione dei Sistemi Informativi Docente: Email: Sito: Eduard Roccatello eduard@roccatello.it http://www.roccatello.it/teaching/gsi/

Dettagli

CRYPTSETUP RAPIDO. man cryptsetup

CRYPTSETUP RAPIDO. man cryptsetup CRYPTSETUP RAPIDO La presente guida non vuole essere completa, si tratta solo della somma degli appunti utilizzati per creare e gestire una zona cifrata ove salvare i documenti. La distribuzione di riferimento

Dettagli

(accuratezza) ovvero (esattezza)

(accuratezza) ovvero (esattezza) Capitolo n 2 2.1 - Misure ed errori In un analisi chimica si misurano dei valori chimico-fisici di svariate grandezze; tuttavia ogni misura comporta sempre una incertezza, dovuta alla presenza non eliminabile

Dettagli

Cenni su algoritmi, diagrammi di flusso, strutture di controllo

Cenni su algoritmi, diagrammi di flusso, strutture di controllo Cenni su algoritmi, diagrammi di flusso, strutture di controllo Algoritmo Spesso, nel nostro vivere quotidiano, ci troviamo nella necessità di risolvere problemi. La descrizione della successione di operazioni

Dettagli

Esistenza di funzioni continue non differenziabili in alcun punto

Esistenza di funzioni continue non differenziabili in alcun punto UNIVERSITÀ DEGLI STUDI DI CAGLIARI FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI CORSO DI LAUREA IN MATEMATICA Esistenza di funzioni continue non differenziabili in alcun punto Relatore Prof. Andrea

Dettagli

IV-1 Funzioni reali di più variabili

IV-1 Funzioni reali di più variabili IV- FUNZIONI REALI DI PIÙ VARIABILI INSIEMI IN R N IV- Funzioni reali di più variabili Indice Insiemi in R n. Simmetrie degli insiemi............................................ 4 2 Funzioni da R n a R

Dettagli

Appunti di Sistemi Operativi. Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo

Appunti di Sistemi Operativi. Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo Appunti di Sistemi Operativi Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo Indice 1 Cenni su alcuni algoritmi del Kernel di Unix 1 1.1 Elementi di Unix Internals.................................

Dettagli

Introduzione alle applicazioni di rete

Introduzione alle applicazioni di rete Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza

Dettagli

Percorsi di matematica per il ripasso e il recupero

Percorsi di matematica per il ripasso e il recupero Giacomo Pagina Giovanna Patri Percorsi di matematica per il ripasso e il recupero 1 per la Scuola secondaria di secondo grado UNITÀ CMPIONE Edizioni del Quadrifoglio à t i n U 1 Insiemi La teoria degli

Dettagli

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof. Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record

Dettagli

Business Intelligence. Il data mining in

Business Intelligence. Il data mining in Business Intelligence Il data mining in L'analisi matematica per dedurre schemi e tendenze dai dati storici esistenti. Revenue Management. Previsioni di occupazione. Marketing. Mail diretto a clienti specifici.

Dettagli

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera L. De Giovanni AVVERTENZA: le note presentate di seguito non hanno alcuna pretesa di completezza, né hanno lo scopo di sostituirsi

Dettagli

Editor vi. Editor vi

Editor vi. Editor vi Editor vi vi 1 Editor vi Il vi è l editor di testo standard per UNIX, è presente in tutte le versioni base e funziona con qualsiasi terminale a caratteri Permette di visualizzare una schermata alla volta

Dettagli

Corso di Programmazione ad Oggetti

Corso di Programmazione ad Oggetti Corso di Programmazione ad Oggetti Introduzione alla programmazione ad oggetti a.a. 2008/2009 Claudio De Stefano 1 La programmazione modulare Un programma può essere visto come un insieme di moduli che

Dettagli

Comandi di Input/Output in Matlab

Comandi di Input/Output in Matlab Comandi di Input/Output in Matlab Il comando format controlla la configurazione numerica dei valori esposta da MAT- LAB; il comando regola solamente come i numeri sono visualizzati o stampati, non come

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

Esercitazione 7. Procedure e Funzioni

Esercitazione 7. Procedure e Funzioni Esercitazione 7 Procedure e Funzioni Esercizio Scrivere un programma che memorizza in un array di elementi di tipo double le temperature relative al mese corrente e ne determina la temperatura massima,

Dettagli

UNIVERSITÀ DEGLI STUDI DI PARMA

UNIVERSITÀ DEGLI STUDI DI PARMA UNIVERSITÀ DEGLI STUDI DI PARMA Facoltà di scienze Matematiche Fisiche e Naturali Corso di Laurea in INFORMATICA Tesi di laurea in RETI DI CALCOLATORI Autenticazione Centralizzata con il sistema CAS, integrando

Dettagli

Funzioni matlab per la gestione dei file. Informatica B Prof. Morzenti

Funzioni matlab per la gestione dei file. Informatica B Prof. Morzenti Funzioni matlab per la gestione dei file Informatica B Prof. Morzenti File Contenitori di informazione permanenti Sono memorizzati su memoria di massa Possono continuare a esistere indipendentemente dalla

Dettagli

esame di stato 2012 seconda prova scritta per il liceo scientifico di ordinamento

esame di stato 2012 seconda prova scritta per il liceo scientifico di ordinamento RTICL rchimede 4 esame di stato seconda prova scritta per il liceo scientifico di ordinamento Il candidato risolva uno dei due problemi e risponda a 5 quesiti del questionario PRBLEM Siano f e g le funzioni

Dettagli

ARP (Address Resolution Protocol)

ARP (Address Resolution Protocol) ARP (Address Resolution Protocol) Il routing Indirizzo IP della stazione mittente conosce: - il proprio indirizzo (IP e MAC) - la netmask (cioè la subnet) - l indirizzo IP del default gateway, il router

Dettagli

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client Versione 25.4.05 Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un

Dettagli