Le Dynamisme PseudoAléatoire dans le Chiffrement de
Hill et son Utilité en Sécurité des Transferts des Images
Numériques
(1)Gmira, F. (1)Hraoui, S., (1,2) Saaidi, A., (1) Jarar, A.W. and (1)Satori, K.
Université Sidi Mohamed Ben Abdallah
(1)LIIAN, Département de Mathématique et Informatique, Faculté des sciences Dhar-Mahraz
B.P 1796 Atlas-Fes, Maroc
(2)LIMAO, Laboratoire de recherche: Informatique, Mathématiques, Automatique et Optoélectronique, Faculpolydisciplinaire de Taza, B.P
1223 Taza, Maroc
Résumé - Le Chiffre de Hill est l'un des
algorithmes à clés symétriques qui a
montré des avantages pour le cryptage de
données. Cependant l'algorithme original
est vulnérable aux «Attaque à Texte Clair
Choisi». Un autre revers pour le Cryptage
des images est qu’il révèle certaines
tendances et ne cache pas toutes les
caractéristiques de l'image (images avec
des fonds homogènes). Pour surmonter ces
problèmes, dans cet article, nous proposons
une modification de l’algorithme de Hill en
incluant une translation et en introduisant à
chaque étape du processus du Cryptage des
clés dynamiques Pseudo-Aléatoirement. La
partie expérimentale de cet article prouve
que la variante proposée donne un meilleur
cryptage pour tous types d'images et
montre bien une amélioration par rapport à
l’algorithme conventionnel.
Mots-clés: Générateurs de Fibonacci à
Retard, Clé Dynamique, Clé Pseudo-
Aléatoire, Qualité de Cryptage,
Arithmétique Modulaire.
1 - Introduction
Aujourd'hui, avec l'avancement rapide de
la technologie des réseaux notamment
Internet, les images sont largement
utilisées dans plusieurs processus. Par
conséquent, la sécurité des données images
devient un enjeu crucial et essentiel que se
soit pour le stockage ou pour la
transmission [Ref-1]. La cryptographie est
l'une des méthodes [Ref-2] [Ref-3] pour
établir la confidentialité et l'intégrité de
l'information.
Un système de cryptage se compose de
trois étapes: Le Cryptage, le déCryptage et
un troisième algorithme, appelé le
générateur de clés. Une bonne approche est
que le générateur de clés soit un algorithme
probabiliste [Ref-6] [Ref-7].
Le Chiffre de Hill est une méthode de
Cryptage qui utilise des matrices carrées,
dans l’algorithme de base, les étapes
fondamentales du Cryptage et du
déCryptage sont donnés par [Ref-8] :
Pou le cryptage :
[mod26]C P K 
et pour le décryptage:
( ) [mod26]P Inv K C 
P
est le Texte-
Clair,
K
la Matrice-clé,
C
le Texte-
Crypté .et
( )Inv K
est l'Inverse Modulaire
de la Matrice-clé
K
.
Le Chiffre de Hill utilise la multiplication
des matrices, ce qui lui donne une mise en
œuvre logiciel/matériel simple avec des
hauts vitesse/débit.
Cependant, le Chiffre de Hill est
vulnérable aux «Attaque à Texte Clair
Choisi»[Ref-12]: problématique soulevée
par Tangel-Romero, et al., [Ref-13] [Ref-
14].
Dans cet article, afin de surmonter les
vulnérabilités de l'algorithme
conventionnel du Chiffre de Hill et pour
parvenir à une sécurité plus élevée et un
meilleur cryptage des images, nous
présentons une méthode de randomisation
et d'ajustement de la Matrice-clé, le
fonctionnement du Cryptage est contrôlé à
la fois par un Générateurs de Fibonacci à
Retard et l’Arithmétique Modulaire sur les
matrices.
Cet article est organisé comme suit: après
l'introduction, une description de
l'Arithmétique Modulaire utilisée est
décrite dans la section 2, le Chiffre de Hill
est décrit dans la section 3, et le
Générateurs de Fibonacci à Retard est
décrit dans la section 4 . La conception du
schéma proposé est donnée dans la section
5 et la section 6 est réservée à l'évaluation
expérimentale de la sécurité et de la
robustesse du l’algorithme proposé. Enfin,
nous terminerons par une conclusion.
2 - Arithmétique Modulaire sur les
Matrices
2.1- Arithmétique Modulaire
Dans l'Arithmétique des nombres entiers
[Ref-17], si l'on divise
a
par
n
, nous
obtenons
q
et
r
:
Avec
a
le
dividende
n
est le diviseur
q
est le
quotient
r
est le reste.
En Arithmétique Modulaire, nous nous
intéressons au reste:
On dit que
a
est congru à
r
modulo
n
, et
on écrit:
[mod ]a r n
.
Finalement
 
[ ] / [mod ]
n
a b b a n  Z
est l'ensemble des entiers qui ont le même
reste
r
lorsqu'elle sont divisés par
n
.
Le tableau suivant [Table-1] [Ref-17]
illustre les équations décrivant les
propriétés Algébriques de l'Arithmétique
Modulaire utilisé dans le cadre de notre
article:
[Table-1]: Propriétés de l'Arithmétique
Modulaire.
2.2- Arithmétique Modulaire sur les
Matrices
Basé sur la congruence des nombres
entiers, nous avons développé une
Arithmétique Modulaire sur les matrices:
Soient
n
un entier, et
A
et
B
deux
matrices entières de même taille:
Nous écrivons
[mod ]A B n
et nous disons
que la matrice
A
est congru à la matrice
B
modulo
n
si .
, ,
, [mod ]
i j i j
i ja b n 
.
2.3- L’Inverse Modulaire des Matrices
L'Inverse Modulaire d'une matrice
carrée
A
, est la matrice notée
1
A
Telque :
1 1 [mod ]A A A A Id n
 
 
Id est la matrice d'identité.
En Arithmétique Modulaire, une matrice
peut avoir un Inverse ou non, une
condition nécessaire et suffisante pour qu
une matrice carrée a un Inverse
Modulaire a été donnée dans [Ref-18]:
det( )A
doit être premier avec le modulo
n
: ie.
gcd(det( )[mod ], ) 1K n n
avec
det( )A
est le déterminant de
A
, et gcd est
le plus grand diviseur en commun. La
condition est obtenue par l'algorithme
d'Euclide étendu:
Par ailleurs
( )Inv A
l'Inverse de
A
modulo
n est déterminé par l'algorithme suivant
[Algorithm-1] [Ref-15] :
[Algorithm-1]: Modular Arithmetic Inverse
d'une matrice.
3 - Chiffre de Hill
Le Chiffre de Hill, [Ref-8] est un
algorithme de Cryptage par substitution
basé sur l'algèbre linéaire et de
l’Arithmétique matricielle Modulaire. Le
Chiffre de Hill a été décrite pour la
première fois en 1929 par son inventeur, le
Mathématicien Lester S. Hill, dans La
Revue «The American Mathematical
Monthly»[Ref-19].
Le Cryptage de base est limité sur les 26
caractères de la langue Anglaise (dans
lequel à chaque lettre de l’alphabet il
attribue une valeur numérique (a = 0, b =
1, ..., z = 25)), le Texte-Clair est divisé en
blocs de même longueur fixe [Ref-19],
puis chaque bloc est transformé en un autre
groupe de lettres en lui accordant à une
Matrice-clé choisi.
Chaque bloc de caractères du Texte-Clair
est converti en un vecteur de nombres puis
il est crypté avec la Matrice-clé.
Le processus et le noyau de Cryptage du
Chiffre de Hill conventionnel est basé sur
les manipulations Algébriques Matricielles
[Ref-8] :
Pour le cryptage:
( )[mod26] [mod26]  
K
C E P K P
Pour décryptage:
1
1
( )[mod26] [mod26]
[mod26]
[mod26]
K
P D C K C
K K P
P
 
 
Avec Inv(K) est l'Inverse Modulaire de la
Matrice-clé K. L'Inverse Modulaire de la
Matrice-clé doit être trouvé pour passé à
l’opération inverse ie. Le déchiffrement
des n-blocs.
Rappelant que une condition nécessaire
est suffisante pour assurer l’existence de
l’Inverse Modulaire
1
K
de la Matrice-clé
[Ref-18] est que
gcd(det( )[mod ], ) 1K n n
3-1. Cryptage des Image avec le Chiffre de
Hill
Le Chiffre de Hill peut être adapté pour le
cryptage des images en niveaux de gris ou
en couleur.
Dans le cas des images en niveaux de gris,
lImage-clair est divisée en blocs de
longueur en fonction de la Matrice-
clé choisie, Crypter chaque bloc
séparement des autres et enfin concaténer
tous les blocs cryptés afin d'obtenir l'image
cryptée résultante. Tout le calcul est fait
modulo 256 (8 bits par pixel par
composante de couleur RVB). [Ref -20].
Dans le cas des images en couleur [Ref-
17], L’image couleur est décomposée en
composantes (RVB). Deuxièmement,
crypter chacune des composantes (RVB)
séparément par l'algorithme. Enfin,
concaténer les éléments cryptés ensemble
pour obtenir l'image en couleurs cryptée
résultante.
3.3- Les avanatages:
Le Chiffre de Hill est un Cryptage par bloc
qui présente plusieurs avantages tels que
[Ref-10] [Ref-12] :
- Le faible cout et la simplicité de
l’implémentation Materiel/Logiciel.
- La bonne vitesse d’excution et le grand
débit du Cryptage.
- La résistance à l'analyse des fréquences.
- Dans le Cryptage d'image, si la taille du
bloc est
m n
, il ya
256m n
différents blocs
possible.
3.4- Les faiblesses
Les points forts du Chiffre de Hill ne cache
pas quelques faiblesses [Ref-11] [Ref-12] :
- La vulnerabilité aux «Attaque à Texte
Clair Choisi», du à la linéarité de
l’algorithme: la clé peut être trouvée avec
des paires: (Texte-Crypté / Texte-Clair).
- La mauvaise qualité de cryptage pour les
images avec des fonds uniformes, ou qui
ont des zones en noires (pixels noirs sont
mappés à zéro dans la norme niveaux de
gris l'image).
- Le Chiffre de Hill est un système de
Cryptage qui chiffre des blocs, n'importe
quelle taille de bloc peut être sélectionnée,
mais difficile de trouver de bonnes clés :
l’inverse d'une matrice peut ne pas exister.
4 - Générateurs de Fibonacci à Retard
4.1- Générateur de Nombres Pseudo-
Aléatoires
Les Générateurs de Nombres Pseudo-
Aléatoires sont des algorithmes qui
utilisent des formules Mathématiques pour
produire des séquences de nombres dans
un court laps de temps, les séquences
produites ne sont pas aléatoires car elles
sont complètement déterminées par un
ensemble relativement petit de valeurs
initiales, appelé la graine du GNPA, Les
GNPAs sont si bien que les chiffres sont
exactement comme ils étaient vraiment
aléatoire [Figure 1].
Figure 1: Générateurs de nombres Pseudo-
Aléatoires schémas illustratifs.
Pour réduire plusieurs risques
cryptanalytiques, les applications
cryptographiques nécessitent des
Générateurs de Nombres Pseudo-
Aléatoires robustes et imprévisibles. Nous
résumons dans ce point les propriétés
requises pour un bon Générateur de
Nombres Pseudo-Aléatoires[Ref-21]:
- La portabilité, la répétabilité et
l'imprévisibilité.
-L’efficience et la rapidité.
- La grande longueur de la période.
- Séquences disjoints: les différentes
graines doivent produire de longues
séquences indépendantes (disjoint) afin
qu'il n'y ait pas de corrélation entre les
simulations avec différentes graines
initiales.
- Homogénéité: l'indépendance statistique
des nombres Pseudo-Aléatoires
successives.
4-2. Générateurs de Fibonacci à Retard
Un rapide Générateur de Nombres Pseudo-
Aléatoires, avec une haute qualité et
reproductibilité, est le Générateur de
Fibonacci à Retard, il a été étudié par
George Marsaglia [Ref-21] :
La suite de Fibonacci normale est définie
par:
1 1 2  
 
n n n
x x x
(Formule 2) où les deux
premières valeurs , et , doivent être
fournis.
Nous généralisons la formule (Formule 2)
pour donner une famille de Générateurs de
Nombres Pseudo-Aléatoires appelés:
Générateurs de Fibonacci à Retard [Figure
2] :
( )
( )[mod2 ], 0
 
 
m
n n lag n lag k
x x x withk
[Figure 2]: la mémoire tampon circulaire
avec le dernier Lag.
0 1
,..., n
x x
les premières valeurs sont
nécessaires pour le calcul de la prochaine
séquence d'éléments, la seule condition est
que au moins l'un d'entre eux doit être
impair.
Les Générateurs de Fibonacci à Retard
GFRs ont de bonnes propriétés [Ref-21].
La période maximale de la GFR
( , , )LFG lag k m
est
1
(2 1)2
lag m
et
( 1) ( 1)
2  lag m
différents cycles d'une période
complète :
(17,5,31): 17, 5, 31LFG lag k m  
47 14
2 10Period  
(55,24,31): 55, 5, 31LFG lag k m  
85 25
2 10Period  
5 - Algorithme proposé
Pour surmonter les faiblesses
précédemment citées au paragraphe (3.4)
et afin de produire un système de Cryptage
robuste et fiable, nous proposons un
schéma de Cryptage appelé GFR-Hill
basée sur le Chiffre de Hill en impliquant
un déplacement de l’image-clair dans une
première étape de prétraitement pour
éliminer les pixels mappés à zéro, et d'une
matrice clé unique pour chaque Cryptage
de bloc.
Le procédé divise image-claire en un
nombre spécifique de blocs carré de pixels,
génère avec une dynamique Pseudo-
Aléatoire de multiples clés pou l'avantage
que chaque bloc de l’image en clair est
crypté avec une nouvelle clé.
1
, 1
( ), 2,3,...
ii
Original Hill matrix K i
KLFG K i
Augmenter le nombre de blocs à l'aide de
petites tailles de blocs donnent lieu à une
corrélation plus faible et une entropie plus
élevée, et d’autre part empêche les
«Attaques à Texte Clair Choisi» sur les
blocs (le nombre d'inconnues devient plus
que le nombre d'équations disponible).
[Ref-13] [Ref-14] [22] Ref-
L'algorithme proposé [Algorithme-2] est le
suivant:
Algorithme 2
Cet algorithme génère différente Matrice-
clé pour chaque Cryptage de bloc au lieu
de maintenir constante la matrice de clés.
Cela augmente la confidentialité des
données. Aussi l'algorithme vérifié la
singularité de la matrice-clé utilisée pour le
cryptage de chaque bloc du texte clair, si la
Matrice-clé de cryptage n'est pas
inversible, alors l'algorithme génère une
autre nouvelle Matrice-clé de telle sorte
qu’elle soit inversible. Compte tenu de la
vitesse d’exécution des Générateurs de
Fibonacci à Retard, la génération de
1 / 8 100%