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 my@error_code=@{$krypto->message} 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 my@error_code=@{$krypto->message} 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 è: $krypto->encrypt_files(@files_to_encrypt) 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 è: $krypto->decrypt_files(@files_to_decrypt) 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à

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

Crittografia. Appunti a cura del prof. Ing. Mario Catalano

Crittografia. Appunti a cura del prof. Ing. Mario Catalano Crittografia Appunti a cura del prof. Ing. Mario Catalano La crittografia La crittografia è la scienza che studia la scrittura e la lettura di messaggi in codice. Solitamente, i meccanismi crittografici

Dettagli

Codifiche a lunghezza variabile

Codifiche a lunghezza variabile Sistemi Multimediali Codifiche a lunghezza variabile Marco Gribaudo marcog@di.unito.it, gribaudo@elet.polimi.it Assegnazione del codice Come visto in precedenza, per poter memorizzare o trasmettere un

Dettagli

Probabilità discreta

Probabilità discreta Probabilità discreta Daniele A. Gewurz 1 Che probabilità c è che succeda...? Una delle applicazioni della combinatoria è nel calcolo di probabilità discrete. Quando abbiamo a che fare con un fenomeno che

Dettagli

Convertitori numerici in Excel

Convertitori numerici in Excel ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA Convertitori numerici in Excel Prof. G. Ciaschetti Come attività di laboratorio, vogliamo realizzare dei convertitori numerici con Microsoft Excel

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Appunti di informatica. Lezione 2 anno accademico 2015-2016 Mario Verdicchio

Appunti di informatica. Lezione 2 anno accademico 2015-2016 Mario Verdicchio Appunti di informatica Lezione 2 anno accademico 2015-2016 Mario Verdicchio Sistema binario e logica C è un legame tra i numeri binari (0,1) e la logica, ossia la disciplina che si occupa del ragionamento

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Architettura del Calcolatore Macchina di von Neumann Il calcolatore moderno è basato su un architettura

Dettagli

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1 LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1 I CODICI 1 IL CODICE BCD 1 Somma in BCD 2 Sottrazione BCD 5 IL CODICE ECCESSO 3 20 La trasmissione delle informazioni Quarta Parte I codici Il codice BCD

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

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

la scienza della rappresentazione e della elaborazione dell informazione

la scienza della rappresentazione e della elaborazione dell informazione Sistema binario Sommario informatica rappresentare informazioni la differenza Analogico/Digitale i sistemi di numerazione posizionali il sistema binario Informatica Definizione la scienza della rappresentazione

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

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da Data una funzione reale f di variabile reale x, definita su un sottoinsieme proprio D f di R (con questo voglio dire che il dominio di f è un sottoinsieme di R che non coincide con tutto R), ci si chiede

Dettagli

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE LE SUCCESSIONI 1. COS E UNA SUCCESSIONE La sequenza costituisce un esempio di SUCCESSIONE. Ecco un altro esempio di successione: Una successione è dunque una sequenza infinita di numeri reali (ma potrebbe

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

Fondamenti di Informatica 2. Le operazioni binarie

Fondamenti di Informatica 2. Le operazioni binarie Corso di per il corso di Laurea di Ingegneria Gestionale Le operazioni binarie Università degli Studi di Udine - A.A. 2010-2011 Docente Ing. Sandro Di Giusto Ph.D. 1 L'algebra binaria Il fatto di aver

Dettagli

Corrispondenze e funzioni

Corrispondenze e funzioni Corrispondenze e funzioni L attività fondamentale della mente umana consiste nello stabilire corrispondenze e relazioni tra oggetti; è anche per questo motivo che il concetto di corrispondenza è uno dei

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

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann permette l esecuzione di un programma, cioè di una sequenza di istruzioni descritte nel linguaggio interpretabile dal calcolatore

Dettagli

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere

Dettagli

(71,1), (35,1), (17,1), (8,1), (4,0), (2,0), (1,0), (0,1) 0, 7155 2 = 1, 431 0, 431 2 = 0, 862 0, 896 2 = 1, 792 0, 724 2 = 1, 448 0, 448 2 = 0, 896

(71,1), (35,1), (17,1), (8,1), (4,0), (2,0), (1,0), (0,1) 0, 7155 2 = 1, 431 0, 431 2 = 0, 862 0, 896 2 = 1, 792 0, 724 2 = 1, 448 0, 448 2 = 0, 896 2 Esercizio 2.2 La rappresentazione esadecimale prevede 16 configurazioni corrispondenti a 4 bit. Il contenuto di una parola di 16 bit può essere rappresentato direttamente con 4 digit esadecimali, sostituendo

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

Matematica e Statistica

Matematica e Statistica Matematica e Statistica Prova d esame (0/07/03) Università di Verona - Laurea in Biotecnologie - A.A. 0/3 Matematica e Statistica Prova di MATEMATICA (0/07/03) Università di Verona - Laurea in Biotecnologie

Dettagli

Introduzione all analisi dei segnali digitali.

Introduzione all analisi dei segnali digitali. Introduzione all analisi dei segnali digitali. Lezioni per il corso di Laboratorio di Fisica IV Isidoro Ferrante A.A. 2001/2002 1 Segnali analogici Si dice segnale la variazione di una qualsiasi grandezza

Dettagli

SSL: applicazioni telematiche SSL SSL SSL. E-commerce Trading on-line Internet banking... Secure Socket Layer

SSL: applicazioni telematiche SSL SSL SSL. E-commerce Trading on-line Internet banking... Secure Socket Layer : applicazioni telematiche Secure Socket Layer E-commerce Trading on-line Internet banking... Protocollo proposto dalla Netscape Communications Corporation Garantisce confidenzialità e affidabilità delle

Dettagli

Informazione analogica e digitale

Informazione analogica e digitale L informazione L informazione si può: rappresentare elaborare gestire trasmettere reperire L informatica offre la possibilità di effettuare queste operazioni in modo automatico. Informazione analogica

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

TRAGUARDI PER LO SVILUPPO DELLE COMPETENZE AL TERMINE DELLA SCUOLA PRIMARIA

TRAGUARDI PER LO SVILUPPO DELLE COMPETENZE AL TERMINE DELLA SCUOLA PRIMARIA SCUOLA PRIMARIA DI CORTE FRANCA MATEMATICA CLASSE QUINTA TRAGUARDI PER LO SVILUPPO DELLE COMPETENZE AL TERMINE DELLA SCUOLA PRIMARIA L ALUNNO SVILUPPA UN ATTEGGIAMENTO POSITIVO RISPETTO ALLA MATEMATICA,

Dettagli

Calcolo del Valore Attuale Netto (VAN)

Calcolo del Valore Attuale Netto (VAN) Calcolo del Valore Attuale Netto (VAN) Il calcolo del valore attuale netto (VAN) serve per determinare la redditività di un investimento. Si tratta di utilizzare un procedimento che può consentirci di

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Invio SMS. DM Board ICS Invio SMS

Invio SMS. DM Board ICS Invio SMS Invio SMS In questo programma proveremo ad inviare un SMS ad ogni pressione di uno dei 2 tasti della DM Board ICS. Per prima cosa creiamo un nuovo progetto premendo sul pulsante (Create new project): dove

Dettagli

LE FUNZIONI A DUE VARIABILI

LE FUNZIONI A DUE VARIABILI Capitolo I LE FUNZIONI A DUE VARIABILI In questo primo capitolo introduciamo alcune definizioni di base delle funzioni reali a due variabili reali. Nel seguito R denoterà l insieme dei numeri reali mentre

Dettagli

L'impulso di una forza che varia nel tempo

L'impulso di una forza che varia nel tempo Lezione 13 approfondimento pag.1 L'impulso di una forza che varia nel tempo Un riassunto di quel che sappiamo Riprendiamo in esame il solito carrellino che si trova sopra la rotaia a basso attrito. Se

Dettagli

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini. Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio

Dettagli

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli

Capitolo 2. Operazione di limite

Capitolo 2. Operazione di limite Capitolo 2 Operazione di ite In questo capitolo vogliamo occuparci dell operazione di ite, strumento indispensabile per scoprire molte proprietà delle funzioni. D ora in avanti riguarderemo i domini A

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

Capitolo 13: L offerta dell impresa e il surplus del produttore

Capitolo 13: L offerta dell impresa e il surplus del produttore Capitolo 13: L offerta dell impresa e il surplus del produttore 13.1: Introduzione L analisi dei due capitoli precedenti ha fornito tutti i concetti necessari per affrontare l argomento di questo capitolo:

Dettagli

Gestione Risorse Umane Web

Gestione Risorse Umane Web La gestione delle risorse umane Gestione Risorse Umane Web Generazione attestati di partecipazione ai corsi di formazione (Versione V03) Premessa... 2 Configurazione del sistema... 3 Estrattore dati...

Dettagli

Plugin ImageJ Steganografia Digitale

Plugin ImageJ Steganografia Digitale Università degli Studi di Catania Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica (a.a. 2012/13) Plugin ImageJ Steganografia Digitale Massimiliano Portelli (matricola

Dettagli

Elementi di Psicometria con Laboratorio di SPSS 1

Elementi di Psicometria con Laboratorio di SPSS 1 Elementi di Psicometria con Laboratorio di SPSS 1 12-Il t-test per campioni appaiati vers. 1.2 (7 novembre 2014) Germano Rossi 1 germano.rossi@unimib.it 1 Dipartimento di Psicologia, Università di Milano-Bicocca

Dettagli

Metodi Stocastici per la Finanza

Metodi Stocastici per la Finanza Metodi Stocastici per la Finanza Tiziano Vargiolu vargiolu@math.unipd.it 1 1 Università degli Studi di Padova Anno Accademico 2011-2012 Lezione 6 Indice 1 Il metodo bootstrap 2 Esercitazione 3 Interpolazione

Dettagli

Informatica. Rappresentazione dei numeri Numerazione binaria

Informatica. Rappresentazione dei numeri Numerazione binaria Informatica Rappresentazione dei numeri Numerazione binaria Sistemi di numerazione Non posizionali: numerazione romana Posizionali: viene associato un peso a ciascuna posizione all interno della rappresentazione

Dettagli

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno Rappresentazione di numeri Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno Un numero e un entità teorica,

Dettagli

Grandezze scalari e vettoriali

Grandezze scalari e vettoriali Grandezze scalari e vettoriali Esempio vettore spostamento: Esistono due tipi di grandezze fisiche. a) Grandezze scalari specificate da un valore numerico (positivo negativo o nullo) e (nel caso di grandezze

Dettagli

Rappresentazione delle informazioni

Rappresentazione delle informazioni Rappresentazione delle informazioni Abbiamo informazioni (numeri, caratteri, immagini, suoni, video... ) che vogliamo rappresentare (e poter elaborare) in un calcolatore. Per motivi tecnologici un calcolatore

Dettagli

1 Applicazioni Lineari tra Spazi Vettoriali

1 Applicazioni Lineari tra Spazi Vettoriali 1 Applicazioni Lineari tra Spazi Vettoriali Definizione 1 (Applicazioni lineari) Si chiama applicazione lineare una applicazione tra uno spazio vettoriale ed uno spazio vettoriale sul campo tale che "!$%!

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

Informatica per la comunicazione" - lezione 7 -

Informatica per la comunicazione - lezione 7 - Informatica per la comunicazione - lezione 7 - Campionamento La codifica dei suoni si basa sulla codifica delle onde che li producono, a sua volta basata su una procedura chiamata campionamento.! Il campionamento

Dettagli

Algoritmi e strutture dati. Codici di Huffman

Algoritmi e strutture dati. Codici di Huffman Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per

Dettagli

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione Automatizzare i compiti ripetitivi I file batch Anno accademico 2000-01 1 Spesso capita di dover eseguire ripetutatmente una data sequenza di comandi Introdurli uno a uno da tastiera è un processo lento

Dettagli

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass 0_Iniziare con GRASS Avvio di Grass e creazione della cartella del Database di GRASS Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

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

Titolo della tesi Testing Black Box di un Web Service : sperimentazione su di un servizio con stato

Titolo della tesi Testing Black Box di un Web Service : sperimentazione su di un servizio con stato tesi di laurea Titolo della tesi Testing Black Box di un Web Service : sperimentazione su di un servizio con stato Anno Accademico 2005/2006 relatore Ch.mo prof. Porfirio Tramontana candidato Giuseppe

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

Sicurezza dei file Le protezioni nei programmi

Sicurezza dei file Le protezioni nei programmi Sicurezza dei file Le protezioni nei programmi Attivare/disattivare le impostazioni di sicurezza delle macro. Una macro è un insieme d istruzioni che il computer interpreta una dopo l altra e traduce in

Dettagli

Analisi di programmi: Crittografia

Analisi di programmi: Crittografia Analisi di programmi: Crittografia Come caso concreto di sistema, proviamo ad abbozzare e a vedere una prima implementazione di un sistema di crittografia a chiave pubblica La crittografia studia le tecniche

Dettagli

EXPLOit Content Management Data Base per documenti SGML/XML

EXPLOit Content Management Data Base per documenti SGML/XML EXPLOit Content Management Data Base per documenti SGML/XML Introduzione L applicazione EXPLOit gestisce i contenuti dei documenti strutturati in SGML o XML, utilizzando il prodotto Adobe FrameMaker per

Dettagli

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

Dettagli

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle

Dettagli

CALCOLO COMBINATORIO

CALCOLO COMBINATORIO CALCOLO COMBINATORIO 1 Modi di formare gruppi di k oggetti presi da n dati 11 disposizioni semplici, permutazioni Dati n oggetti distinti a 1,, a n si chiamano disposizioni semplici di questi oggetti,

Dettagli

Testi di Esercizi e Quesiti 1

Testi di Esercizi e Quesiti 1 Architettura degli Elaboratori, 2009-2010 Testi di Esercizi e Quesiti 1 1. Una rete logica ha quattro variabili booleane di ingresso a 0, a 1, b 0, b 1 e due variabili booleane di uscita z 0, z 1. La specifica

Dettagli

Corso di. Dott.ssa Donatella Cocca

Corso di. Dott.ssa Donatella Cocca Corso di Statistica medica e applicata Dott.ssa Donatella Cocca 1 a Lezione Cos'è la statistica? Come in tutta la ricerca scientifica sperimentale, anche nelle scienze mediche e biologiche è indispensabile

Dettagli

Manuale di Aggiornamento BOLLETTINO. Rel. 5.20.1H4. DATALOG Soluzioni Integrate a 32 Bit

Manuale di Aggiornamento BOLLETTINO. Rel. 5.20.1H4. DATALOG Soluzioni Integrate a 32 Bit Manuale di Aggiornamento BOLLETTINO Rel. 5.20.1H4 DATALOG Soluzioni Integrate a 32 Bit - 2 - Manuale di Aggiornamento Sommario 1 2 PER APPLICARE L AGGIORNAMENTO... 3 1.1 Aggiornamento Patch Storica...

Dettagli

SymCAD/C.A.T.S. modulo Canali Schema

SymCAD/C.A.T.S. modulo Canali Schema SymCAD/C.A.T.S. modulo Canali Schema Il modulo Ventilazione Standard permette di effettuare la progettazione integrata (disegno e calcoli) in AutoCAD di reti di canali aria (mandata e ripresa). Il disegno

Dettagli

Nell esempio verrà mostrato come creare un semplice documento in Excel per calcolare in modo automatico la rata di un mutuo a tasso fisso conoscendo

Nell esempio verrà mostrato come creare un semplice documento in Excel per calcolare in modo automatico la rata di un mutuo a tasso fisso conoscendo Nell esempio verrà mostrato come creare un semplice documento in Excel per calcolare in modo automatico la rata di un mutuo a tasso fisso conoscendo - la durata del mutuo in anni - l importo del mutuo

Dettagli

SISTEMI DI NUMERAZIONE E CODICI

SISTEMI DI NUMERAZIONE E CODICI SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema

Dettagli

Statistica e biometria. D. Bertacchi. Variabili aleatorie. V.a. discrete e continue. La densità di una v.a. discreta. Esempi.

Statistica e biometria. D. Bertacchi. Variabili aleatorie. V.a. discrete e continue. La densità di una v.a. discreta. Esempi. Iniziamo con definizione (capiremo fra poco la sua utilità): DEFINIZIONE DI VARIABILE ALEATORIA Una variabile aleatoria (in breve v.a.) X è funzione che ha come dominio Ω e come codominio R. In formule:

Dettagli

PROGRAMMA SVOLTO NELLA SESSIONE N.

PROGRAMMA SVOLTO NELLA SESSIONE N. Università C. Cattaneo Liuc, Corso di Statistica, Sessione n. 1, 2014 Laboratorio Excel Sessione n. 1 Venerdì 031014 Gruppo PZ Lunedì 061014 Gruppo AD Martedì 071014 Gruppo EO PROGRAMMA SVOLTO NELLA SESSIONE

Dettagli

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

Esercizio 1: trading on-line

Esercizio 1: trading on-line Esercizio 1: trading on-line Si realizzi un programma Java che gestisca le operazioni base della gestione di un fondo per gli investimenti on-line Creazione del fondo (con indicazione della somma in inizialmente

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

RISOLUTORE AUTOMATICO PER SUDOKU

RISOLUTORE AUTOMATICO PER SUDOKU RISOLUTORE AUTOMATICO PER SUDOKU Progetto Prolog - Pierluigi Tresoldi 609618 INDICE 1.STORIA DEL SUDOKU 2.REGOLE DEL GIOCO 3.PROGRAMMAZIONE CON VINCOLI 4.COMANDI DEL PROGRAMMA 5.ESEMPI 1. STORIA DEL SUDOKU

Dettagli

Dispense di Informatica per l ITG Valadier

Dispense di Informatica per l ITG Valadier La notazione binaria Dispense di Informatica per l ITG Valadier Le informazioni dentro il computer All interno di un calcolatore tutte le informazioni sono memorizzate sottoforma di lunghe sequenze di

Dettagli

WoWords. Guida all uso: creare ed utilizzare le frasi. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords.

WoWords. Guida all uso: creare ed utilizzare le frasi. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords. Premessa Oltre alle singole parole WoWords può gestire intere frasi in inglese. A differenza delle singole parole, le

Dettagli

Analisi e diagramma di Pareto

Analisi e diagramma di Pareto Analisi e diagramma di Pareto L'analisi di Pareto è una metodologia statistica utilizzata per individuare i problemi più rilevanti nella situazione in esame e quindi le priorità di intervento. L'obiettivo

Dettagli

Statistica. Lezione 6

Statistica. Lezione 6 Università degli Studi del Piemonte Orientale Corso di Laurea in Infermieristica Corso integrato in Scienze della Prevenzione e dei Servizi sanitari Statistica Lezione 6 a.a 011-01 Dott.ssa Daniela Ferrante

Dettagli

Introduzione al MATLAB c Parte 2

Introduzione al MATLAB c Parte 2 Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione

Dettagli

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6 Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...

Dettagli

Sostituto abilitato Entratel con più sedi: ricezione diretta e incarico ad intermediario abilitato

Sostituto abilitato Entratel con più sedi: ricezione diretta e incarico ad intermediario abilitato FAQ Flusso telematico dei modelli 730-4 D.M. 31 maggio 1999, n. 164 Comunicazione dei sostituti d imposta per la ricezione telematica, tramite l Agenzia delle entrate, dei dati dei 730-4 relativi ai mod.

Dettagli

Mac Application Manager 1.3 (SOLO PER TIGER)

Mac Application Manager 1.3 (SOLO PER TIGER) Mac Application Manager 1.3 (SOLO PER TIGER) MacApplicationManager ha lo scopo di raccogliere in maniera centralizzata le informazioni piu salienti dei nostri Mac in rete e di associare a ciascun Mac i

Dettagli

Prodotto libero di gruppi

Prodotto libero di gruppi Prodotto libero di gruppi 24 aprile 2014 Siano (A 1, +) e (A 2, +) gruppi abeliani. Sul prodotto cartesiano A 1 A 2 definiamo l operazione (x 1, y 1 ) + (x 2, y 2 ) := (x 1 + x 2, y 1 + y 2 ). Provvisto

Dettagli

Introduzione ai Metodi Formali

Introduzione ai Metodi Formali Intruzione ai Meti Formali Sistemi software anche molto complessi regolano la vita quotidiana, anche in situazioni life-critical (e.g. avionica) e business-critical (e.g. operazioni bancarie). Esempi di

Dettagli

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE PREMESSA La presente guida è da considerarsi come aiuto per l utente per l installazione e configurazione di Atollo Backup. La guida non vuole approfondire

Dettagli

Sistemi di Numerazione

Sistemi di Numerazione Fondamenti di Informatica per Meccanici Energetici - Biomedici 1 Sistemi di Numerazione Sistemi di Numerazione I sistemi di numerazione sono abitualmente posizionali. Gli elementi costitutivi di un sistema

Dettagli

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c Caratteristiche MATLAB Linguaggio di programmazione orientato all elaborazione di matrici (MATLAB=MATrix LABoratory) Le variabili sono matrici (una variabile scalare equivale ad una matrice di dimensione

Dettagli

Usando il pendolo reversibile di Kater

Usando il pendolo reversibile di Kater Usando il pendolo reversibile di Kater Scopo dell esperienza è la misurazione dell accelerazione di gravità g attraverso il periodo di oscillazione di un pendolo reversibile L accelerazione di gravità

Dettagli

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

Dettagli

Transitori del primo ordine

Transitori del primo ordine Università di Ferrara Corso di Elettrotecnica Transitori del primo ordine Si consideri il circuito in figura, composto da un generatore ideale di tensione, una resistenza ed una capacità. I tre bipoli

Dettagli

CONCETTO DI LIMITE DI UNA FUNZIONE REALE

CONCETTO DI LIMITE DI UNA FUNZIONE REALE CONCETTO DI LIMITE DI UNA FUNZIONE REALE Il limite di una funzione è uno dei concetti fondamentali dell'analisi matematica. Tramite questo concetto viene formalizzata la nozione di funzione continua e

Dettagli

Determinare la grandezza della sottorete

Determinare la grandezza della sottorete Determinare la grandezza della sottorete Ogni rete IP possiede due indirizzi non assegnabili direttamente agli host l indirizzo della rete a cui appartiene e l'indirizzo di broadcast. Quando si creano

Dettagli

La Firma Digitale La sperimentazione nel Comune di Cuneo. Pier Angelo Mariani Settore Elaborazione Dati Comune di Cuneo

La Firma Digitale La sperimentazione nel Comune di Cuneo. Pier Angelo Mariani Settore Elaborazione Dati Comune di Cuneo La Firma Digitale La sperimentazione nel Comune di Cuneo Pier Angelo Mariani Settore Elaborazione Dati Comune di Cuneo Perchè questa presentazione Il Comune di Cuneo, aderente alla RUPAR, ha ricevuto due

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

uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda

uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda Fa quadrato attorno alla tua azienda Soluzioni software per L archiviazione elettronica dei documenti Perché scegliere Q Archiviazione Elettronica dei Documenti? Tale applicativo si pone come obbiettivo

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

INFORMATIVA SUL DIRITTO ALLA PRIVACY PER LA CONSULTAZIONE DEL SITO WEB www.arlatighislandi.it

INFORMATIVA SUL DIRITTO ALLA PRIVACY PER LA CONSULTAZIONE DEL SITO WEB www.arlatighislandi.it INFORMATIVA SUL DIRITTO ALLA PRIVACY PER LA CONSULTAZIONE DEL SITO WEB www.arlatighislandi.it redatto ai sensi del decreto legislativo n 196/2003 2 GENNAIO 2014 documento pubblico 1 PREMESSA 3 SEZIONE

Dettagli

Operazioni binarie fondamentali

Operazioni binarie fondamentali Operazioni binarie fondamentali Operazioni fondamentali: operazioni elementari sui bit. Sono definite le operazioni aritmetiche più le operazioni logiche (AND, OR, NOT). Le operazioni possono essere descritte

Dettagli