centre universitaire de formation et de recherche de nîmes william puech cryptage dimages :...
TRANSCRIPT
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
CRYPTAGE D’IMAGES : robustesse à la compression
William PUECH
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Contexte• Transfert sécurisé d’images.
• Systèmes de gestion de base de données images distribuées.
• Codage source versus codage canal.
• Applications :– Imagerie médicale
– Sécurité routière
– Télésurveillance, …
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Le problème
• Transfert sécurisé de données images– Qualité des données transmises.
– Authentification.
– Intégrité.
– Robustesse à la compression.
Cryptage et tatouage d’images
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
L’équipeCryptage d’images
– JC. Borie : doctorant CEM2, Cryptage d’images médicales, M. Dumas, W. Puech.
– S. Piat : DESS Info. Images, Univ. Reims.
Tatouage et traitement d’images
– M. Hatimi, MCF 27. J. Triboulet MCF 61.
– JJ. Charre : doctorant CEM2, Détection de contours pour le transfert d’images, G. Michaille, W. Puech.
– G. Lo Varco : doctorant CEM2, Insertion de messages longs dans une image , M. Dumas, W. Puech.
– P. Montesinos, LGI2P, EMA.
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Plan
• Codage d’informations– Codage source – Codage canal– Compression d’images
• Cryptage d’images– RSA– Basé Vigenère– DES et TEA
• Résultats et Analyse des méthodes.
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Codage d’informations
• Codage source : transformation des données utiles (source) afin de répondre à un problème particulier.
• Codage canal : adaptation signal / canal
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Codage source
• Transformation couleur : RGB YUV
• Changement de formats : tiff bmp, ppm pgm, raw png, …
• Compression : raw jpg, ppm jpg2000, bmp gif
• …
• Cryptage et tatouage.
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
• Cryptographie: transmission d’un message indéchiffrable
ex: LIS MJT
• Stéganographie: transmission d’un message imperceptible
ex: LIS les ingénieurs sauvagesles ingénieurs sauvagesdes ingénieurs sauvages
•Tatouage : transmission d’un message imperceptible et indélébile (Le contenant est important)
ex: LIS le sujet inédit impose sa leçonle sujet inédit impose sa leçon
Du cryptage au tatouage
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Codage canal– Bits : signaux sur le support.
– Bande de base : représentation directe des bits
• Ethernet : code Manchester : 0 front , 1 front .
• Affaiblissement rapide du signal, très sensible aux bruits : réseaux locaux.
• Synchronisation des 2 bouts en rajoutant des bits.
– Synchrone : horloge transmise avec les données.
– Asynchrone : devant chaque éléments de données : groupe de bits pour l'échantillonnage.
• 01010101 …
• Bits start dans asynchrone V24.
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Codage canal– Codage
– Code correcteur d’erreur
– Contrôle de flux
– Synchronisation
– Fenêtrage
– Multiplexage
– @ emission, @ destination
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Codage canalCodage en bande de base : substitution du signal original par un autre signal dont le spectre de fréquence est adapté à la communication
– Code biphase "Manchester" et "différentiel
– code de Miller, code bipolaire, code HDB3, ...
1 0 1 1 0 0 0 0 0 1 0 0 0 0 0 Binaire
Biphase
Bipolaire
HDB3
+
-
+
-
+
-
+ +
+ +
- -
- -V
V
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Théorie du Signal
– Mesure de l’information
– Capacité d’un canal
– Codage et optimisation de l’utilisation d’un canal
• Information : IA = -log2 PA bits
• Entropie : bits/symbole :
• Théorème fondamental de Shannon
m
i ii
PPH
12
1log
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Théorie du Signal
0 255
ddp
1/256
0 255
ddp1/100
1/200
50 149 199150 0 255
ddp
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Codage source : compression
• Contexte : codage ou compression des images numériques
• Pourquoi : réduction de la quantité d ’éléments binaires représentant l ’information « image »=> codage de source
• Finalité : archivage ou transmission
[bit] compressée ima. info.d' Qté
[bit] originale ima. info.d' Qté comp. deTaux
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Codage source : compression
2 types de compression:– Codage sans perte (« entropique »)
Ex. : Huffman, Lempel-Ziv, Arithmétique, …=> taux de compression faible (1.5 à 2)
– Codage avec pertes (« irréversible ») :Suppression des redondances (information inutile) car
• prévisible• invisible par système visuel humain (SVH)
=> Taux de compression élevés (>10)
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
– image transmise en la balayant(« Zigzag scan »)
– constat : le niveau de gris d ’un pixel dépend souvent de celui de ses voisins
– idée : prédire X en utilisant A, B ou C la base du codage MICD (Modulation d ’Impulsions Codées Différentielles)=> une phase d ’analyse de l ’image
X
A B
C
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Historique
• Image fixe– 1980 : Recommandation pour le fac similé
– 1992 : JPEG• « Joint Photographic Expert Group »
• images couleurs et N&B (Ex : satellite, médicales, …)
• plusieurs modes (Ex : séquentiel, sans perte, progressif, hiérarchique)
• format image < (768x576)
• débits : de 8 M bit/s à 40 M bit/s
– 2000 : JPEG 2000(débits inférieurs, haute robustesse aux erreurs de transmission, description basé contenu, large gamme d ’images, interface avec
MPEG4, …)
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Schéma général de compression
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
• DCT (« Discrete Cosine Transformation »)
– Transformation Discrète en Cosinus
– changement de l ’espace de représentation : passage du domaine spatial au domaine fréquentiel
64 pixels 64 coefficients
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
• DCT (suite), définitions– DCT
– DCT inverse
sinon 1
0 si 2
1)(
),(16
)12(cos
16
)12(cos
4
)()(),(
7
0
7
0
A
jifvjuivAuA
vuFi j
sinon 1
0 si 2
1)(
),(16
)12(cos
16
)12(cos)()(
4
1),(ˆ
7
0
7
0
A
vuFvjui
vAuAjifu v
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
• DCT (suite)– une décomposition sur
64 fonctions de base(ou sous-images de base)
bloc sous-images
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
• DCT (suite)– implémentation
• des algorithmes rapides de calcul
• transformation 2D ~~> 2 x transformations 1D
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Quantification• Pourquoi : SVH moins sensible aux hautes fréq.• Idée : moins de bits pour les coeff. relatifs à ces fréq.• Quantification :• Reconstruction :• Ex:
bits 6 [binaire] 101101 [décimal] 45),( vuF
),(/),(),'( vuqvuFentvuF
bits 4 [binaire] 1011 [décimal] 1111.25ent 4/45),(' entvuF
),(),'(),''( vuqvuFvuF
4),( vuq
v)F(u,v)(u,F" [décimal] 44 411),('' vuF
Une erreur de quantification existe
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
• Quantification uniforme : tous les q(u,v) égaux
• Quantification non-uniforme : tables des q(u,v)
– q(u,v) grand => quantification grossière
– tables peuvent-être transmises dans l ’en-tête (« header ») de l ’image
pour la Luminance pour les Chrominances
Vers les htes. Fréq.
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Balayage en zig-zag (du bloc)
• Intérêt : former un vecteur où les coeff. relatifs aux basses fréq. sont regroupés
Coeff. ACdesBasses fréq.
Coeff. DC
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Codage DPCM des Coeff. DC• Méthode :
– regroupement des coeff. DC
– balayage sous-image :gche->dte, haut->bas
– X : valeur à prédireP(X) : prédiction de XEx. P(X)=A (cas le plus simple, mode de base) P(X)=(A+C)/2 …
– transmission de X-P(X)
• Pourquoi : niveau de gris des pixels voisins sont souvent proches
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Codage des coefficients AC
• Constat : apparition de longues plages de 0 après quantification
• Méthode : codage de ces plages («Run
Length Coding»)
– un ensemble de paires (Coeff., Nb. de 0)
– fin d ’un bloc : paire (0, 0) :
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Codage entropique
• Principe :
– codeur « classique » : un alphabet de mots de code de même longueur(Ex. pour 8 symboles : 000, 001, 010, 011, 100, 101, 110, 111)
– codeur entropique :• un alphabet de mots de code de longueurs différentes
(Ex. 00, 01, 10, 110, 010, 111, …)
• attribuer aux symboles les plus probables, les mots de code les plus courts
• effet : réduction du coût moyen (débit [en bit]) de la transmission
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Codage entropique avec JPEG• Coeff. DC :
– mise en correspondance :valeurs coeff. / taille du mot représentant [bit]
– Ex. : si DC=-9 => 4 bits
– transmission de la paire :(Taille, Valeur)
Coeff. AC :codage de Huffman des paires (Coeff., Nb. de 0)
Table de Huffman (cad l ’alphabet des mots de code ) :pré-existante ouconstruite (transmission dans l ’entête)
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Les 4 modes d ’utilisation de JPEG
• Mode séquentiel :– le mode de base
– chaque plan est codé directement par un balayage (gche->dt, haut->bas)
• Mode sans perte :– un codage sans perte
– utilisation d ’un prédicteur pour coder les coefficients
– taux de compression de 1,5 à 2
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Les 4 modes d ’utilisation de JPEG • Mode progressif :
– idée : transmettre d ’abord une image de basse qualité, puis l ’améliorer par des ajouts successifs
– 2 façons :• sélection spectrale : transmettre d ’abord les coeff.
DC et quelques coeff. AC, puis d ’autres coeff. AC
• approximations successives : transmettre d ’abord des coeff. grossièrement quantifiés, puis les quantifier plus finement et transmettre cette nouvelle information
• Mode hiérarchique :– répond aux besoins de « scalabilité » de certains
décodeurs (dans un même flot binaire : plusieurs résolutions, plusieurs modes, …)
– par l ’imbrication d ’opérations d’échantillonnages / codages / décodages / interpolations
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Exemples
Image originale (300 Ko) Image compressée (10 ko)
Problème = effets de blocs
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Redondance dans une image
128 64 32 16 8 4 2 1
1
0
1 1 1 10 0 0 0 = 170
= 65 01000001
= 69 01000101
=> A
=> E
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Cryptage d’images
• RSA
• Basé Vigenère
• DES
• TEA
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Cryptographie
• Préserver la confidentialité des documents.
• Garantir l’authenticité des documents transmis.
• Intégrité des messages.
• Le non-désaveu.
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Terminologie• Texte en clair :
– Information à transmettre.
• Chiffrement :– Crypter le message (le rendre incompréhensible).– Cryptogramme.
• Déchiffrement : – Retour au texte en clair.
• Cryptologie :– Partie mathématique de la cryptographie et cryptanalyse.
• Cryptanalyse :– Décryptage sans connaissance de la clef.
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Les clefs
• Techniques de chiffrement de messages plus ou moins robustes.
• Algorithmes à clefs de chiffrement et de déchiffrement identiques, soit différentes.– Algorithmes à clef secrète (clef symétrique).
– Algorithmes à clefs publique et privée (clefs asymétriques).
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Divers types de chiffrement
• Chiffrement par substitution :– Caractère du texte clair remplacé par un autre
caractère dans le texte chiffré.• Chiffrement à substitution simple (César).• Chiffrement à substitution simple par polygramme
(Playfair, Hill).• Chiffrement à substitution polyalphabétique (Vigenère,
Beaufort).• Chiffrement à substitution homophonique :
– évite l’analyse des fréquences.
• Chiffrement par transposition :– à éviter pour des messages courts.
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Chiffrement par décalage
• Zm : ensemble de m éléments.
• Soit x à chiffrer :
• ek(x) = x + k % m,
• Et dk(y) = y – k % m
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Chiffrement de Vigenère• Découpage de message de longueur
identique à celle de la clef :
• Clef = bonjour, longueur = 7.
• Texte = « en partant ce matin le ciel était bleu … »
e n p a r t
b o n j o u r
a n t c e
b o n j o u r
m a t i n l
b o n j o u r
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Arithmétique modulaire
• a, b et m entiers, m>0. a est congru à b, si m divise b-a :
a b % m si m | (b – a)
• Zm, ensemble à m éléments.
L’inverse de 1/a de a :
a Zm : a-1.a = a.a-1 = 1 (mod m)
– ex : m = 26, a = 3 alors a-1 = 9.
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Fonction d’Euler• Soit m, décomposable en p facteurs premiers :
• Alors :
• Nombre d’entiers premiers avec m.
ieni
i
ipm
0
)(
ni
i
ii ieppm0
e ))()((E )( 1i
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Cryptographie actuelle
• DES (Data Encryption Standard) par la– 1970 NBS (National Bureau of Standards)– 1974 IBM : Lucifer -> DES : 1978– Réactualisé tous les 5 ans -> 1998.– Chiffrement par blocs de 64 bits (dont 8 pour
CCE) combinés, substitués, et permutés.– Clef sur 64 bits de 16 blocs de 4 bits -> 256
combinaisons possibles (72 1015)– Utilisé par les banques françaises
• Forte demande pour le Web.
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Algorithme
du DES
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Algorithme
du DES
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
DES -> AES
• 2000 : Advanced Encryption Standard.– Car progression des technologies des
ordinateurs.
– Compétition de 15 algorithmes.
– Spécialistes de carte à puce et porte monnaie électronique.
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Algorithme RSA
• Algorithme à clef publique.– Factorisation de grands entiers.
– Arithmétique des congruences.• Clef n = p.q, 2 nombres premiers secrets, n
divulgué.(n) = (p-1)(q-1) : nbre de nbres premiers à n.
• Clef publique e : 2 < e < (n) -> couple (n,e).
• Clef privée d = e-1 % (n) pour le décryptage.
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Algorithme RSA
• Si Alice envoie un message M à Bob :– Couple (n,e) de Bob– Découpage de M en blocs de taille < nbre de
chiffres de n : M = m1m2…..mi
– ci = mi e % n, C = c1c2…..ci
• Au décryptage– ci
d = (mi e)d
• Principe simple mais utilisation de grands nombres.
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Alice et Bob
réception
Message M
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
TEA
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Cryptage appliquée aux images
• 64 bits : 8 pixels consécutifs
P(i) P(i+1) … … … … … P(i+7)01011100 10001111 … … … … … 10011110Cryptage11001110 00101001 … … … … … 01000111P’(i) P’(i+1) … … … … … P’(i+7)
DES, TEA, RSA
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Cryptage d’images basé VigenèreA partir d’une image de N pixels, un pixel p(n) sera
crypté en p’(n) :
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Cryptage d’images basé Vigenère
L’ordre de récurrence est k et la clef de cryptage est composée de 2k éléments, (i) et p’(i), avec i [1, k] :
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Résultats et Analyse
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Résultats de cryptage d’images
DES : blocs 8 pixels clef 64 bits
Basé VigenèreBlocs de 32 pixels clef 64 bits
TEA : blocs 8 pixels clef 128 bits
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Résultats de cryptage d’images
DES : blocs 8 pixels clef 64 bits
TEA : blocs 8 pixels clef 128 bits
Basé VigenèreBlocs de 32 pixels clef 64 bits
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Cryptage d’images : RSA
Image 56x40 pixelsRSABlocs de 8 pixels clef 64 bits
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Cryptage d’images : RSA
Temps de cryptage parRSA en fonction du nombre de pixels dans les blocs de cryptage
Temps de cryptage parRSA en fonction de la longueur de la clef privée
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Comparaison des temps de cryptage
Temps de cryptage en fonction de la taille des images
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Cas des images
médicales
DES : blocs 8 pixels clef 64 bits
TEA : blocs 8 pixels clef 128 bits
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
TEA : blocs 3x3 avec 1 pixel clair
TEA : blocs 9 pixels avec 1 pixel clair
TEA : blocs 9 pixels avec 1 pixel clair masqué
Image basse résolutionà partir de l’image cryptée (sans décryptage)
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Cryptage par TEA par blocs 3x3 pixels
(dont 1 pixel clair masqué)
TEA : blocs 9 pixels Comprimé FQ=80%65 k0 39 kO
Image basse résolutionÀ partir de l’image cryptée et comprimée
Image basse résolutionÀ partir de l’image cryptée et comprimée FQ=80%
décryptage
décryptage
Compression JPEGet
TEA : blocs 9 pixels Comprimé FQ=100%65 k0 101 kO
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Cryptage d’images basé Vigenère (clef
64 bits)
Compression JPEGet
Basé Vigenère Comprimé FQ=100%65 k0 101 kO
Basé Vigenère Comprimé FQ=80%65 k0 39 kO
Basé Vigenère Comprimé FQ=60%65 k0 31kO
William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Conclusion
• Algorithmes de cryptage adaptés aux images.
• Entropie maximale.
• Temps de cryptage et longueur des clefs.
• Pb des zones homogènes.
• Algorithmes TEA et basé Vigenère.