Sicurezza dell'Informazione M
S-vLab - Laboratorio virtuale per il corso di Sicurezza dell'Informazione
Questa pagina contiene tutto il materiale relativo alle esercitazioni con il laboratorio virtuale S-vLab.
S-vLab può essere scaricato ed installato sulla propria macchina, seguendo le istruzioni riposrtate nella sezione "Download ed installazione di S-vLab". La versione basata su Rich Client Platform di S-vLab può anche essere scaricata ed utilizzata in Lab2.
La sezione "Esercitazioni" contiene tutti i materiali predisposti per gli esercizi proposti.
I lucidi sono tutti in formato pdf: per leggerli è necessario utilizzare
Acrobat Reader.
Per qualunque dubbio o problema sulle esercitazioni è possibile fare riferimento ad Anna Riccioni (tel. 051-209-3086).
I lucidi ed i materiali per le esercitazioni verranno progressivamente aggiunti e aggiornati.
Istruzioni per l'installazione e l'avvio di S-vLab:
- installazione e avvio: guida per installare e configurare la versione basata su Rich Client Platform (per macchine Windows) o Feature
- installazione su Mac: guida per l'installazione di S-vLab Feature su Mac OS X 10.6, a cura di Alessandro Martella
S-vLab per Windows:
- S-vLab RCP: S-vLab, versione basata su Rich Client Platform (eseguibile, per macchine Windows)
S-vLab per altre piattaforme:
- S-vLab Feature: S-vLab, versione Feature, da installare come estensione di Eclipse (dalla versione 3.3 in su)
- S-vLab Feature per Java 5: S-vLab, versione Feature, da installare come estensione di Eclipse (dalla versione 3.3 in su) per Java 5
- plug-in Ganymede-Log4J: plug-in Ganymede-Log4J, necessario per completare correttamente l'installazione della versione Feature di S-vLab
- plug-in CBG Editor: plug-in CBG Editor, necessario per completare correttamente l'installazione della versione Feature di S-vLab
Utilities:
- BouncyCastle setup: eseguibile (per macchine Windows) per l'installazione del provider BouncyCastle, a cura di Primiano Tucci
Prima esercitazione: la funzione hash ed il PRNG
Seconda esercitazione: la crittologia classica
- Codec: applicativo per la crittologia classica (sostituzione monoalfabetica e polialfabetica, trasposizione)
- Cryptotest: applicativo per la crittologia classica (sostituzione monoalfabetica e polialfabetica)
Terza esercitazione: il cifrario simmetrico
- InformationSecurityTest.zip: progetto Eclipse contenente una possibile soluzione all'esercizio su MessageDigest proposto durante le esercitazioni precedenti
- Esercizi proposti (contiene esercizi proposti durante l'attivitą in laboratorio ed esercizi facoltativi da svolgere autonomamente)
- Slide utilizzate durante l'attivitą in laboratorio
Quarta esercitazione: attacco basato sulla ripetizione del flusso di chiave
- Couple-Time Pad: esercizio di crittanalisi su un cifrario a flusso, ispirato ad un problema posto da Ron Rivest ai suoi studenti nell'ambito del corso di "Computer and Network Security"
Quinta esercitazione: i numeri primi e la firma digitale
- CoupleTimePad_sol.zip: progetto Eclipse contenente una possibile soluzione all'esercizio Couple-Time Pad proposto durante le esercitazioni precedenti
- CTP_summary.txt: file di testo che riassume il risultato ottenuto per Couple-Time Pad
- Esercizi proposti (contiene esercizi proposti durante l'attivitą in laboratorio ed esercizi facoltativi da svolgere autonomamente)
- pge.txt: file di testo contenente i valori p, g, e da utilizzare durante gl esercizi proposti
- Rep_square_and_multiply.xls: esempio di analisi dei tempi di esecuzione di un'operazione di esponenziazione modulare per studiare l'algoritmo "repeated square and multiply" (foglio elettronico)
Sesta esercitazione: il cifrario asimmetrico, lo scambio di Diffie-Hellman, i certificati
- Certificate.zip: progetto Eclipse contenente alcuni listati Java per la gestione dei certificati
- Esercizi proposti (contiene esercizi proposti durante l'attivitą in laboratorio ed esercizi facoltativi da svolgere autonomamente)
- RSAKeys.java: listato Java per la creazione di una coppia di chiavi RSA con KeyPairGenerator (provider BouncyCastle e Sun)
- RSAExecTime.java: listato Java per la creazione manuale di due coppie di chiavi RSA equivalenti (con e senza ottimizzazione basata sul teorema cinese del resto) e confronto dei tempi di esecuzione