1. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
CRYPTAGE D’IMAGES :
robustesse à la compression
William PUECH
2. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
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, …
3. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
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
4. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
L’équipe
Cryptage 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.
5. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
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.
6. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
Codage d’informations
• Codage source : transformation des données utiles (source)
afin de répondre à un problème particulier.
• Codage canal : adaptation signal / canal
7. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
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.
8. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
• Cryptographie: transmission d’un message indéchiffrable
ex: LIS MJT
• Stéganographie: transmission d’un message imperceptible
ex: LIS les ingénieurs sauvages
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
le sujet inédit impose sa leçon
Du cryptage au tatouage
9. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
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.
10. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
Codage canal
– Codage
– Code correcteur d’erreur
– Contrôle de flux
– Synchronisation
– Fenêtrage
– Multiplexage
– @ emission, @ destination
11. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
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 HDB3, ...
1 0 1 1 0 0 0 0 0 1 0 0 0 0 0
Binaire
Biphase
Bipolaire
HDB3
+
-
+
-
+
-
+ +
+ +
- -
- -
V
V
12. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
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 i
i
P
P
H 1
2
1
log
13. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
Théorie du Signal
0 255
ddp
1/256
0 255
ddp
1/100
1/200
50 149 199
150 0 255
ddp
14. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
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.
de
Taux
15. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
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)
16. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
– 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
17. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
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, …)
18. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
Schéma général de
compression
19. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
• 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
20. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
• DCT (suite), définitions
– DCT
– DCT inverse
sinon
1
0
si
2
1
)
(
)
,
(
16
)
1
2
(
cos
16
)
1
2
(
cos
4
)
(
)
(
)
,
(
7
0
7
0
A
j
i
f
v
j
u
i
v
A
u
A
v
u
F
i j
sinon
1
0
si
2
1
)
(
)
,
(
16
)
1
2
(
cos
16
)
1
2
(
cos
)
(
)
(
4
1
)
,
(
ˆ
7
0
7
0
A
v
u
F
v
j
u
i
v
A
u
A
j
i
f
u v
21. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
• DCT (suite)
– une décomposition sur
64 fonctions de base
(ou sous-images de base)
bloc sous-images
22. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
• DCT (suite)
– implémentation
• des algorithmes rapides de calcul
• transformation 2D ~~> 2 x transformations 1D
23. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
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
)
,
(
v
u
F
)
,
(
/
)
,
(
)
,
'( v
u
q
v
u
F
ent
v
u
F
bits
4
[binaire]
1011
[décimal]
11
11.25
ent
4
/
45
)
,
(
'
ent
v
u
F
)
,
(
)
,
'(
)
,
''( v
u
q
v
u
F
v
u
F
4
)
,
(
v
u
q
v)
F(u,
v)
(u,
F"
[décimal]
44
4
11
)
,
(
'
'
v
u
F
Une erreur de quantification existe
24. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
• 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.
25. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
Balayage en zig-zag (du bloc)
• Intérêt : former un vecteur
où les coeff.
relatifs aux basses fréq.
sont regroupés
Coeff. AC
des
Basses fréq.
Coeff. DC
26. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
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
27. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
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) :
28. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
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
29. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
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 ou
construite (transmission dans l ’entête)
30. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
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
31. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
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
32. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
Exemples
Image originale (300 Ko) Image compressée (10 ko)
Problème = effets de blocs
33. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
Redondance dans une image
128 64 32 16 8 4 2 1
1
0
1 1 1 1
0 0 0 0 = 170
= 65 01000001
= 69 01000101
=> A
=> E
34. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
Cryptage d’images
• RSA
• Basé Vigenère
• DES
• TEA
35. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
Cryptographie
• Préserver la confidentialité des
documents.
• Garantir l’authenticité des documents
transmis.
• Intégrité des messages.
• Le non-désaveu.
36. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
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.
37. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
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).
38. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
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.
39. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
Chiffrement par décalage
• Zm : ensemble de m éléments.
• Soit x à chiffrer :
• ek(x) = x + k % m,
• Et dk(y) = y – k % m
40. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
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
41. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
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.
42. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
Fonction d’Euler
• Soit m, décomposable en p facteurs premiers
:
• Alors :
• Nombre d’entiers premiers avec m.
i
e
n
i
i
i
p
m
0
)
(
n
i
i
i
i i
e
p
p
m
0
e
)
)
(
)
((
E
)
( 1
i
43. Centre Universitaire de Formation
et de 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.
46. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
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.
47. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
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.
48. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
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.
49. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
Alice et Bob
réception
Message M
51. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
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
52. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
Cryptage d’images basé
Vigenère
A partir d’une image de N pixels, un pixel p(n) sera
crypté en p’(n) :
53. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
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] :
54. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
Résultats et Analyse
55. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
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
56. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
Résultats de cryptage
d’images
DES : blocs 8 pixels
clef 64 bits
TEA : blocs 8 pixels
clef 128 bits
Basé Vigenère
Blocs de 32 pixels
clef 64 bits
57. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
Cryptage d’images : RSA
Image 56x40 pixels
RSA
Blocs de 8 pixels
clef 64 bits
58. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
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
59. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
Comparaison des temps de
cryptage
Temps de cryptage en fonction de la taille des images
60. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
Cas des
images
médicales
DES : blocs 8 pixels
clef 64 bits
TEA : blocs 8 pixels
clef 128 bits
61. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
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)
62. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
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
JPEG
et
TEA : blocs 9
pixels
Comprimé
FQ=100%
65 k0 101 kO
63. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
Cryptage d’images
basé Vigenère (clef 64
bits)
Compression
JPEG
et
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
64. Centre Universitaire de Formation
et de Recherche de Nîmes
William PUECH
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.