Proposition d’un Système Cryptographique à la base d’Algorithme Génétique
1
Proposition d’un Crypto-Système à Clé Secrète sur
la base dAlgorithme Génétique
Mohamed Sadek ALI-PACHA
Laboratoire SIMPA (Signal-Image-Parole)
Université des Sciences et de la Technology d’Oran USTO,
BP 1505 El M’Naouer Oran 31036 ALGERIE
Email: msadek[email protected]
Proposition d’un Système Cryptographique à la base d’Algorithme Génétique
2
Résume :
Nous avons assisté ces dernières années à une croissance très rapide des
travaux utilisant les algorithmes génétiques. Les algorithmes génétiques
(AGs) sont des algorithmes d’optimisation stochastique fondés sur les
mécanismes de la sélection naturelle et de la génétique.
Cette tendance peut être observée dans tous les domaines y compris dans la
transmission de l’information.
Dans cette communication on essaye de faire d’une part l’introduction aux
algorithmes génétiques et d’autre part étudier la possibilité de mettre les
AGs à la disposition de la cryptographie c'est-à-dire tout simplement
chercher d’abord des modèles mathématiques adéquats pour sécuriser
l’information, et que ses derniers les satisfassent les conditions des AGs.
Mots Clés :
Algorithmes génétiques,
Cryptographie,
Générateur des bits pseudo-aléatoires,
polynôme primitif.
Proposition d’un Système Cryptographique à la base d’Algorithme Génétique
3
1. Introduction :
Les AGs ont été initialement développés par John Holland [1]. C’est au livre de Goldberg [2] que nous devons leur
popularisation.
Les algorithmes génétiques (AGs) sont des algorithmes d’optimisation stochastique fondés sur les mécanismes de la
sélection naturelle et de la génétique. Leur fonctionnement est extrêmement simple. On part avec une population de
solutions potentielles (chromosomes) initiales arbitrairement choisies. On évalue leur performance (fitness) relative.
Sur la base de ces performances on crée une nouvelle population de solutions potentielles en utilisant des opérateurs
évolutionnaires simples : la sélection, le croisement et la mutation. On recommence ce cycle jusqu’à ce que l’on
trouve une solution satisfaisante.
Leurs champs d’application sont très vastes. Outre l’économie, ils sont utilisés pour l’optimisation de fonctions (De
Jong (1980)), en finance (Pereira (2000)), en théorie du contrôle optimal (Krishnakumar et Goldberg (1992),
Michalewicz, Janikow et Krawczyk (1992) et Marco et al. (1996)), encore en théorie des jeux répétés (Axelrod
(1987)) et différentiels (Özyildirim (1996, 1997) et Özyildirim et Alemdar (1998)).
Leur application dans la cryptographie fut initie [3] en 1993 par Spillman, Janssen, Nelson et Kepner, et leur travail
été de casser un chiffrement par substitution simple en utilisant un algorithme nétique. Beaucoup de travaux ont
été effectue dans ce sens c'est-à-dire, l'approche algorithme génétique a été utilisée uniquement pour casser des
crypto systèmes classique (Substitution Mono alphabétique, Substitution Poly alphabétique, Chiffre de Permutation,
Chiffrement par Transposition, Chiffre de Merkle-Hellman, Chiffre de Chor-Rivest, Chiffre de Vernam).
La cryptographie est l’ensemble des processus de verrouillage visant à protéger l’accès à certaines données afin de
les rendre incompréhensible aux personnes non autorisées [4], autrement dit garantir la confidentialité, l’intégrité de
ces informations, ainsi que leur imputabilité.
La figure N : 1 représente le schéma de principe de chiffrage où S est une source binaire (Laquelle peut être la sortie
d’un convertisseur analogique-numérique).
Figure N :1 Schéma de principe de chiffrage
Proposition d’un Système Cryptographique à la base d’Algorithme Génétique
4
Aussi, beaucoup d'algorithmes génétiques de chiffrement ont été proposées A. Tragha et al. [5, 6], Décrivent un
système de chiffrement symétrique par bloc appelé ICIGA (Improved Cryptography Inspired by Genetic
Algorithms : cryptographie Amélioration Inspiré par Algorithmes Génétiques) qui génère une clé de session dans un
processus aléatoire. Les tailles de bloc et les longueurs de clés sont variables et peuvent être fixés par l'utilisateur au
début du chiffrement.
Dans la même marche à ces derniers travaux, nous présentons une nouvelle approche d’un crypto- système basé
sur le principe des algorithmes génétiques.
2. Algorithmes Génétiques
Holland fut le premier qui a proposé les Algorithmes Génétiques (AGs) dans les années 70. Ces derniers sont des
algorithmes d’optimisation stochastique fondés sur les mécanismes de l’évolution génétique des espèces, plus
précisément, du principe de sélection naturelle.
2.1. Présentation des Algorithmes Génétiques
Les AGs travaillent sur une population de points au lieu d’un point unique. Contrairement aux autres méthodes, Ils
utilisent un codage des paramètres et non les paramètres eux mêmes.
De plus, les AGs ne prennent en considération que les valeurs de la fonction étudiée, pas sa dérivée, ou une autre
connaissance auxiliaire [7]. Lors de leur fonctionnement, ils utilisent des règles de transition probabilistes (en
situation de croisement ou de mutation par exemple) et non déterministe.
Un AG manipule une population de taille constante N. Cette population se compose d’individus, chacun représente
le codage d’une solution potentielle au problème posé, donnée sous la forme d’une chaîne de caractères. Chaque
chaîne de caractères correspond à un Chromosome (individu / séquence). Chaque caractère à un gène et chaque lettre
de l’alphabet à un allèle. Le locus est la position d’un gène au sein d’un chromosome. Reste la fonction sélective, qui
permet d’associer une valeur à chaque individu de la population. Cette fonction est souvent une transformation de la
fonction objective à optimiser (appelée fonction de fitness). Par ailleurs, il existe trois principaux types de codage :
binaire, gray ou réel. Pour résumer, Lerman et Ngouenet [8] distinguent 4 principaux points qui font la différence
fondamentale entre ces algorithmes et les autres méthodes :
Individu/chromosome/séquence: une solution potentielle du problème ;
Population : un ensemble de chromosomes ou de points de l’espace de recherche ;
Environnement : l’espace de recherche ;
Fonction de fitness : la fonction - positive - que nous cherchons à maximiser.
Le fonctionnement d’un algorithme génétique de base (figure N°2) est comme suit:
Proposition d’un Système Cryptographique à la base d’Algorithme Génétique
5
1. Initialisation: il s’agit de générer aléatoirement une population d’individus de taille donnée ;
2. Evaluation : chaque chromosome est décodé puis évalué ;
3. Sélection : utilisation d’une technique de sélection appropriée afin de créer une nouvelle population de N
chromosomes ;
4. Reproduction : il s’agit, en fait, de recombiner deux individus appariés (lors de la phase précédente) pour créer
deux nouveaux individus. Il y a donc possibilité de mutation ou de croisement au sein de la nouvelle population.
5. Retour : à la phase de décodage et d’évaluation des chromosomes, jusqu’à l’arrêt du processus.
Figure 2: Cycle de l'algorithme génétique de base
2.2. Opérateurs Génétiques
Nous avons signalé que la sélection des parents intervenant dans les opérateurs génétiques se faisait aléatoirement;
cependant tous les individus ne sont pas sélectionnés comme parents, une certaine proportion des individus de la
population B(t) survit dans la population B(t+1).
Il existe quatre opérateurs génétiques classiques:
1. le croisement ou cross-over,
2. l'inversion,
3. la mutation et
4. l'insertion ou échange.
L'utilisateur doit aussi fixer le taux d'utilisation des opérateurs nétiques retenus: par exemple 60% des individus
sont retenus comme parents pour le cross-over, 1% subit une mutation et les autres sont inchangés.
Crossover /
Mutation
Anciens chromosomes
Nouveaux chromosomes
Sélection
Accouplement
Evaluation
1 / 12 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !