Aller au contenu principal

6.1.1. The Fallacy of Complex Manipulation (L'illusion de la manipulation complexe)

6.1.1. The Fallacy of Complex Manipulation (L'illusion de la manipulation complexe)

Une approche qui peut donner une apparence trompeuse d'imprévisibilité est de prendre un algorithme très complexe (ou un excellent générateur de nombres pseudo-aléatoires traditionnel avec de bonnes propriétés statistiques) et de calculer une clé cryptographique en commençant avec des données limitées telles que la valeur de l'horloge système comme graine. Les adversaires qui savaient approximativement quand le générateur a été démarré auraient un nombre relativement petit de valeurs de graine à tester, car ils connaîtraient les valeurs probables de l'horloge système. De grands nombres de bits pseudo-aléatoires pourraient être générés, mais l'espace de recherche qu'un adversaire devrait vérifier pourrait être assez petit.

Ainsi, une manipulation très forte ou complexe de données n'aidera pas si l'adversaire peut apprendre quelle est la manipulation et s'il n'y a pas assez d'entropie dans la valeur de graine de départ. Ils peuvent généralement utiliser le nombre limité de résultats provenant d'un nombre limité de valeurs de graine pour vaincre la sécurité.

Une autre erreur stratégique sérieuse est de supposer qu'un algorithme de génération de nombres pseudo-aléatoires très complexe produira des nombres aléatoires forts, lorsqu'il n'y a eu aucune théorie derrière ou analyse de l'algorithme. Il existe un excellent exemple de cette illusion près du début du Chapitre 3 dans [KNUTH], où l'auteur décrit un algorithme complexe. Il était prévu que le programme en langage machine correspondant à l'algorithme soit si compliqué qu'une personne essayant de lire le code sans commentaires ne saurait pas ce que le programme faisait. Malheureusement, l'utilisation réelle de cet algorithme a montré qu'il convergeait presque immédiatement vers une seule valeur répétée dans un cas et un petit cycle de valeurs dans un autre cas.

Non seulement une manipulation complexe ne vous aide pas si vous avez une plage limitée de graines, mais une manipulation complexe choisie aveuglément peut détruire l'entropie dans une bonne graine!