Studio ed Implementazione di Schemi di Crittografia Visuale mediante Java Cryptography Architecture
-
Upload
universita-degli-studi-di-milano-sede-di-crema -
Category
Documents
-
view
1.010 -
download
3
description
Transcript of Studio ed Implementazione di Schemi di Crittografia Visuale mediante Java Cryptography Architecture
UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI INFORMATICA
Corso di Laurea in Sicurezza dei Sistemi e delle Reti Informatiche
Studio ed Implementazione di Schemi di Crittografia Visuale mediante
Java Cryptography Architecture
TESI DI LAUREA Marco VERNACCINI
Matr. 784170
RELATORE Prof. Stelvio CIMATO
Che cos’è la Crittografia Visuale?
È una Tecnica Crittografia per:
∗ Cifratura d’immagini
∗ Condivisione di segreti
Caratteristica Principale :
∗ Permette la decodifica delle immagini mediante il solo sistema visivo
umano senza ricorrere all’utilizzo di elaboratori elettronici
Modello Base
Schemi Analizzati
• Schema di Crittografia Visuale Estesa in bianco e nero: ∗ Le Share prodotte contengo pixel disposti in maniera tale da formare un
immagine di senso compiuto ∗ Come input si hanno una immagine segreta e 𝑛 immagini di senso
compiuto, con 𝑛 il numero di partecipanti dello schema
• Schema di Crittografia Visuale a Colori senza oscurazione: ∗ L’immagine segreta e le share prodotte contengo pixel bianchi, neri e
colorati. ∗ Senza oscurazione: i colori dei singoli pixel nell’immagine segreta
ricostruita sono gli stessi colori dell’immagine originale
Crittografia Visuale Estesa
Crittografia Visuale a Colori
• Linguaggio ad oggetti Java ∗ Orientato alla sicurezza ∗ Flessibile ∗ Ricco di API
• In particolare la libreria per la crittografia JCA ∗ Indipendenza dall’algoritmo utilizzato ∗ Indipendenza dall’implementazione ∗ Estensibilità
Implementazione
Java Cryptography Architecture
Applicazione Java
Service Provider Interface (SPI)
API JCA
Cryptographic Service Providers
Sun Provider
Bw2 Provider
C2n Provider
Other Provider
Richiesta Risposta
Servizio di Crittografia Visuale Estesa
Applicazione Java Servizio di crittografia visuale estesa
Istanziazione della Engine Class Dealer per l’algoritmo scelto
Creazione dei gruppi di partecipanti qualificati alla ricostruzione del segreto
Inizializzazione Dealer
Generazione Share mediante metodo dealer.generateShares
Istanziazione della Engine Class Maker
per l’algoritmo scelto
= Maker
Che cosa fa generateShares?
• Tutte le immagini vengono convertite in matrici di byte.
• Date le immagini di ogni partecipante e data l’immagine segreta da condividere:
1. Analizza ogni pixel dell’immagine segreta e i corrispondenti delle immagini dei partecipanti 2. Genera quindi una stringa a seconda del colore dei pixel analizzati 3. La stringa viene poi utilizzata come indice, per identificare in un vettore di matrici, quella giusta per codificare il pixel delle shares 4. Completata la matrice per ogni shares, ognuna viene convertita in immagine per poter essere stampata su di un lucido e consegnata ai partecipanti
Servizio di Crittografia Visuale a Colori
Applicazione Java Servizio di crittografia visuale a colori
Istanziazione della Engine Class Dealer per l’algoritmo scelto
Creazione dei gruppi di partecipanti qualificati alla ricostruzione del segreto
Inizializzazione Dealer
Generazione Share mediante metodo dealer.generateShares
Istanziazione della Engine Class Maker
per l’algoritmo scelto
= Maker
• Tutte le immagini vengono convertite da 16 mln di colori in soli 8 colori e successivamente in matrici di byte.
• Data l’immagine segreta da condividere: 1. Analizza ogni pixel dell’immagine segreta 2. In base al colore del pixel analizzato genera una stringa 3. La stringa viene poi utilizzata come indice, per identificare in un vettore
di matrici, quella giusta per codificare quel determinato colore di pixel in ogni shares
4. Completata la matrice per ogni shares, ognuna viene convertita in immagine per poter essere stampata su di un lucido e consegnata ai partecipanti
Che cosa fa generateShares?
• L’applicazione realizzata è:
∗ Efficiente
∗ Modulare-Flessibile
∗ Portabile
Conclusioni
GRAZIE PER L’ATTENZIONE