Chiffrage/décryptage de texte à l’aide de réseau de neurones, un défi complexe

Auteurs : DUVERNAY François, VICENTE ALVAREZ David et VALENTE Adrian

Problème

Le chiffrage de texte (également désigné cryptage de texte) existe depuis que l’Homme a su écrire. Son principe de base est de transformer n’importe quel texte en clair (lisible par un autre humain) en texte qui ne devient lisible que par des personnes possédant la clé de cryptage. Les buts de la cryptographie sont d’assurer la confidentialité, l’authenticité et l’intégrité du message. 
 
Les chiffrages ou cryptages sont utilisés dans presque tous les moyens de communication modernes et deviennent de plus en plus complexes. En tant qu’utilisateurs du web, nous y sommes constamment confrontés dès lors que nos données et transactions personnelles sont chiffrées (selon le principe de confidentialité et d’authenticité de nos données).

Source : skylarvision, image libre de droit, Pixabay

De par cette omniprésence et de la puissance accrue des ordinateurs au fil du temps, crypter et décrypter de manière efficace prennent alors de plus en plus de temps, ce qui pousse à augmenter la complexité des méthodes de chiffrement. C’est ainsi que la question d’automatiser le processus s’est posée. Pour cela, il était tout naturel de se tourner vers des outils numériques modernes, tels que les réseaux de neurones. Ces derniers évoluent et sont utilisés de plus en plus dans divers domaines, et s’il est utilisé dans l’optique de facilité le cryptage et décryptage automatique des données, cet outil peut révéler un fort potentiel, mais il n’est encore que peu exploré dans cette voie.

L’apprentissage automatique

Le deep learning est un ensemble de méthodes d’apprentissage automatique qui est très utilisée aujourd’hui dans la robotique, la santé, la sécurité et bien d’autres. Ces méthodes ont permis de développer la reconnaissance d’image à un niveau jamais atteint auparavant. Le but de cette approche est de pouvoir accroître la puissance du modèle, en augmentant la profondeur du réseau en y ajoutant des couches de neurones successives, ce qui permettra de faire des calculs avec des données plus abstraites tels que des images, des sons, mais aussi des textes.

Lors de nos recherches, nous avons trouvé un article qui traite le problème du décryptage à l’aide de l’apprentissage automatique (Gomez et al. 2018 Unsupervised Cipher Cracking Using Discrete GANs). Dans cet optique, les auteurs de l’article ont utilisé un « Réseau antagoniste génératif » (GAN). Ce type de méthode d’apprentissage consiste à mettre en compétition deux réseaux : le générateur et le discriminateur. Le générateur essaye de reproduire des images ressemblantes aux images existantes à partir de bruits, et c’est ensuite le discriminateur qui lui indiquera si les images générées sont effectivement proche de ce que l’on veut, ou si ce n’est pas le cas. Durant la phase d’entraînement, le générateur essaye de créer de meilleures images, alors que le discriminateur essaye de différencier les images entre celles qui sont réelles, et celles qui ont été générées par le générateur. Les deux réseaux sont en compétition jusqu’à ce qu’ils ne progressent plus.

Une image contenant rouge, automate

Description générée automatiquement
Source : nicescene, image sous licence étudiante Adobe, Robot toy fighting

Dans notre cas, nous essayons d’appliquer cette technique sur du texte crypté et non crypté. L’idée est que le générateur crée ces deux types de textes. Le but est que les textes soient si ressemblants à notre base de données de textes cryptés/non-cryptés que le discriminateur n’arrivera plus à faire la différence. C’est à ce moment que notre réseau apprend implicitement le cryptage via la compétition et l’imitation.

Notre objectif est de reproduire la méthode dans l’article dont nous nous inspirons, mais en utilisant des moyens plus actuels. Nous allons observer s’il y a une différence en essayant de reproduire la même marche à suivre, puis nous allons essayer de changer des éléments (par exemple la fonction de coûts) afin d’observer l’effet sur la précision et d’idéalement avoir un algorithme plus précis.

Apport pédagogique

Les réseaux de neurones sont des algorithmes d’apprentissage automatique qui sont complexes et difficiles à apprendre. L’un des moyens pour nous de les apprendre tout en pratiquant est d’essayer d’en créer un. Le GAN est l’un des algorithmes les plus compliqué à mettre en place et à entraîner, car il implique deux réseaux de neurones différents qui se battent et des formules complexes. C’est donc un défi conséquent pour nous, car il constituera le premier réseau de neurones que nous allons mettre en place et sera donc une bonne opportunité pour nous introduire au domaine.

Source : Freedomz, image sous licence étudiante Adobe

De plus, nous voyons la problématique du décryptage comme un “simple” problème de traduction. Nous essayons de “traduire” du texte crypté en texte simple et vice-versa sans connaissance préalable de l’algorithme de cryptage ou encore de la clé. C’est un thème qui n’est pas encore très exploré dans le domaine et qui peut être intéressant, car il peut être transposé dans de nombreux autres domaines.

Bibliographie

Image gratuite sur Pixabay – Https, Site Internet, L’Internet. In : [en ligne]. [Consulté le 16 septembre 2021]. Disponible à l’adresse : https://pixabay.com/fr/illustrations/https-site-internet-l-internet-3344700/.

GOMEZ, Aidan N., HUANG, Sicong, ZHANG, Ivan, LI, Bryan M., OSAMA, Muhammad et KAISER, Lukasz, 2018. Unsupervised Cipher Cracking Using Discrete GANs. In : International Conference on Learning Representations [en ligne]. S.l. : s.n. 15 février 2018. [Consulté le 16 septembre 2021]. Disponible à l’adresse : https://openreview.net/forum?id=BkeqO7x0-.

RAHUL RAY, 2019. Generative Adversarial Network (GAN). In : GeeksforGeeks [en ligne]. 15 janvier 2019. [Consulté le 16 septembre 2021]. Disponible à l’adresse : https://www.geeksforgeeks.org/generative-adversarial-network-gan/.

ROCCA, Joseph, 2021. Understanding Generative Adversarial Networks (GANs). In : Medium [en ligne]. 21 mars 2021. [Consulté le 16 septembre 2021]. Disponible à l’adresse : https://towardsdatascience.com/understanding-generative-adversarial-networks-gans-cd6e4651a29.

STOCK.ADOBE.COM, Photo Stock High school or college student group catching up workbook and learning tutoring in classroom and reading, doing homework and lesson practice preparing exam. In : Adobe Stock [en ligne]. [Consulté le 16 septembre 2021 a]. Disponible à l’adresse : https://stock.adobe.com/fr/images/high-school-or-college-student-group-catching-up-workbook-and-learning-tutoring-in-classroom-and-reading-doing-homework-and-lesson-practice-preparing-exam/216304347. (Licence étudiante)

STOCK.ADOBE.COM, Photo Stock robot toy fighting. In : Adobe Stock [en ligne]. [Consulté le 16 septembre 2021 b]. Disponible à l’adresse : https://stock.adobe.com/fr/images/robot-toy-fighting/63269388. (Licence étudiante)

Carnet d'IdéeS - blog du Master IS

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *