Pourquoi Comment Combien le blog du Dr. Goulu
le blog du Dr. Goulu

Réseaux de neurones et loi de Schneier

Des chercheurs de Google viennent de nous rapprocher un peu plus de la singularité technologique en permettant à deux réseaux de neurones, Alice et Bob de développer entre eux une méthode de cryptage qu’un troisième réseau de neurone, Eve, ne soit pas capable de décrypter [1]

Robot-Scheme

Le schéma utilisé est celui de la cryptographie symétrique, illustré ci-dessus. Alice doit apprendre à crypter le message P, et Bob et Eve doivent apprendre à décrypter le message C. Le mot “adversial” dans le titre de l’article [1] peut se traduire par “carotte et bâton numériques”: à chaque essai, l’apprentissage d’Alice et Bob est récompensé si plus de la moitié* des bits de PBob correspondent à P, et puni si plus de la moitié de PEve correspond à P. Et Eve est récompensée si PEve correspond à P. Le seul avantage de Bob est qu’il reçoit également une “clé” K qu’Alice peut utiliser pour le cryptage, alors qu’Eve ne possède pas cette clé.

Les résultats se trouvent ci-dessous : pendant les 7000 premières itérations, Bob et Eve ne comprennent rien aux messages d’Alice. Puis tout à coup, en 2000 itérations supplémentaires, Bob “comprend” le cryptage d’Alice, mais Eve fait des progrès également. Alors, après 10000 étapes environ, Alice change un peu  son cryptage, probablement en y intégrant mieux la clé, et Alice Eve n’y comprend presque plus rien, alors que Bob, après une petite hésitation, arrive à décrypter parfaitement les messages d’Alice après 15000 étapes. Beau match !

%image_alt%

Ce qui pourrait faire peur, c’est qu’aucun humain ne sait vraiment quelle méthode de cryptage Alice et Bob ont ainsi mis au point entre eux. On peut imaginer qu’un de ces jours Google pourra dire à la NSA : “désolés, on ne sait pas nous-mêmes comment décrypter les messages que vous voulez…”. Mais ça prendra encore du temps, parce que ça ne marche pas (encore) pour la cryptographie asymétrique, mais aussi à cause de la “loi de Schneier”.

La loi de Schneier

Bruce Schneier est mon gourou de sécurité informatique, et de sécurité tout court. Je suis assidument son blog depuis que j’ai lu son excellent bouquin “Liars and outliers“. Et à propos de la nouvelle ci-dessus, il s’est fendu d’un tout petit article [2] pour le moins critique que je vous traduis intégralement :

Cette histoire concerne plus l’intelligence artificielle et les réseaux de neurones que la cryptographie. L’algorithme ne vaut rien mais est un parfait exemple de ce que j’ai entendu nommer “la loi de Schneier”: n’importe qui peut concevoir un chiffrement qu’il n’est pas capable de casser lui-même.

Son lien vers “Schneier’s Law” mène à un de ses article datant de 2011 [3], où il relève que l’origine de cette idée remonte en fait au moins jusqu’à 1864, lorsque Charles Babbage (oui, celui d’Ada Lovelace !) écrivit dans son autobiographie [4]:

Une des caractéristiques les plus singulières dans l’art du déchiffrage est la forte conviction de chaque personne, même si elle n’est que modérément familiarisé avec cet art, qu’elle est capable de construire un chiffrement que personne d’autre ne peut décrypter.

En 1998, Schneier l’a reformulée ainsi:

Tout le monde, de l’amateur le plus ingénu au meilleur cryptographe, peut créer un chiffrement qu’il n’est pas capable de casser. Ce n’est même pas difficile. Ce qui est difficile est de créer un algorithme que personne d’autre ne peut casser, même après des années d’analyse. Et la seule manière de prouver ceci est de soumettre l’algorithme à des années d’analyse par les meilleurs cryptographes disponibles.

C’est cette version que Cory Doctorow a nommé “Loi de Schneier” dans une conférence en 2004 [5]. Schneier considère aujourd’hui que “sa” loi est un exemple de l'effet Dunning-Kruger, le biais cognitif selon lequel les moins qualifiés dans un domaine surestiment leur compétence…

Reste à voir si ce biais ne touche que les humains, ou aussi les réseaux de neurones artificiels…

Note* : en tirant les bits à pile ou face, on obtient la moitié des bits du message original par hasard…

Références:

  1. Martin Abadi and David G. Andersen “Learning to protect communications with adversarial neural cryptograph“, 2016, arxiv=1610.06918v1
  2. Bruce Schneier “Teaching a Neural Network to Encrypt” 2016
  3. Bruce Schneier “Schneier’s Law” 2011
  4. Charles Babbage “Passages from the Life of a Philosopher”, 1864 (extrait “Charles Babbage and deciphering codes“)
  5. Cory Doctorow, “Microsoft Research DRM talk“, June 17, 2004
  6. Kruger, J., & Dunning, D. “Unskilled and Unaware of It: How Difficulties in Recognizing One’s Own Incompetence Lead to Inflated Self-Assessments“, 1999. Journal of Personality and Social Psychology, 77(6), 121–1134. DOI:10.1.1.64.2655 PMID:10626367

Laissez un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

6 commentaires sur “Réseaux de neurones et loi de Schneier”