Vous êtes sur la page 1sur 10

ISSN:0254-0223 Vol. 30 (n.

2, 2015)

CRYPTO-COMPRESSION D’IMAGE BIOMEDICALE BASEE


SUR LA DCT ET LE RSA

Pascal Ntsama Eloundou, Moïse Manyol


Unité de Formation Doctorale (UFD) ENSAI-FS, Laboratoire Energie Signal Imagerie et
Automatique, Département de physique, Faculté des Sciences, Université de Ngaoundéré
B.P. 454, Ngaoundéré, Cameroun
pentsama@yahoo.fr; moisemany@yahoo.fr

RESUME : La communication moderne de nos jours utilise inéluctablement les réseaux


informatiques. Les images transmises sur ces réseaux sont particulières du fait de leur quantité
importante d’information. Ainsi, l’utilisation des technologies de l’information dans le secteur de
la médecine engendre des nombreuses applications (téléconsultation, télédiagnostic…) où
l’échange des informations médicales reste à la base de leur réussite. La transmission de ces
images pose donc un nombre important de problèmes non encore résolus. L’efficacité d’un réseau
de transmission dépend donc du degré de sécurité d’une part et du temps de transmission et
d’archivage d’autre part. Ces exigences peuvent être satisfaisantes par le cryptage et la
compression. Le travail présenté dans cet article répond à ce type de besoins en proposant un
système de crypto-compression combinant des techniques de cryptage et de compression. L’image
est permutée et chiffrée avec une clé à l’aide d’un algorithme de chiffrement à flot asynchrone.
L’image ainsi chiffrée subit une compression de type JPEG. Le souci étant de transmettre l’image
chiffrée compressée avec sa clé de décryptage, la clé est cryptée par un algorithme asymétrique
(RSA) puis brouillée avec un bruit issu du processus de quantification.
MOTS CLES : Cryptage, Compression, image Biomédicale, RSA, DCT.

1. INTRODUCTION
De nos jours, lorsqu’un médecin reçoit un patient, il a souvent besoin de l’avis
d’un spécialiste avant de prononcer son diagnostic. Une solution possible est de
transmettre par liaison informatique, les images du patient avec le compte-rendu
du spécialiste. Il se pose donc un réel problème quant à la sécurisation des
données lors de la transmission. Pour des raisons éthiques, le transfert des images
médicales ne peut se faire avec un tel risque; et doit donc être protégé. La
protection la plus adaptée pour ce type de communication réside dans la
cryptographie [1, 2].
Les algorithmes standards de chiffrement ne conviennent pas au cas particulier
des images. L’idéal serait de pouvoir appliquer sur les images des systèmes de
chiffrement asymétriques afin de ne pas transférer la clé. Compte tenu de la
connaissance de la clé publique, les systèmes asymétriques sont très coûteux en
temps de calcul, et ne sont envisageable pour un transfert sécurisé d’images. Les
algorithmes symétriques imposent de transférer la clé secrète. Les méthodes
classiques de chiffrement d’images nécessitent le transfert de la clé secrète par un
autre canal ou un autre moyen de communication [3, 4, 5, 6].

257
ISSN:0254-0223 Vol. 30 (n. 2, 2015)

Le cryptage sélectif (CS) développé au cours de ces dix dernières années, peut
quant à lui correspondre à des applications ne nécessitant pas un cryptage
complet, mais uniquement un cryptage des données essentielles et pertinentes.
Cependant, la sécurité d'un CS est toujours plus faible comparée à celle d'un
cryptage complet. La seule raison d'accepter ce type de cryptage est la réduction
importante du temps de calcul par rapport à un cryptage total. Un cryptage sélectif
a pour but de protéger seulement les parties visuelles les plus importantes d'une
image médicale. Pour le transfert d’images, les algorithmes de chiffrement
doivent pouvoir être combinés avec les algorithmes de compression d’images
telles que les algorithmes JPEG [6, 7, 8, 9] et MPEG [10]. Les algorithmes de
cryptage ont donc pour objectif de supprimer toutes les redondances afin d’éviter
des attaques statistiques au profit des algorithmes de compression qui cherchent
les redondances contenues dans les images pour réduire la quantité d’information.
Dans ce papier, nous proposons une méthode de cryptage complet dite à flot.
Cet algorithme de cryptage symétrique est introduit dans la chaîne de compression
JPEG. A ce jour, peu de travaux proposent des solutions de chiffrement à flot. En
combinant la compression et le cryptage par AES, Norcen et al. [11] trouvent
qu’il faut un minimum de 12.5% de données chiffrées pour obtenir un haut niveau
de confidentialité; William Puech et al. [12], Jose Marconi [1] montrent que dans
un système de crypto-compression par cryptage partiel, il y’a perte de taux de
compression.
Après un rappel de l’algorithme JPEG, du chiffrement à flot et RSA en section
2, l’approche de cryptage hybride et de compression proposée est présentée en
section 3. Enfin, les résultats de notre méthode appliquée à deux images
échographiques sont présentés en section 4, suivis d’une discussion.
2. MATERIEL UTILISE
2.1 Compression JPEG
L’algorithme de JPEG est une méthode de compression fortement utilisé en
traitement et transmission d’images. La figure 1 ci-dessous présente l’algorithme
de compression JPEG.
Division de
Image Codage
l’image en DCT Quantification Image JPEG
originale entropique
bloc de 8x8
Matrice de
quantification

Figure 1. Compression JPEG [12]

Les parties importantes sont la Transformée en Cosinus Discrète (TCD) et la


phase de quantification des coefficients fréquentiels. La transformée en cosinus

258
ISSN:0254-0223 Vol. 30 (n. 2, 2015)

discrète permet d’obtenir une représentation fréquentielle de l’image à partir de sa


matrice de pixels. Elle s’exprime par la formule suivante :
𝜋(2𝑥+1)𝑖 𝜋(2𝑦+1)𝑗
𝐷𝐶𝑇(𝑖, 𝑗) = 𝐶(𝑖)𝐶(𝑗) ∑𝑀−1 𝑁−1
𝑥=0 ∑𝑦=0 𝑃(𝑥, 𝑦)cos ( ) 𝑐𝑜𝑠 ( ) (1)
2𝑀 2𝑁
Avec :
1⁄ 𝑝𝑜𝑢𝑟 𝑖 = 0 1⁄ 𝑝𝑜𝑢𝑟 𝑗 = 0
√𝑀 √𝑁
𝐶𝑖 = { et 𝐶𝑗 = { (2)
√2⁄𝑀 𝑝𝑜𝑢𝑟 1 ≤ 𝑖 ≤ 𝑀 − 1 √2⁄𝑁 𝑝𝑜𝑢𝑟 1 ≤ 𝑗 ≤ 𝑁 − 1

Où, M et N représentent le nombre de ligne et le nombre de colonne de l’image.


La phase de quantification a pour but de réduire la quantité d’information en
divisant chaque coefficient fréquentiel par un coefficient de quantification qui est
fonction d’un facteur de qualité selon la relation :
𝐴𝑄(𝑖, 𝑗) = (𝐴(𝑖, 𝑗)) ⁄ (𝑄(𝑖, 𝑗)) (3)
AQ(i,j) est la matrice quantifiée et Q(i,j) est la matrice de quantification
La déquantification est obtenue en multipliant 𝐴𝑄(𝑖, 𝑗) par la matrice de
quantification 𝑄(𝑖, 𝑗) moyennant un coefficient de qualité comme suit :
𝐴𝑄(𝑖, 𝑗)𝑑é𝑞𝑢𝑎𝑛𝑡𝑖𝑓𝑖é𝑒 = (𝐴𝑄(𝑖, 𝑗) × 𝑄(𝑖, 𝑗)) ⁄ 𝑘𝑞 (4)
2.2 Chiffrement à flot et cryptage RSA
2.2.1 Algorithme de chiffrement à flot
Les algorithmes de chiffrement par flot peuvent être définis comme étant des
algorithmes de chiffrement par bloc ; où chaque bloc est de dimension unitaire (1
bit, 1 octet, etc.). Le principal avantage est leur extrême rapidité. Généralement,
les algorithmes de chiffrement par flot sont composés de deux étapes : la
génération d’une clé dynamique et la fonction de cryptage de sortie qui dépend de
cette clé.
Il existe deux types d’algorithmes de chiffrement par flot :
 Le chiffrement par flot synchrone avec pour fonction de sortie ℎ(𝑍𝑖,𝑗 , 𝑚𝑖,𝑗 )
définie par :
𝑆(𝑖,𝑗)+1 = 𝑓(𝐾, 𝑆𝑖,𝑗 )
{ 𝑍𝑖,𝑗 = 𝑔(𝐾, 𝑆𝑖,𝑗 ) (5)
𝐶𝑖,𝑗 = ℎ(𝑍𝑖,𝑗 , 𝑚𝑖,𝑗 )

où f() est la fonction qui détermine l’état suivant, g() est la fonction génératrice de
la clé dynamique, h() est la fonction de sortie de cryptage, K est la clé, si,j, mi,j, ci,j
et zi,j sont respectivement le ieme et jeme état de l’image originale, l’image chiffrée et
la clé dynamique.
 Le chiffrement par flot asynchrone avec pour fonction de sortie ou de
cryptage ℎ(𝑍𝑖,𝑗 , 𝑚𝑖,𝑗 ) définie par :

259
ISSN:0254-0223 Vol. 30 (n. 2, 2015)

𝑧𝑖,𝑗 = 𝑔(𝐾, 𝑐(𝑖−𝑡,𝑗−𝑡), 𝑐(𝑖−𝑡+1,𝑗−𝑡+1) , . ; 𝑐(𝑖−1,𝑗−1) )


{ (6)
𝑐𝑖,𝑗 = ℎ(𝑧(𝑖,𝑗) , 𝑚𝑖,𝑗 )

où g() est la fonction génératrice de la clé dynamique ; h() est la fonction de sortie
de cryptage ; K est la clé ; mi,j, ci,j et zi,j sont respectivement l’image originale,
l’image chiffrée et la clé dynamique.
2.2.2 Cryptage RSA
L’algorithme RSA est le plus utilisé dans la cryptographie asymétrique. Sa
sécurité repose sur la difficulté de factoriser un grand nombre d’entier [13]. La
fonction de cryptage 𝐶𝑘 et de décryptage 𝑑𝑘 sont définies comme suit :
𝑦 = 𝐶𝑘 (𝑥) = 𝑥 𝑏 𝑚𝑜𝑑𝑛
{ (7)
𝑑𝑘 (𝑦) = 𝑦 𝑎 𝑚𝑜𝑑𝑛
Où 𝑥, 𝑦 ∈ 𝑍
3. APPROCHE PROPOSEE DE CRYPTO-COMPRESSION
L’algorithme de la figure 2 est une technique de crypto-compression qui
combine les transformations mathématiques et des crypto-systèmes classiques.
L’intérêt d’un tel système est la conjugaison de leurs avantages tant dans la
rapidité que dans la complexité.
Clepub 256

Brouillage de
K Cryptage K’’
la clé cryptée
Asymétrique (RSA)
ɛ(i,j)

Permutation Chiffrement Seuillage et


Image originale
par flot DCT quantification Codage Y
des pixels

Compression

Figure 2. Algorithme de Crypto-compression

La première opération est la permutation des pixels de l’image. L’image


permutée est chiffrée avec une clé secrète K générée aléatoirement avec un
algorithme de chiffrement par flot. Afin de renforcer l’intégrité d’une part et de
réduire la taille de l’image d’autre part, la compression JPEG est exploitée.
L’image compressée est sauvegardée dans un fichier.
A l’issu de la phase de quantification, apparaît un bruit. Ce bruit permet de
brouiller ou de masquer la clé. Afin de transmettre la clé secrète, celle-ci doit être
chiffrée par un algorithme asymétrique(RSA), et brouiller avec le bruit de
quantification.
La décompression et le décryptage s’effectuent de manière symétrique, selon
les étapes suivantes :

260
ISSN:0254-0223 Vol. 30 (n. 2, 2015)

 Décompression de l’image
 Brouillage inverse de la clé de cryptage
 Décryptage de la clé avec une clé privée
 Décryptage à flot inverse de l’image.
La première action consiste à acquérir l’image et faire des permutations de
pixels. Un polynôme 𝑃 ∈ 𝐹𝑞 [𝑋] est dit polynôme de permutation de 𝐹𝑞 si et
seulement si la fonction associée est une permutation, c'est-a-dire si elle est
bijective :
𝐹𝑞 → 𝐹𝑞
{ (8)
𝑥 → 𝑃(𝑥)
Dans ce papier, la permutation verticale des pixels de l’image originale a été
retenue.
L’algorithme de chiffrement choisi est à flot synchrone. Les chiffrements par
flot synchrone sont utilisés principalement dans des environnements où les erreurs
sont fréquentes ; car ils ont l’avantage de ne pas propager les erreurs [14].
Concernant les attaques actives comme l’insertion, la suppression et la copie de
digits de l’image chiffrée par un adversaire actif, celles-ci produisent
immédiatement une perte de synchronisation.
Le générateur de nombres pseudo-aléatoires utilisé est un registre à décalage à
rétroaction linéaire. Il est composé d’un registre à décalage et d’une fonction de
rétroaction. Un générateur pseudo-aléatoire de nombre est une application :
𝑓: (𝑍/2𝑍)𝑡 → (𝑍/2𝑍)𝑁
{ (9)
𝑘 → 𝑓(𝑘) = 𝑓 = (𝑓0 , 𝑓1 , 𝑓2 , 𝑓3 , . … . )
k est son initialisation ou sa clé.
Un chiffrement à flot asynchrone est réalisé si l’image en clair x binaire est
chiffrée par une suite f = f(k) engendrée par un générateur binaire pseudo-aléatoire
de clé k, suivant la relation :
ℎ𝑘 (𝑥) = 𝑚𝑖 ⊕ 𝑓(𝑘, . . ) (10)
La compression a pour objet de résoudre les difficultés grandissantes
d'archivage et de transmission des images biomédicales. La compression JPEG est
exploitée ; mais la phase de quantification est précédée du seuillage (Figure 2).
Après la décorrelation de l’image chiffrée, la phase de seuillage permet
d’affecter le niveau de zéro aux pixels dont la valeur sera inférieure à un seuil
bien déterminé. L’algorithme de seuillage par Otsu a été utilisé. Il consiste à
séparer l'image en deux classes distinctes. La séparation se fait à partir des
moments de premier ordre (la moyenne et l'écart-type). La méthode nécessite une
normalisation de l'histogramme pour qu’elle soit indépendante du nombre de pixel
dans l'image. Pour chaque seuil T, les moyennes et les variances de chaque classe
sont calculées. La variance intra-classe a été exploitée.

261
ISSN:0254-0223 Vol. 30 (n. 2, 2015)

Si μ1 et μ2 sont les moyennes et σ12 et σ22 les variances, alors la variance intra-
classe est définie comme suit : σw2= P1.σ12+ P2.σ22
Le seuil optimal est celui qui donne un σw minimal ; avec :
1
𝜎12 = ∑𝑇−1
𝑖=0 (ℎ(𝑖) − 𝜇1 )
2
𝑇
1
𝜎22 = 256−𝑇 ∑255
𝑖=𝑇(ℎ(𝑖) − 𝜇2 )
2

1 1 (11)
𝜇2 = 256−𝑇 ∑255 255
𝑖=𝑇 ℎ(𝑖); 𝑃2 = 𝑁.𝑀 ∑𝑖=𝑇 ℎ(𝑖)
1 1
𝜇1 = ∑𝑇−1 ℎ(𝑖); 𝑃1 = ∑𝑇−1 ℎ(𝑖)
𝑇 𝑖=0 𝑁.𝑀 𝑖=0

Cette opération a pour but de renforcer la sécurité du crypto-système en


cryptant doublement la clé, question de la rendre plus complexe ou solide aux
éventuelles attaques. Le brouillage est réalisé de la manière suivante :
𝐾 ′′ = 𝑓(𝐾 ′ , 𝜀(𝑖, 𝑗))
{ ′ 𝑜𝑢 𝑓 𝑒𝑠𝑡 𝑙𝑎 𝑓𝑜𝑛𝑐𝑡𝑖𝑜𝑛 𝑥𝑜𝑟 (12)
𝐾 = 𝑓(𝐾, 𝑐𝑙𝑒𝑝𝑢𝑏)
Où 𝜀(𝑖, 𝑗) est le bruit de quantification et 𝐾′′ est la clé cryptée avec une clef
publique
4. RESULTATS ET DISCUSSIONS
Les tests ont été réalisés sur deux images médicales de taille 256 x 256 pixels.
A partir d’images originales des figures 3a et 4a, nous avons tracé les
histogrammes mettant en évidence les redondances de ces images (figures 3b et
4b). Ces images décrypto-décompressées par notre approche sont illustrées à
travers les figures 3c et 4c. Les histogrammes de ces images (figures 3d et 4d)
sont très proches de ceux des images originales.
Les figures 3e et 4e sont les images permutées crypto-compressées ; leurs
histogrammes (figures 3f et 4f) sont uniformément distribués par rapport aux
histogrammes des images originales. La dépendance des propriétés statistiques
des images chiffrées et des images originales sont quasi-aléatoire. Ainsi, le
traitement devient complexe, car l’image chiffrée ne fournit aucun élément
reposant sur l’exploitation de son histogramme permettant de concevoir une
attaque statistique sur le procédé de chiffrement de l’image proposée.
La qualité de l’image reconstruite après décompression et décryptage a été
évaluée en terme de Peak Signal to Noise Ratio (PSNR). Ce taux est défini par :
2552
𝑃𝑆𝑁𝑅 = 10𝑙𝑜𝑔10 (𝐸𝑄𝑀) (13)
EQM est l'erreur quadratique moyenne définie par :
1 2
EQM = mn ∑m−1 n−1
i=0 ∑j=0 ||Io (i, j) − Ir (i, j)|| (14)
Io et Ir sont respectivement l’image originale et l’image reconstruite après
décompression.

262
ISSN:0254-0223 Vol. 30 (n. 2, 2015)

a e c

a) c) e)

b) d) f)
Figure 3. a)Image originale IM256; b) Histogramme de l’mage originale; c) Image décrypto-
décompressée; d) Histogramme de l’image décodée ; e)Image permutée et crypto-compressée; f)
Histogramme de l’image permutée crypto-compressée;
a m c

c) e)
a)

b) d) f)
Figure 4. a)Image originale du cerveau; b) Histogramme de l’mage originale; c) Image décrypto-
décompressée; d) Histogramme de l’image décodée ; e)Image permutée et crypto-compressée; f)
Histogramme de l’image permutée crypto-compressée;
La qualité de l’image reconstruite après décryptage et décompression a été
évaluée en terme de PSNR (tableaux 1 et 2)
Tableau 1. Le PSNR des images reconstruites après décryptage/décompression
Images PSNR(dB) Taux de compression (%)
Image 1 (IM256) 21.2451 85.94
Image 2 cerveau 28.0745 66.46

263
ISSN:0254-0223 Vol. 30 (n. 2, 2015)

Tableau 2. Le PSNR des images reconstruites après Décompression


Images PSNR(dB) Taux de compression (%)
Image 1 (IM256) 22.858 88.65
Image 2 Cerveau 27,752 66.46

De ces résultats, il en ressort que l’opération de compression renforce la


sécurité du crypto-système tout en préservant la qualité de la reconstruction
obtenue après décryptage.
Le temps de décryptage est d’environ trois fois le temps de cryptage des
images compressées (tableau 3) pour un processeur duo (1.4Ghz, 800Mhz.). La
taille du fichier à crypter influe directement sur le temps d’exécution.
Tableau 3. Temps de cryptage et de décryptage
Images Temps de cryptage(s) Temps de décryptage(s)
Image 1 (IM256) 20 66
Image 2 cerveau 30 85

Pour l’étude de la sensibilité, une clé différente de celle de décryptage (privée)


a été utilisée. Le résultat obtenu est présenté à travers la figure 5. L’image obtenue
(figure 5a) est différente de l’image originale. La figure 5b est l’image d’erreur
entre l’image reconstruite et l’image originale. Ce résultat prouve que la clé
utilisée est sensible à tout changement des données dans la chaîne de cryptage.
Image Reconstruite Image Erreur

a) b)
Figure 5. Image décompressée et décryptée avec une clef de décryptage différente

5 CONCLUSION
Dans ce papier, nous avons présenté une méthode permettant de combiner
cryptage et compression d’images. Il a été constaté que la combinaison des
algorithmes de cryptographie symétrique et asymétrique associés à la compression
peut être utilisée pour un transfert sécurisé d’image biomédicales d’une part et
d’assurer plus d’archivage de ces dernières. Leur usage est à encourager. Au-delà
de la crypto-compression, nous nous sommes souciés de transférer en toute
sécurité la clé, qui est chiffrée par l’algorithme asymétrique RSA. La clé ainsi
cryptée est marquée ou brouillée avec le bruit de quantification. Par ailleurs,
l’implémentation de ce travail nécessite l’usage des composants programmables à
haute fréquence comme les FPGA et DSP, question d’améliorer les temps de

264
ISSN:0254-0223 Vol. 30 (n. 2, 2015)

crypto-compression et ceux de décompression-décryptage. Les techniques


d’insertion des données cachées (IDC) combinées à la crypto-compression
pourront faire l’objet d’investigation.
RÉFÉRENCES
[1] J. M. Rodrigues, Transfert Sécurisé d’Images par Combinaison de Technique
de Compression, Cryptage et Marquage, 2006.
[2] N. Islam, W. Puech, Traitement du signal et de l'image pour la biométrie,
Chapitre 13 : Cryptographie des données, Edition Hermès-Lavoisier, Traité
IC2, pp. 305- 321, September 2012.
[3] C. C. Chang, M. S. Hwang, T. S. Chen, A new encryption algorithm for
image cryptosystems, The Journal of Systems and Software, 58:83–91, 2001.
[4] F. Li, J. Knipe, H. Cheng, Image compression and encryption using tree
structures, Pattern Recognition Letters, 18:1253-1259, 1997.
[5] A. Sinha, K. Singh, A technique for image encryption using digital signature,
Optics Communications, 218-229; 234, 2003.
[6] B. Scheneier, Cryptographie Appliquée, Algorithmes-Protocoles, algorithmes
et codes sources en C, Edition Marc Vauclair-1995.
[7] W. B. Pennebaker, J. L. Mitchell, JPEG: Still Image Data Compression
Standard, Van Nostrand Reinhold, 45, 1993.
[8] L. Dubois, Z. Shahid, Puech, Progress in Data Encryption Research. Chapter
6: Selective Encryption of Images and Videos: From JPEG to H.265/HEVC
through JPEG2000 and H.264/AVC. Nova Publishers, pp. 137-177, 2014.
[9] L. Dubois, W. Puech, J. Blanc-Talon, Smart selective encryption of
H.264/AVC videos using con dentiality metrics. Annals of
telecommunications, Springer, vol. 69, n° 1, January 2014.
[10] Y. Benlcouiri, M. Benabdellah, M. C. Ismaili, A. Azizi, A New Approach of
Crypto-compression on MPEG Format, Research Journal of Applied
Sciences, Engineering and Technology 7(18): 3791-3796, 2014.
[11] R. Norcen, M. Podesser, A. Pommer, H.P. Schmidt, A. Uhl. Confidential
storage and transmission of medical image data, Computers in Biology and
Medicine, 33, 277-292, 2003.
[12] W. Puech, J.M.Rigrigues. Crypto-compression d’images médicales par
cryptage partiel des coefficients DCT. JSTIM : Journées Sciences
Technologies et Imagerie pour la Médecine, Mar 2005, Nancy (France),
pp.149-150.
[13] L. Chuanfeng, Q. Zhao. "Integration of Data Compression and
Cryptography: Another Way to Increase the Information Security." 21st
International Conference on Advanced Networking and Applications
Workshops/Symposia 2 (2007): 543-47.

265
ISSN:0254-0223 Vol. 30 (n. 2, 2015)

[14] S. GUILLEM LESSARD, www.uqtr.ca/~delisle/Crypto. visité en 2002.

266

Vous aimerez peut-être aussi