CRYPTAGE DIMAGES robustesse la compression William PUECH Centre
CRYPTAGE D’IMAGES : robustesse à la compression 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’équipe Cryptage d’images – JC. Borie : doctorant CEM 2, 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 CEM 2, Détection de contours pour le transfert d’images, G. Michaille, W. Puech. – G. Lo Varco : doctorant CEM 2, Insertion de messages longs dans une image , M. Dumas, W. Puech. – P. Montesinos, LGI 2 P, 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 jpg 2000, bmp gif • … • Cryptage et tatouage. William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Du cryptage au tatouage • Cryptographie: transmission d’un message indéchiffrable ex: LIS MJT • Stéganographie: transmission d’un message imperceptible ex: LIS les ingénieurs sauvages des 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çon 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. • 0101 … • Bits start dans asynchrone V 24. 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 canal Codage 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 HDB 3, . . . Binaire 1 + 0 1 1 0 0 0 0 0 Biphase Bipolaire + + HDB 3 + + - William PUECH - + + V - V 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 = -log 2 PA bits • Entropie : bits/symbole : • Théorème fondamental de Shannon William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
Théorie du Signal ddp 1/256 0 1/200 255 William PUECH ddp 1/100 0 50 149 150199 255 0 255 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 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 » ) A B C X – 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 William PUECHphase d ’analyse de l ’image 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 < (768 x 576) • 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 MPEG 4, …) 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 William PUECH 64 pixels 64 coefficients Centre Universitaire de Formation et de Recherche de Nîmes
• DCT (suite), définitions – DCT inverse 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 William PUECH sous-images Centre Universitaire de Formation et de Recherche de Nîmes
• DCT (suite) – implémentation • des algorithmes rapides de calcul • transformation 2 D ~~> 2 x transformations 1 D 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: 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) Vers les htes. Fréq. pour la Luminance pour les Chrominances – q(u, v) grand => quantification grossière – tables peuvent-être transmises dans l ’en-tête ( « header » ) de l ’image Centre Universitaire de Formation William PUECH et de Recherche de Nîmes
Balayage en zig-zag (du bloc) Coeff. DC Coeff. AC des Basses fréq. • Intérêt : former un vecteur où les coeff. relatifs aux basses fréq. sont regroupés 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édire P(X) : prédiction de X Ex. 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 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) n n Table de Huffman (cad l ’alphabet des mots de code ) : upré-existante ou uconstruite (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 0 1 0 = 65 01000001 => A = 69 01000101 => E William PUECH = 170 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. Centre Universitaire de Formation William PUECH 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 William PUECH b o n a n t b o n m a t b o n j o u c e j o u i n r r l Centre j Universitaire o u de Formation r 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 : Universitaire de Formation • Nombre d’entiers premiers Centre avec et dem. Recherche de Nîmes William PUECH
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 = m 1 m 2…. . mi – ci = mi e % n, C = c 1 c 2…. . ci • Au décryptage – cid = (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 Message M William PUECH réception 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 … … … 10011110 ÞCryptage 11001110 00101001 … … … 01000111 P’(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ère A 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 2 k é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ère Blocs 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 Basé Vigenère Blocs 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
Cryptage d’images : RSA Image 56 x 40 pixels RSA Blocs 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 par RSA en fonction du nombre de pixels dans les blocs de cryptage Temps de cryptage par RSA 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 William PUECH TEA : blocs 8 pixels clef 128 bits Centre Universitaire de Formation et de Recherche de Nîmes
TEA : blocs 3 x 3 avec 1 pixel clair TEA : blocs 9 pixels avec 1 pixel clair masqué TEA : blocs 9 pixels avec 1 pixel clair William PUECH Image basse résolution à partir de l’image cryptée (sans décryptage) Centre Universitaire de Formation et de Recherche de Nîmes
Cryptage par TEA par blocs 3 x 3 pixels (dont 1 pixel clair masqué) TEA : blocs 9 pixels Comprimé FQ=100% 65 k 0 101 k. O TEA : blocs 9 pixels Comprimé FQ=80% William PUECH 65 k 0 39 k. O et décryptage Compression JPEG Image basse résolution À partir de l’image cryptée et comprimée Image basse résolution À partir de l’image cryptée Centre et Universitaire de Formation comprimée FQ=80% et de Recherche de Nîmes
Cryptage d’images basé Vigenère (clef 64 bits) Basé Vigenère Comprimé FQ=100% 65 k 0 101 k. O William PUECH et Basé Vigenère Comprimé FQ=80% 65 k 0 39 k. O Compression JPEG Basé Vigenère Comprimé FQ=60% 65 k 0 31 k. O 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. William PUECH Centre Universitaire de Formation et de Recherche de Nîmes
- Slides: 64