Sicurezza dei Sistemi Informatici Esercitazioni OpenSSL
|
|
|
- Cornelia Cara
- 10 anni fa
- Visualizzazioni
Transcript
1 Sicurezza dei Sistemi Informatici Esercitazioni OpenSSL Marco Tiloca 1
2 Sicurezza dei Sistemi Informatici Esercitazioni OpenSSL Cifratura chiave simmetrica (2 ore) Funzioni hash (2 ore) Cifratura asimmetrica (2 ore) Firma digitale (4 ore) 2 Il protocollo Diffie-Hellman (4 ore)
3 Sicurezza dei Sistemi Informatici Esercitazioni OpenSSL Introduzione OpenSSL 3
4 Libreria OpenSSL OpenSSL è una libreria crittografica open source, e fornisce API crittografiche di basso e alto livello. Le API EVP forniscono un interfaccia di alto livello per funzioni crittografiche. Crittografia a chiave simmetrica Funzioni hash 4
5 Uso libreria OpenSSL Sistemi GNU/Linux: Installare i pacchetti libssl0.9.8 e libssl-dev Compilare linkando manualmente la libreria gcc o prog prog.c -l ssl Sistemi Microsoft Windows: Installare l applicativo Cygwin Specificare di installare in /bin i pacchetti relativi a openssl e gcc Compilare linkando manualmente la libreria gcc o prog prog.c lcrypto Il file eseguibile prodotto è un.exe 5
6 Gestione del contesto EVP Il contesto EVP è una struttura dati che implementa, il cifrario a chiave simmetrica. Allocazione contesto EVP_CIPHER_CTX* ctx; ctx = malloc(sizeof(evp_cipher_ctx)); Preparazione contesto EVP_CIPHER_CTX_init(ctx); EVP_CIPHER_CTX_set_key_length(ctx,key_size); bsize = EVP_CIPHER_CTX_block_size(ctx); Deallocazione contesto EVP_CIPHER_CTX_cleanup(ctx); free(ctx); 6
7 Cifratura chiave simmetrica Allocazione contesto Preparazione contesto Cifratura EVP_EncryptInit(ctx,EVP_des_ecb(),NULL,NULL); EVP_EncryptInit(ctx,NULL,key,NULL); EVP_Encrypt_Update(ctx,out,&loutU,in,lin); EVP_Encrypt_Final(ctx,&out[pos],&loutF); Deallocazione contesto 7
8 Cifratura chiave simmetrica Operazioni cifratura EVP_Encrypt_Update(ctx,out,&loutU,in,lin); EVP_Encrypt_Final(ctx,&out[pos],&loutF); ctx: contesto out: buffer per contenere il testo cifrato (loutu + loutf): numero byte cifrati prodotti in: buffer contenente il testo in chiaro lin: dimensione del testo in chiaro in byte pos == loutu La dimensione di out deve essere (lin + bsize) La dimensione del testo cifrato è loutu + loutf 8
9 Decifratura chiave simmetrica Allocazione contesto Preparazione contesto Decifratura EVP_DecryptInit(ctx,EVP_des_ecb(),NULL,NULL); EVP_DecryptInit(ctx,NULL,key,NULL); EVP_DecryptUpdate(ctx,out,&loutU,in,lin); EVP_DecryptFinal(ctx,&out[pos],&loutF); Deallocazione contesto 9
10 Decifratura chiave simmetrica Operazioni decifratura EVP_Decrypt_Update(ctx,out,&loutU,in,lin); EVP_Decrypt_Final(ctx,&out[pos],&loutF); ctx: contesto out: buffer per contenere il testo in chiaro (loutu + loutf): numero byte decifrati prodotti in: buffer contenente il testo cifrato lin: dimensione del testo cifrato in byte pos == loutu La dimensione di out deve essere (lin + bsize) La dimensione del testo in chiaro è loutu + loutf 10
11 Esempio #include <stdio.h> #include <string.h> #include <openssl/evp.h> #include <openssl/rand.h> void printbyte(char b) { } char c; c = b; c = c >> 4; c = c & 15; printf("%x", c); c = b; c = c & 15; printf("%x:", c); 11
12 Esempio void select_random_key(char *k, int b) { } int i; RAND_bytes(k, b); printf("chiave: "); for (i = 0; i < b - 1; i++) printbyte(k[i]); printbyte(k[b-1]); printf("\n\n"); 12
13 Esempio int main() { char *msg = "Resisto a tutto fuorche' alle tentazioni"; char *plaintext, *ciphertext; char k[evp_max_key_length]; /* chiave di cifratura */ int nc; /* numero di byte [de]crittati ad ogni passo*/ int nctot; /* numero totale di byte crittati */ int i; /* indice */ int pt_len; /* lunghezza del testo in chiaro */ int ct_len; /* lunghezza del testo cifrato */ int ct_ptr; /* puntatore alla prima posizione libera del buffer */ int msg_len; /* lunghezza del messaggio */ /* Allocazione del contesto */ EVP_CIPHER_CTX *ctx = (EVP_CIPHER_CTX *)malloc(sizeof(evp_cipher_ctx)); /* Inizializzazione del contesto */ EVP_CIPHER_CTX_init(ctx); /* Setup del contesto per la cifratura */ EVP_EncryptInit(ctx, EVP_des_ecb(), NULL, NULL); 13
14 Esempio /* Output su std output del messaggio originale */ printf("\nmessaggio originale:\n%s\n\n", msg); /* Output su std output della dimensione della chiave */ printf("key size %d\n", EVP_CIPHER_key_length(EVP_des_ecb())); /* Output su std output della dimensione del blocco */ printf("block size %d\n\n", EVP_CIPHER_CTX_block_size(ctx)); /* Selezione random della chiave */ select_random_key(k, EVP_MAX_KEY_LENGTH); /* Impostazione della chiave */ EVP_EncryptInit(ctx, NULL, k, NULL); /* Allocazione del buffer per ciphertext */ msg_len = strlen(msg)+1; ct_len = msg_len + EVP_CIPHER_CTX_block_size(ctx); printf("dimensione del msg %d\n", msg_len); printf("dimensione del ciphertext %d\n", ct_len); ciphertext = (char *)malloc(ct_len); 14
15 Esempio /* Cifratura */ nc = 0; nctot = 0; ct_ptr = 0; EVP_EncryptUpdate(ctx, ciphertext, &nc, msg, msg_len); ct_ptr += nc; nctot += nc; EVP_EncryptFinal(ctx, &ciphertext[ct_ptr], &nc); nctot += nc; printf("\nciphertext:\n"); for (i = 0; i < ct_len; i++) printbyte(ciphertext[i]); printf("\n\n"); 15
16 Esempio /* Allocazione del buffer per la decifratura */ pt_len = ct_len + EVP_CIPHER_CTX_block_size(ctx); plaintext = (char *)malloc(pt_len); /* Inizializzazione contesto decifratura */ EVP_CIPHER_CTX_init(ctx); EVP_DecryptInit(ctx, EVP_des_ecb(), k, NULL); /* Decifratura */ nc = 0; nctot = 0; ct_ptr = 0; EVP_DecryptUpdate(ctx, &plaintext[ct_ptr], &nc, ciphertext, ct_len); ct_ptr += nc; nctot += nc; EVP_DecryptFinal(ctx, &plaintext[ct_ptr], &nc); nctot += nc; 16
17 Esempio for (i = 0; i < pt_len - 1; i++) printf("%c:", plaintext[i]); printf("%c\n", plaintext[pt_len-1]); printf("\n%s\n\n", plaintext); EVP_CIPHER_CTX_cleanup(ctx); free(ctx); free(ciphertext); free(plaintext); return 0; } 17
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
La gestione della memoria
La gestione della memoria DOTT. ING. LEONARDO RIGUTINI DIPARTIMENTO INGEGNERIA DELL INFORMAZIONE UNIVERSITÀ DI SIENA VIA ROMA 56 53100 SIENA UFF. 0577234850-7102 [email protected] HTTP://WWW.DII.UNISI.IT/~RIGUTINI/
I puntatori e l allocazione dinamica di memoria
I puntatori e l allocazione dinamica di memoria L allocazione delle variabili Allocazione e rilascio espliciti di memoria Le funzioni malloc e free 2 2006 Politecnico di Torino 1 Allocare = collocare in
Allocazione dinamica della memoria - riepilogo
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica In breve Storage duration Allocazione dinamica della
Dynamic Linking. Introduzione Creazione di una libreria dinamica Uso di una libreria dinamica
Dynamic Linking Introduzione Creazione di una libreria dinamica Uso di una libreria dinamica Dynamic Linking Il linking tra i moduli di un programma e le librerie da esso utilizzate può essere Statico
Introduzione al Linguaggio C
Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C
Appello di Informatica B
Politecnico di Milano Facoltà di Ingegneria Industriale 19 febbraio 2004 Appello di Informatica B Prof. Angelo Morzenti - Prof. Vincenzo Martena Cognome e nome: Matricola: Tipo di prova: recupero I prova
Crittografia in Java
Crittografia in Java di Oreste Delitala Progetto di Computer Security 2013-2014 Introduzione La crittografia è un particolare processo grazie al quale, per mezzo di sofisticati algoritmi, è possibile trasformare
Lab. di Sistemi Operativi - Esercitazione n 9- -Thread-
Lab. di Sistemi Operativi - Esercitazione n 9- -Thread- 1 Sommario Esercizi su: Comunicazione tra processi: la funzione pipe() Condivisione dati e codice tra due o più processi: concetto di Thread 2 -
Fondamenti di Informatica 2
Fondamenti di Informatica 2 della prova scritta del 28 Febbraio 2006 Esercizio 1 (4 punti) Date le seguenti variabili int A[] = 2,3,7,-2,5,8,-4; int N = 7; int min = 3; int i; Scrivere la porzione di codice
costruttori e distruttori
costruttori e distruttori Costruttore E un metodo che ha lo stesso nome della classe a cui appartiene: serve per inizializzare un oggetto all atto della sua creazione Ce ne possono essere uno, più di uno,
Esercizio: gestione di un conto corrente
Esercizio: gestione di un conto corrente Si realizzi un conto corrente bancario mediante: - una ASTRAZIONE DI DATO - un TIPO DI DATO ASTRATTO Il conto corrente è caratterizzato dalle seguenti informazioni:
Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C
Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani ([email protected])
Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C
Università di Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani ([email protected])
Introduzione al linguaggio C Gli array
Introduzione al linguaggio C Gli array Vettori nome del vettore (tutti gli elementi hanno lo stesso nome, c) Vettore (Array) Gruppo di posizioni (o locazioni di memoria) consecutive Hanno lo stesso nome
Le funzioni in C. I programmi C sono costituiti da definizioni di variabili e funzioni.
Le funzioni in C I programmi C sono costituiti da definizioni di variabili e funzioni. Una definizione di funzione ha il seguente formato: tipo-ritornato nome-funzione(lista-parametri) { dichiarazioni
Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE
Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE NOME: COGNOME: ============================================================== Esercizio 1 ci sono tante "righe"; non è detto servano tutte...
RC4 RC4. Davide Cerri. Davide Cerri CEFRIEL - Politecnico di Milano [email protected] http://www.cefriel.it/~cerri/
POLITECNICO DI MILANO CEFRIEL - Politecnico di Milano [email protected] http://www.cefriel.it/~cerri/ è un cifrario a flusso progettato da Ron Rivest (la R di RSA) nel 1987. Era un segreto commerciale della
Sommario. Introduzione alla Sicurezza Web
Sommario Introduzione alla Sicurezza Web Considerazioni generali IPSec Secure Socket Layer (SSL) e Transport Layer Security (TLS) Secure Electronic Transaction (SET) Introduzione alla crittografia Introduzione
Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 18 31/03/2014
Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 18 31/03/2014 Funzioni: Dichiarazione e Definizione La dichiarazione di una funzione serve a comunicare al compilatore quali sono
Crittografia con OpenSSL crittografia asimmetrica
Crittografia con OpenSSL crittografia asimmetrica Laboratorio del corso Sicurezza dei sistemi informatici (03GSD) Politecnico di Torino AA 2014/15 Prof. Antonio Lioy preparata da: Cataldo Basile ([email protected])
Firma HSM. A cura di: Enrico Venuto. Politecnico di Torino Coordinatore sicurezza informatica di ateneo
Firma HSM A cura di: Enrico Venuto Politecnico di Torino Coordinatore sicurezza informatica di ateneo Politecnico di Torino 23 novembre 2012 Firma digitale Firma digitale La firma digitale fa uso di un
Crittografia con OpenSSL crittografia asimmetrica
Crittografia con OpenSSL crittografia asimmetrica Laboratorio del corso Sicurezza dei sistemi informatici (03GSD) Politecnico di Torino AA 2015/16 Prof. Antonio Lioy preparata da: Cataldo Basile ([email protected])
PROCEDURA AGGIORNAMENTO LISTE MEDIANTE L INTERFACCIA WEB
PROCEDURA AGGIORNAMENTO LISTE MEDIANTE L INTERFACCIA WEB Precondizioni Per poter eseguire i passi previsti da questa procedura è necessario che: - l'operatore (di seguito OP) abbia presentato l istanza
Programmazione avanzata Java e C. Crittografia
Programmazione avanzata Java e C Crittografia ü JCA o Java Cryptography Architecture è il framework java per la crittografia che fa parte della API di sicurezza di Java, ed è stato introdotto nei pacchetti
Introduzione alla crittografia con OpenPGP
Introduzione alla crittografia con OpenPGP D avide Cerri dav ide@ linux.it Crittografia Per proteggere le comunicazioni su Internet si utilizza la crittografia. La crittografia è la scienza che si occupa
Aritmetica dei puntatori
Aritmetica dei puntatori Marco Alberti Programmazione e Laboratorio, A.A. 2016-2017 Dipartimento di Matematica e Informatica - Università di Ferrara Ultima modifica: 7 dicembre 2016 sizeof L operatore
Il simulatore SPIM SPIM
Il simulatore SPIM Architetture dei Calcolatori (lettere A-I) SPIM SPIM: un simulatore per eseguire programmi assembler scritti per processori MIPS32 Download e materiale relativo alla pagina Web http://www.cs.wisc.edu/~larus/spim.html
Cifratura simmetrica
Cifratura Cifratura simmetrica Alice canale insicuro Bob 2 Cifratura simmetrica m Algoritmo di decifratura m Alice canale insicuro Algoritmo di cifratura Bob 3 Cifrari simmetrici chiave privata k chiave
OTTAVA ESPERIENZA DI LABORATORIO. L elaborazione dei files in C
CORSO DI LABORATORIO DI INFORMATICA CORSO DI LAUREA IN SDM ANNO ACCADEMICO 2011-2012 Docente: R. Sparvoli Esercitazioni: R. Sparvoli, F. Palma OTTAVA ESPERIENZA DI LABORATORIO L elaborazione dei files
Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main
Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica Università degli
Pretty Good Privacy. PGP fornisce crittografia ed autenticazione. creato da Phil Zimmermann nel 1991. in origine è un'applicazione per e-mail
Pretty Good Privacy PGP fornisce crittografia ed autenticazione creato da Phil Zimmermann nel 1991 in origine è un'applicazione per e-mail RFC 2440 - OpenPGP Message Format nov.98 RFC 3156 - MIME Security
ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi terza
ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi terza vers.0 in lavorazione Docente SAFFI FABIO Contenuti Implementazione delle operazioni di base mediante main in un unico file sorgente... 2 Struttura
PAES. Laurea Specialistica in Informatica. Analisi e sviluppo di un implementazione parallela dell AES per. architetture eterogenee multi/many-core
PAES Analisi e sviluppo di un implementazione parallela dell AES per architetture eterogenee multi/many-core Candidato Paolo Bernardi Relatore Osvaldo Gervasi Laurea Specialistica in Informatica Contesto
Header. Unità 9. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Laboratorio di Informatica Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale
Esercitazione 2 Certificati
Sommario Esercitazione 2 Certificati Laboratorio di 2015/2016 Andrea Nuzzolese Certificati Descrizione esercitazione Free Secure Email Certificates (con InstantSSL) ALMA MATER STUDIORUM UNIVERSITA DI BOLOGNA
Le operazioni di allocazione e deallocazione sono a carico del sistema.
Allocazione della memoria In C++ è possibile creare (allocare) variabili in maniera statica o dinamica. Nell allocazione statica una variabile esiste ed è utilizzabile dal momento della sua dichiarazione
Guida all utilizzo del compilatore lcc-win32 per creare una applicazione console
Guida all utilizzo del compilatore lcc-win32 per creare una applicazione console Il compilatore per i linguaggi c e c++ chiamato lcc-win32 è un prodotto gratuito scaricabile dal sito http://www.cs.virginia.edu/~lcc-win32/
Aspetti Crittografici nel Cloud Computing
Aspetti Crittografici nel Cloud Computing Prof. Massimiliano Sala Università di Trento Trento, 10 Maggio 2013 Prof. Sala (Università di Trento) Trust and Cloud Computing Trento, 10 Maggio 2013 1 / 20 Introduzione
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
Makefile. Un target in generale e' un file. Usando.PHONY: target specifichiamo a make che il target non e' un file
Makefile Un target in generale e' un file. Usando.PHONY: target specifichiamo a make che il target non e' un file make target C./dir in pratica equivale all'esecuzione del comando make target all'interno
Appunti tratti dal videocorso on-line di Algoritmi e Programmazione Avanzata By ALeXio
Appunti tratti dal videocorso on-line di Algoritmi e Programmazione Avanzata By ALeXio 1-La memoria dinamica La scrittura di un programma (indipendentemente dal linguaggio adottato) deve sempre tener conto
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
Gestione dei File in C
Gestione dei File in C Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania [email protected] http://www.diit.unict.it/users/mpalesi Sommario In questo documento saranno introdotte
STATO MAGGIORE DELLA DIFESA Comando C4 Difesa
STATO MAGGIORE DELLA DIFESA Comando C4 Difesa Autenticazione CNS Configurazione del browser Microsoft Internet Explorer e Mozilla Firefox 33.1.1 2014 Sommario Carta Nazionale dei Servizi... 3 Premessa...
Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1
IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza
Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione
IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza
Le command line di Java
Le command line di Java Esercitazioni di Programmazione 2 Novella Brugnolli [email protected] Ambiente di lavoro Per compilare ed eseguire un programma Java abbiamo bisogno di: The JavaTM 2 Platform,
Introduzione alla programmazione in C
Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale
LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 15.V.2015. Indice
LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 15.V.2015 VINCENZO MARRA Indice Parte 1. Input/Output standard dalla console 2 Esercizio 1 2 Eco
La sicurezza nelle reti di calcolatori
La sicurezza nelle reti di calcolatori Contenuti del corso La progettazione delle reti Il routing nelle reti IP Il collegamento agli Internet Service Provider e problematiche di sicurezza Analisi di traffico
Esercitazione 02. Sommario. Un po di background (1) Un certificato digitale in breve. Andrea Nuzzolese
Sommario Esercitazione 02 Andrea Nuzzolese Certificati Descrizione esercitazione Free Secure Email Certificates (con InstantSSL) ALMA MATER STUDIORUM UNIVERSITA DI BOLOGNA Un certificato digitale in breve
DevC++ vers. 4.9.9.2 Manuale d uso
DevC++ vers. 4.9.9.2 Manuale d uso Liceo Scientifico N. TRON di SCHIO (VI) Sommario 1 INTRODUZIONE... 3 2 SETUP... 5 2.1 Procedura di installazione... 5 2.2 Configurazione... 7 2.2.1 Opzioni dell ambiente...
PROVINCIA AUTONOMA DI TRENTO
PROVINCIA AUTONOMA DI TRENTO Carta Provinciale dei Servizi Microsoft Windows XP/Vista/7 www.cartaservizi.provincia.tn.it Questo manuale fornisce le istruzioni per l'utilizzo della Carta Provinciale dei
Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C
Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica (Industriale), Chimica, Elettrica, e Meccanica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011
Aruba Sign 2 Guida rapida
Aruba Sign 2 Guida rapida 1 Indice Indice...2 1 Informazioni sul documento...3 1.1 Scopo del documento...3 2 Prerequisiti...4 2.1.1 Software...4 2.1.2 Rete...4 3 Installazione...5 Passo 2...5 4 Avvio di
Le stringhe. Le stringhe
Informatica: C++ Gerboni Roberta Stringhe di caratteri (esempi di utilizzo dei vettori) Nel linguaggio C++ una stringa è semplicemente un vettore di caratteri Vettori di caratteri La stringa "hello" è
La protezione dai memory error exploit
Università degli Studi di Milano Sommario Introduzione 1 Stack Guard Terminator Canaries Random Canaries 2 3 Buffer Overflow Stack Guard Introduzione Buffer Overflow Condizione anomala. Memorizzazione
Esercitazione 02. Angelo Di Iorio
Esercitazione 02 Angelo Di Iorio ALMA ALMA MATER MATER STUDIORUM STUDIORUM UNIVERSITA UNIVERSITA DI DI BOLOGNA BOLOGNA Sommario Thawte Descrizione esercitazione Thawte Cosa è http://www.thawte.com/ Certificate
Firma digitale e PEC: aspetti crittografici e sicurezza
Firma digitale e PEC: aspetti crittografici e sicurezza Prof. Massimiliano Sala Università degli Studi di Trento, Lab di Matematica Industriale e Crittografia Trento, 17 Febbraio 2012 M. Sala (Università
La struttura dati ad albero binario
La struttura dati ad albero binario L albero è una struttura dati nella quale le informazioni sono organizzate in modo gerarchico, dall alto verso il basso. Gli elementi di un albero si chiamano nodi,
Breve riepilogo della puntata precedente:
Breve riepilogo della puntata precedente: 1. In C, il passaggio dei parametri alle funzioni avviene sempre per copia, ovvero il valore del parametro viene copiato all'interno della variabile che rappresenta
Approfondimento di Marco Mulas
Approfondimento di Marco Mulas Affidabilità: TCP o UDP Throughput: banda a disposizione Temporizzazione: realtime o piccoli ritardi Sicurezza Riservatezza dei dati Integrità dei dati Autenticazione di
Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008)
Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Introduzione a Java: primo programma, installazione dell ambiente di sviluppo, compilazione ed esecuzione 1 Introduzione Java è un linguaggio
Librerie. Laboratorio di Informatica Antonio Monteleone 28
Librerie Una libreria è una collezione di funzioni (classi, variabili) usata per sviluppare applicazioni. Le funzioni (classi, variabili) contenute in una libreria si dicono da questa esportate. L'uso
puntatori Lab. Calc. AA 2007/08 1
puntatori Lab. Calc. AA 2007/08 1 parametri delle funzioni (dalla lezione scorsa) gli argomenti in C vengono passati by value dalla funzione chiamante alla funzione chiamata la lista degli argomenti viene
Esercizi sulle stringhe
Esercizi sulle stringhe Esercizio 1 La cifratura è un processo di sostituzione, permutazione manuale ed automatica di simboli. Lo scopo di un criptosistema è di cifrare un testo intellegibile (in chiaro)
Crittografia e Protocolli di Sicurezza
Crittografia e Protocolli di Sicurezza Ing. Emilio Spinicci 07/04/2004 1 Argomenti della lezione Introduzione Principi di Crittografia Protocolli di Sicurezza Attacchi ai Protocolli di Sicurezza 07/04/2004
Primi programmi in C
Primi programmi in C Docente: Violetta Lonati PAS classe A042 Corso introduttivo pluridisciplinare in Informatica Nota: ricordate le opzioni principali del comando gcc (per eventuali dubbi, consultate
Quasar Sistemi S.r.l.
La Firma Digitale Quasar Sistemi S.r.l. Via San Leonardo, 52 84131 Salerno Telefono 089.3069802-803 Fax 089.332989 E-Mail: [email protected] Web http://www.quasar.it Documento Elettronico (D.E.) Un documento
Prima Esercitazione. Unix e GNU/Linux. GNU/Linux e linguaggio C. Stefano Monti [email protected]
Prima Esercitazione GNU/Linux e linguaggio C Stefano Monti [email protected] Unix e GNU/Linux Unix: sviluppato negli anni '60-'70 presso Bell Labs di AT&T, attualmente sotto il controllo del consorzio
La Sicurezza delle Reti. La Sicurezza delle Reti. Il software delle reti. Sistemi e tecnologie per la multimedialità e telematica.
Sistemi e tecnologie per la multimedialità e telematica Fabio Burroni Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena burronif@unisi unisi.itit La Sicurezza delle Reti La presentazione
Elementi di Sicurezza e Privatezza Laboratorio 10 Uso di OpenSSL per generare certificati X.509. Chiara Braghin [email protected]!
Elementi di Sicurezza e Privatezza Laboratorio 10 Uso di OpenSSL per generare certificati X.509 Chiara Braghin [email protected]! OpenSSL (1) Libreria crittografica rilasciata come software opensource
Sistemi Operativi (M. Cesati)
Sistemi Operativi (M. Cesati) Compito scritto del 16 luglio 2015 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare
Homework HWC1 di Programmazione Concorrente 13 novembre 2014 anno accademico 2014/2015
Homework HWC1 di Programmazione Concorrente 13 novembre 2014 anno accademico 2014/2015 Modalità di consegna L homework va consegnato entro le ore 20:00 di domenica, trenta di novembre, inviando al docente
Fondamenti di Informatica T-1, 2010/2011 Modulo 2. Prova d Esame 4A di Martedì 21 Giugno 2011 tempo a disposizione 2h
Prima di cominciare: si scarichi dal sito http://esamix.labx il file StartKit4A.zip contenente i file necessari (progetto Visual Studio ed eventuali altri file di esempio). Avvertenze per la consegna:
Esempio 1: stampa locale di file remoto
Alcuni esempi di uso di Socket Esempio 1: stampa locale di file remoto Visualizzazione locale del contenuto di un file remoto. Il client deve richiedere la creazione della connessione e successivamente
GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C
GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C.:luxx:. PREMESSE In questa guida non verranno trattati i costrutti di flusso, le funzioni, o comunque le caratteristiche del linguaggio, che si danno come presupposte.
Linguaggio C - Stringhe
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - Stringhe La presente dispensa e da utilizzarsi ai
