Ceci est une archive de l'ancien forum de Numerama. Il n'est plus accessible. Vous êtes probablement arrivés ici par erreur. Cliquez ici pour revenir sur la page d'accueil.

Un mur de lampes à lave aide à chiffrer une partie du Web

Neuro le 07/01/2018 à 00:22

Ce qui peut sembler apparemment absurde est en fait bien réel. Les ordinateurs, aussi perfectionnés soient-ils, ne peuvent pas créer de nombres véritablement aléatoires pour générer des clés de chiffrement. Et ce défaut les rend prévisibles, problème rédhibitoire quand on veut protéger des données d’une attaque. Les lampes à lave, d’un autre côté, utilisent un phénomène purement physique et parfaitement aléatoire. Elles sont filmées par une caméra qui utilise leurs schémas toujours fluctuants pour créer des clés absolument imprévisibles. Ce mur peut être visité par le public, ce qui renforce le chiffrement : la moindre perturbation altère le mouvement des bulles.
(en)
https://www.desktoppr.co/wallpapers/168741

anon75590001 le 07/01/2018 à 01:31

Il suffit de rajouter une source d’entropie et le problème est réglé. La plus classique est entre la chaise et le clavier. En d’autres termes, les interactions de l’utilisateur avec les périphériques d’entrée, c’est de l’entropie permanente. Si le programme veut du vrai imprévisible, il doit considérer cela (/dev/random est censé accumuler cette entropie, par exemple).

Avec les architectures modernes, t’as intérêt à bien t’accrocher pour prévoir le tirage du prochain nombre basé sur un PRNG bien foutu, même sans entropie rajoutée. Ça fait un bout de temps déjà que le déterminisme a foutu le camp avec les threads.

Perso, ça m’emmerde pas mal, car le déterminisme permet de faire de véritables tours de magie pour implémenter du multijoueur (avec uniquement échange des entrées des joueurs, peu importe la complexité du jeu, ça bouffe rien en bande passante, les moteurs de Total Annihilation et Starcraft fonctionnaient comme ça et j’ai moi-même implémenté ce genre de trucs en milieu industriel) et aussi les replay. Non seulement ça simplifie, mais c’est pratiquement gratuit en temps machine. On peut toujours le faire, mais c’est devenu tellement galère en multithread qu’il faut être un vrai sioux pour y parvenir et de toute façon, on est obligé de sacrifier des cycles.

Le déterminisme, c’est mon deuxième Graal (mon premier étant les 60fps). On l’avait, avant, avec les processeurs scalaires, mais on ne l’a plus… snif.

Après, pour le chiffrement, ok, ça aide… des sources d’entropie, y’en a à plus quoi savoir en foutre de partout dans l’univers. Reste juste à les connecter à la machine. Du coup, je me demande : pourquoi des lampes à lave ?

Pollux1 le 07/01/2018 à 11:11

Parce que c’est joli ?

Sinon, j’ai un ancien condisciple qui avait fabriqué en projet de fin d’étude un générateur de nombre aléatoire avec une carte d’extension PC contenant un circuit électrique chargé d’amplifier … rien : ce qui lui donnait un bruit blanc et donc un générateur aléatoire.

liolfil le 07/01/2018 à 12:30

Puisqu’il n’en est même pas fait mention : il s’agit de Cloudflare https://blog.cloudflare.com/lavarand-in-production-the-nitty-gritty-technical-details/

@anon75590001 ces lampes sont bien une source d’entropie supplémentaire. Et si tu veux pouvoir faire des tours de magie, pas besoin d’utiliser un CSPRNG, mais ça tu le sais déjà.

Pourquoi ce mur ? C’est de la communication sympathique, ça permet de parler de chiffrement et d’entropie avec une image que tout le monde peut (voir et) comprendre.

anon75590001 le 07/01/2018 à 20:33

Allons liolfil, je parlais de tour de magie avec le déterminisme, pas l'inverse (càd en rajoutant de l'entropie).

Je radotais sur l'intérêt du déterminisme, alors que les cryptographes radotent sur l'intérêt de l'entropie. Ils sont le Yang, je suis le Yin. L'un ne va pas sans l'autre, sinon on s'ennuie... non ?

mkey le 08/01/2018 à 11:09

Parce que c'est pas cher à alimenter et à exploiter j'imagine ? La lampe à lave permet d'obtenir rapidement et facilement un mouvement chaotique pérrein sur le temps. De plus, comme le dit @liolfil, c'est facile à comprendre, et donc à communiquer.

anon75590001 le 08/01/2018 à 12:03

N'importe quel capteur de n'importe quoi se prend de l'entropie. En fait à la base, c'est un inconvénient qu'il est bien plus facile d'exploiter que d'éviter. Prend juste un bête capteur infrarouge : c'est soumis à un max d'entropie parce que les photons, y'en a partout tout le temps, même la nuit. On doit y ajouter des porteuses et des protocoles pour fiabiliser la communication. Pareil pour le son, la pression atmosphérique, la température, les mesures sismiques, l'électromagnétisme, et j'en passe. Alors bon, l'argument du pas cher, à d'autres.

Ça à la limite, je veux bien le prendre comme argument, et puis ça fait participer les gens, c'est convivial, tout ça. Mais bon... autant regarder un feu dans une cheminée avec un Ian Malcolm en puissance pour enseigner la théorie du chaos.

Bon allez, j'rigole. Par contre @Neuro, je pige pas le lien avec les wallpapers...

mkey le 08/01/2018 à 12:20

Oui je te rejoins là-dessus. De l'entropie, on en trouve partout autour de nous. Ce que je dis, c'est qu'observer les mouvements d'une lampe à lave est plus simple que de mesurer celui des photons. Et les mesures de température ou de pression sont localement trop stables pour exploiter le phénomène.

Pareil, je peux pas m'empêcher de penser à lui quand j'entends théorie du chaos :laughing:

johndo1 le 08/01/2018 à 13:53

:smile:

liolfil le 10/01/2018 à 19:39

Comment générer de l'aléatoire avec la caméra d'un iPhone (une implémentation similaire à LavaRand) https://medium.com/vault12/how-to-get-true-randomness-from-your-apple-device-with-particle-physics-and-thermal-entropy-a9d47ca80c9b

Très intéressant et très accessible.