e-TI
e-revue en Technologies de l'Information
Pr�c�dent Bas de page Suivant Signaler cette page Version imprimable



Num�ro 2 > Recherche

Article

Chiffrement �volutionniste


Fouzia Omary, D�partement de math�matiques et informatique Facult� des sciences-Rabat, Universit� MohammedV Maroc, omaryfouzia@yahoo.fr.
Abderrahim Tragha, D�partement de math�matiques et informatique Facult� des sciences Ben Msik Casablanca, Universit� HassanII-Mohammedia Maroc, a.tragha@univh2m.ac.ma.
Abdelghani Bellaachia, D�partement d?informatique, Universit� Georges Washington, Washington DC 20052 Etats-Unis, bell@gwu.edu.
Aboubakr Lbekkouri, D�partement de math�matiques et informatique Facult� des sciences-Rabat, Universit� MohammedV Maroc, omaryfouzia@yahoo.fr.
Abdelaziz Mouloudi, D�partement de math�matiques et informatique Facult� des sciences Kenitra, Universit� Ibn Tofail-Maroc, mouloudi_aziz@hotmail.com.

Date de publication : 17 avril 2006

R�sum�

Dans cet article, nous pr�sentons une application des algorithmes �volutionnistes � la cryptographie et notamment au chiffrement sym�trique. Tout d?abord, nous avons ramen� le probl�me de chiffrement � un probl�me d?optimisation. Puis, nous lui avons donn� une formalisation semblable � celle utilis�e pour la r�solution, par algorithme �volutionniste, du probl�me du voyageur de commerce. Notre attention s?est port�e ensuite sur le codage des chromosomes, sur l?�tablissement de la fonction d?�valuation et sur le choix des op�rateurs g�n�tiques adapt�s. Du c�t� cryptographique, gr�ce � la cl� sym�trique g�n�r�e par notre propre algorithme �volutionniste, nous illustrons les processus de chiffrement et de d�chiffrement du message pr�alablement brouill�. Des exemples d?applications seront donn�s � la fin de cet article, suivis d?une discussion d?�valuation de ce travail en comparaison avec d?autres algorithmes de m�me cat�gorie.

Abstract

In this article, we present an application of evolutionist algorithms to cryptography and especially to symmetrical ciphering. First of all, we reduced ciphering problem to optimisation problem. Then, we assign to it a formalisation similar to the one used for the resolution of the TSP (travelling salesman problem) via evolutionary algorithm. Our attention focussed then on coding the chromosomes, establishing the fitness function and the choice of the adapted genetic operators. On the cryptographic side, we illustrate the processes of ciphering and decoding the message previously scrambled, thanks to the symmetrical key generated by our own evolutionist algorithm. Examples of applications will be given at the end of this article followed in the same way by an evaluative discussion of this work in comparison with other algorithms category.


Table des mati�res

Texte int�gral

Jadis, la cryptographie, la science du secret, a �t� strictement r�serv�e aux milieux diplomatiques et militaires pendant plus de 3000 ans. Mais avec le d�veloppement de l?informatique et l?�volution des r�seaux de communications, elle s?est impos�e dans tous les domaines. Cependant, les vrais algorithmes de chiffrement sont peu nombreux, citons-en quelques exemples�:

DES (Florin et Natkin, 2002), algorithme sym�trique, mis au point en 1973, dont la cl� secr�te est de 64 bits. Une recherche exhaustive de la cl� (1998) a permis aux crypto-analyseurs de casser ce fameux algorithme.

AES (Stinson, 2003), d�velopp� en 1997, a remplac� le DES. Il est sym�trique et peut supporter des cl�s de longueurs �gales � 128, 192 et 256 bits.

IDEA (Florin et Natkin, 2002), algorithme sym�trique, assez r�cent, avec une cl� de 128 bits.

RSA (Labouret, 2001), mis au point en 1970, est asym�trique et se base sur l?arithm�tique modulaire pour d�finir sa cl� publique et sa cl� priv�e. Cet algorithme r�siste toujours � la cryptanalyse.

Le PGP (Menezes, Oorschot et al., 1996) et (Manuel PGP 1998), mis au point en 1992, est une combinaison des meilleures fonctionnalit�s de la cryptographie asym�trique et de la cryptographie conventionnelle. PGP est un syst�me hybride, il est actuellement, le crypto-syst�me dominant.

Parall�lement, les domaines d?application des algorithmes �volutionnistes n?ont cess� de s?�largir gr�ce � leur grande efficacit� (rapidit�, simplicit� de leurs op�rateurs?). Ceci nous a incit�s � concevoir et � r�aliser un syst�me de chiffrement fond� sur les techniques des algorithmes �volutionnistes.

Cet article est structur� comme suit�: dans la section 2, nous avons ramen� le probl�me de chiffrement d?un message M � un probl�me d?optimisation. Ensuite, nous avons d�fini un codage adapt� du probl�me, permettant ainsi une r�solution qui s?inspire de celle du probl�me de voyageur du commerce (Caux, Pierreval et al. 1995) (en anglais TSP). Puis, nous avons construit notre algorithme en d�finissant la fonction d?�valuation ad�quate, en pr�cisant la nature des individus aptes � la s�lection et en choisissant les op�rateurs g�n�tiques adapt�s � ce probl�me. Le processus de d�chiffrement est d�taill� dans la section 3 et les r�sultats exp�rimentaux des diff�rents exemples trait�s sont pr�sent�s dans la section 4. Dans la section 5, nous pr�sentons les avantages de notre algorithme en comparaison avec des algorithmes importants du domaine de la cryptographie, avant de conclure en section 6.

Figure 1: Algorithme de chiffrement sym�trique

Soit M0 le message � chiffrer. M0 est une suite de l caract�res. Ces derniers appartiennent � l?ensemble des 256 caract�res du code ASCII .

Il est � noter que ce message peut �tre form� uniquement par des nombres (par exemple des codes bancaires d?un certain nombre de personnes), comme il peut �tre un m�lange de nombres et de phrases litt�raires y compris la ponctuation, etc.

Nous appliquons d?abord � M0 un brouillage. Ce dernier peut �tre effectu� par combinaison de plusieurs m�thodes simples comme les substitutions, les permutations, le chiffrement affin�, etc. Cela n�cessite une cl� secr�te sym�trique. Le message brouill� sera d�sign� par M.

Soient c1,c2,?,cm les diff�rents caract�res de M (l<=m<=256). D�signons par Li (1<=i<=m) la liste des diff�rentes positions du caract�re ci dans M avant le chiffrement et par card(Li) le nombre des occurrences de ci dans M.

L1, L2,?, Lm est une partition de l?ensemble {1, 2, ?, m}.

Le message M peut �tre repr�sent� par le vecteur ci-dessous�:

Tableau 1�: Original-Ch

Le but de notre travail est de modifier le plus possible les fr�quences d?apparition des caract�res dans le message M et d?�tablir le plus de d�sordre dans leurs positions. Pour cela, nous changeons it�rativement la r�partition des listes sur les diff�rents caract�res de M de telle mani�re que la diff�rence entre le cardinal de la nouvelle liste L?i affect�e au caract�re ci et le cardinal de la liste initiale Li soit maximale. Il s?agit ainsi d?un probl�me d?optimisation. Or, les algorithmes �volutionnistes sont tr�s efficaces pour la r�solution de ce genre de probl�me. Nous avons choisi de les utiliser, notamment ceux appliqu�s aux probl�mes de permutations (Caux, Pierreval et al. 1995). Ces algorithmes se pr�sentent sous plusieurs versions, la plus utilis�e est celle d�crite en section 2.2.

  • Etape 0 : D�finir un codage du probl�me

  • Etape 1 : Cr�er une population initiale P0 de q individus{X1, X2, ?,Xq}
    i := 0

  • Etape 2 : Evaluation des individus

  • Soit F la fonction d?�valuation. Calculer F(Xi) pour chaque individu Xi de Pi

  • Etape 3 : S�lection
    S�lectionner les meilleurs individus (au sens de F) et les grouper par paire.

  • Etape 4 : Application des op�rateurs g�n�tiques
    1-Croisement�: Appliquer l?op�ration de croisement aux paires s�lectionn�es
    2-Mutation�: Appliquer la mutation aux individus issus du croisement

  • Ranger les nouveaux individus obtenus de 1 et 2, dans une nouvelle g�n�ration Pi+1

  • R�p�ter les �tapes 2, 3 et 4 jusqu?� l?obtention du degr� de performance souhait�.

Notre syst�me de chiffrement est d�compos� en quatre �tapes�:

  • codage,

  • cr�ation de la population initiale P0�;

  • �valuation des individus,

  • s�lection des meilleurs individus,

  • applications des op�rateurs g�n�tiques.

Nous les commentons dans ce qui suit.

Etape 0�: Codage

Un individu (ou chromosome) est un vecteur de taille m. Les g�nes sont les listes Lpi (1<=i<=m). Le ie g�ne Lpi contient les nouvelles positions que prendra le caract�re ci.

Etape 1�: Cr�ation de la population initiale

La population initiale P0 est compos�e de q individus�(X1,X2,?,Xq). Nous d�signons par ��Original-Ch�� le chromosome dont les g�nes sont les listes L1,L2,?,Lm (plac�s dans cet ordre) repr�sentant le message avant l?application de l?algorithme.

Nous appliquons q permutations sur ��Original-Ch�� afin d?obtenir une population initiale constitu�e de q solutions potentielles au probl�me. i�:=0.

Etape 2�: Evaluation des individus

Soit Xj un individu de Pi dont les g�nes sont Lj1,Lj2,?,Ljm.

Nous d�finissons la fonction d?�valuation F sur l?ensemble des individus Xj par�:

[1]

Etape 3�: S�lection des meilleurs individus

Nous utilisons la m�thode classique de la roulette (Florin et Natkin, 2002) permettant de retenir les individus les�plus forts. Le processus utilis� est rappel� dans ce qui suit :

A chaque individu Xi est affect� une probabilit� d?apparition ou force relative p(Xi) calcul� selon [2].

���������[2]

La probabilit� d?apparition cumul�e d?un individu Xi �not�e qi est calcul�e selon [3].

��������[3]

Soit r un nombre al�atoire compris entre 0 et 1, l?individu s�lectionn� est donn� en [4].

[4] ���

o� q est le nombre d?individus dans la population. �����

Ce processus est r�p�t� q fois. Avec ce principe, un individu fort peut �tre s�lectionn� plusieurs fois. Par contre, un individu faible a moins de chance d?�tre s�lectionn�.

Nous introduisons ensuite une fonction de contr�le qui �limine les individus pour lesquels seulement une minorit� de g�nes ont chang� de valeur par rapport au chromosome initial�Original-Ch. Puisque nous nous sommes ramen�s � un probl�me de permutations avec contraintes, nous appliquons alors les op�rateurs g�n�tiques adapt�s � ce genre de probl�me.

Etape 4�: Applications des op�rateurs g�n�tiques

Cette �tape est effectu�e gr�ce au croisement MPX�et la mutation de transpositionque nous d�crivons ci-dessous.

Croisement MPX�(Maximal Preservative X)�

Ce croisement a �t� propos� par (M�hlenbein et Schlierkamp-Voosen, 1993) pour le probl�me du voyageur de commerce. L?id�e de cet op�rateur est d?ins�rer une partie du chromosome d?un parent dans le chromosome de l?autre parent de telle fa�on que le croisement r�sultant soit le plus proche possible de ses parents. C?est un croisement � deux points. Les deux fils sont obtenus de mani�re sym�trique. Nous en illustrons le fonctionnement par l?exemple ci-dessous.

���[i]

La zone de croisement est comprise entre les positions 5 et 9. La premi�re �tape consiste � recopier la zone de croisement du parent1 sur le fils1. Ensuite, les g�nes du fils1 qui ne sont pas dans la zone de croisement sont compl�t�s comme suit.

Le i g�ne du parent2 est recopi� sur le i g�ne du fils1 si cette copie respecte les contraintes (ne cr�e pas une tourn�e incoh�rente). Dans le cas contraire, le i g�ne du parent1 est recopi� sur le i g�ne du fils1 si cette copie ne cr�e pas de doublons. Si les deux cas pr�c�dents ne peuvent pas s?appliquer, le i g�ne du fils1 re�oit un g�ne de la zone de croisement du parent2 qui respecte les contraintes (premier non pris).

����[ii]

Ce croisement est appliqu� aux individus s�lectionn�s avec un taux bien pr�cis. D?apr�s (Labouret, 2001) le meilleur taux est de l?ordre de 60% � 100%.

Mutation de transposition�

Nous choisissons la mutation qui consiste � permuter al�atoirement deux g�nes d?un chromosome. Cet op�rateur est appliqu� aux individus issus du croisement avec un taux adapt�, de pr�f�rence de 0,1% � 5% (Labouret, 2001). Le processus est d�crit dans ce qui suit.

  • Placer la nouvelle prog�niture dans une nouvelle population Pi+1.

  • R�p�ter les �tapes 2, 3 et 4 jusqu?� un crit�re d?arr�t.

  • D�finir la condition d?arr�t exprim�e � l?aide de la fonction F (cf. [1]). Cette fonction F est born�e car 0 <= F(X) <= 2*l pour tout individu X, en fait�:
    [5]
    Th�oriquement, la fonction F admet un maximum puisqu?elle est born�e. D?apr�s Khan Phang (Khan Phang, 1988), la convergence d?une fonction d?�valuation est assur�e. Elle peut �tre vers une valeur proche de Max, d�termin�e exp�rimentalement. En fait, les exp�riences que nous avons entam�es et que nous interpr�terons par la suite nous ont permis de confirmer ce r�sultat.

  • Derni�re phase de l?algorithme�: d�signons par ��Final-Ch�� la solution finale donn�e par notre algorithme �volutionniste. A partir de ��Original-Ch�� et ��Final-Ch��, nous construisons notre cl� sym�trique. Cette cl� sera appel�e cl� g�n�tique.

Le d�chiffrement du message chiffr� M? se fait en deux �tapes�:

Etape 1

Dans cette �tape, nous repr�sentons le texte chiffr�, par un vecteur de listes comme nous l?avons fait pour le message en clair. D�signons par c?1, c?2, ?, c?m les diff�rents caract�res de M? et par L?1, L?2?, L?m leurs listes respectives de position dans M?. Gr�ce � la cl� g�n�tique, les caract�res vont retrouver leurs listes de position correspondantes dans le message en clair. En effet, la cl� est une permutation de {1,2,?,m} que nous pouvons repr�senter par un vecteur not� ��Clef��, de taille m telle que�:

� Clef (1) = p1 , Clef (2) = p2 , ?, Clef (i) = pi , ?, Clef (m) = pm ���

O�, c?p1 est associ� � L1?, c?p2 est associ� � L2?, ? et c?pm est associ� � L?m.

Ainsi, nous obtenons le message M.

Etape 2

Dans cette seconde �tape, nous proc�dons au d�chiffrement de M pour obtenir M0. Le passage de M0 � M se fait par le biais d?op�rations ou fonctions simples de la cryptographie (substitution simple, d�calage, chiffrement affin�?) et dont la cl� est secr�te et sym�trique.

Nous avons appliqu� notre algorithme sur des messages de diff�rentes tailles. Nous n?avons retenu que quatre exemples mod�les. Pour chacun, nous avons ex�cut� l?application pour diff�rentes tailles de population et nous en avons retenu les meilleures. Puis dans un tableau r�capitulatif, nous avons enregistr� les r�sultats importants, � savoir�: valeur de la convergence de la fonction d?�valuation, nombre de g�n�rations atteint lors de cette convergence.

Le brouillage utilis� pour les quatre messages ci-dessous est�un chiffrement affin�d�fini par F(x)= ax + b o� a = -1, b = 255 et x = code ASCII du caract�re du message initial.

Figure 2. Le chiffrement du message 1

La cl� est : 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 4 5 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 6 7 51 23 52 0 1 2 3 25 29 24 27 28 30 26 31

Figure 3. Chiffrement du message 2

La cl� est : 8 9 10 11 12 13 14 15 16 17 18 19 6 7 22 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 21 1 23 24 25 2 5 4 20 26 0 3 28 27

Figure 4. R�sultats exp�rimentaux des messages 1 et 2

Figure 5. Le chiffrement du message 3

La cl� est�: 15 16 17 18 19 20 21 22 23 24 25 26 27 50 51 4 5 6 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 7 8 9 10 11 12 13 14 28 29 30 0 1 2 3 52 53

Figure 6. Le chiffrement du message 4

La cl� est : 9 10 11 12 13 14 15 16 17 18 19 24 25 26 27 28 29 30 31 32 33 0 1 2 3 22 4 5 7 8 23 20 21 6

Figure 7. R�sultats exp�rimentaux des messages 3 et 4

Tableau 2�: Tableau r�capitulatif des r�sultats

Pour la plupart des exemples trait�s dans nos exp�riences, nous constatons que les meilleures valeurs de l?optimum (valeur de convergence) sont atteintes pour une population de taille 24 (message 2 et message 3 dans figure1). Dans certains cas, les tailles 30 et 32 ont donn� de bons r�sultats, mais le nombre de g�n�rations dans ce cas a doubl�, ce qui se traduit par un co�t suppl�mentaire en terme de temps. Nous conseillons donc de choisir 24 comme taille de la population.

Nous citerons, dans la section 5, �les quatre messages mod�les et expliciterons les op�rations utilis�es pour brouiller le message et la cl� de session g�n�r�e par notre algorithme �volutionniste.

Nous comparons notre algorithme avec l?un des algorithmes sym�triques les plus connus, le DES.

En g�n�ral, les algorithmes sym�triques les plus connus (DES, IDEA, AES) font des chiffrements par blocs. Le n�tre chiffre le message tout entier en une seule prise, ce qui est moins co�teux.

Le DES a une cl� de 64 bits (mais ne sont utilis�s que les 56 bits). Cette taille si petite a favoris� son attaque par une recherche exhaustive de la cl� (ou attaque par force brute). Dans notre algorithme, nous pouvons toujours supposer que le message contient plus de 30 caract�res diff�rents, donc la taille de la cl� est au moins �gale � 240 bits, taille r�sistante actuellement aux attaques. Dans le cas o� le texte contient moins de vingt diff�rents caract�res nous pouvons le compl�ter par d?autres. En outre, notre cl� est une cl� de session (variable d?un message � l?autre) et est g�n�r�e par notre propre algorithme. Par contre, celle du DES ne l?est pas. Or, les cl�s de session sont plus r�sistantes aux attaques que les autres.

Autre point important � �voquer, on peut penser � une crypto-analyse par l?�tude des fr�quences d?apparition des caract�res dans le message. Ce genre d?attaque s?appuie sur des �tudes en linguistique d�terminant les fr�quences d?apparition des lettres d?un texte �crit dans une langue naturelle. Or, rappelons que nos messages ne sont pas exclusivement des messages litt�raux sans ponctuation,�ils peuvent contenir tous les caract�res possibles du code ASCII. Puisqu?il n?y a aucune �tude des fr�quences de tous les caract�res du code ASCII, une attaque de ce genre est � rejeter, d?autant plus que le brouillage initial que nous avons effectu� rend l?attaque plus difficile puisque le crypto-analyste ne peut avoir une id�e pr�alable sur les types des caract�res du message.

Notre travail a apport� deux contributions simultan�es. La premi�re est l?�largissement de l?espace d?application des algorithmes �volutionnistes. Ces derniers n?ont prouv� leur efficacit� qu?en crypto-analyse. En fait, l?unique et le meilleur algorithme de chiffrement asym�trique ��Knapsack cipher�� (Muller, 2003), inspir� de la r�solution du probl�me du sac � dos, a �t� attaqu� en utilisant les algorithmes g�n�tiques. La deuxi�me contribution est la conception d?une nouvelle formalisation du probl�me de chiffrement par l?innovation d?un algorithme de chiffrement �volutionniste. Ce dernier b�n�ficie de tous les avantages des algorithmes �volutionnistes (faible co�t, simplicit� des op�rations, performance?) et poss�de des qualit�s que nous avons mentionn�es dans la discussion ci-dessus. Toutefois, montrer qu?un syst�me de chiffrement est s�r reste une t�che tr�s d�licate (except� le syst�me � masque jetable). La plupart des crypto-analystes pensent m�me que tous les algorithmes de chiffrement sont cassables � long terme,�mais l?essentiel est de concevoir son syst�me de chiffrement de telle mani�re que la dur�e de vie souhait�e pour le texte chiffr� soit inf�rieure � celle mise par le crypto-analyste pour casser ce syst�me.



Bibliographie

Caux, C., Pierreval, H., Portmann, M. (1995). Les algorithmes g�n�tiques et leur application aux probl�mes d?ordonnancement. APII, 29, 4-5, 409-443.

Clark, J. (2003). Nature-Inspired Cryptography: Past, Present and Future. IEEE, 3, 1647-1654

Florin,G., Natkin, S. (2002). les techniques de la cryptographie. CNAM .

Goldberg, D.�(1989). Genetic algorithms in search optimisation & Machine Learning. Addison-Wesley. Publishing Company, Inc.

Grenfenslette, J. (1986). Optimisation of control parameters for genetic algorithms. IEEE translation on SMC. 16, 1, 122-128.

Khan Phang, C. (Octobre 1988). Algorithmes heuristiques et �volutionnistes. Th�se de doctorat, universit� de Lille.

Labouret, G. (2001). Introduction � la cryptographie. https://https://www.hsc.fr/ressources/cours/crypto/index.html.fr

Menezes, A., Van Oorschot, P., Vanstone, S. (1996). Handbook of aplied cryptography. CRC Press.

Muller, D. (2003). Le chiffre de https://Hellman. https://www.apprendre -en-ligne.net/crypto/knapsack

M�hlenbein, H, Schlierkamp-Voosen, D. (1993). Predictive Models for the Breeder Genetic Algorithm-I, continuous Parameter Optimization. Evolutionary Computation, 1, 1, 25-49.

Shannon, C. (1949).�Communication Theory of Secrecy Systems. Bell Systems Technical Journal.

Stinson, D. (2002). Cryptography - Theory and practice. Florida: CRC Press, Inc.

Tisserand, R (2000). Etat de l'art sur la cryptograhttps://m>. https://www.mines.u-nancy.fr/~tisseran/cours/cryptographie_Renaud.pdf

Zimmermann, P. (1994). Guide de l?utilisateur de PGP. Network-Associates, Inc. (USA)

Pour citer cet article


Fouzia Omary, Abderrahim Tragha, Abdelghani Bellaachia, Aboubakr Lbekkouri et Abdelaziz Mouloudi. �Chiffrement �volutionniste�. e-TI, Num�ro 2, 17 avril 2006, https://www.revue-eti.netdocument.php?id=858.




Revue �lectronique internationale
publi�e par SIR de l'Ecole Mohammadia d'Ing�nieurs(Maroc)
en partenariat avec l'ENSIAS (Maroc), Cnam(France), ENIT(Tunisie) et Khawarizmi'c(Maroc)
avec le soutien de l'Agence universitaire de la Francophonie.

Ecole Nationale Sup�rieure d'Informatique et d'Analyse des Syst�mes���� Conservatoire National des Arts et M�tiers���� Ecole Nationale d'Ing�nieurs de Tunis���� Ecole Mohammadia d'Ing�nieurs���� laboratoire de Systèmes d'Information répartis���� Agence Universitaire de la Francophonie���� Maroc Telecom���� khawarizm'ic����
ISSN 1114-8802