5.5. Using a Mixing Function to Stretch Random Bits (Utilisation d'une fonction de mélange pour étendre les bits aléatoires)
5.5. Using a Mixing Function to Stretch Random Bits (Utilisation d'une fonction de mélange pour étendre les bits aléatoires)
Bien qu'il ne soit pas nécessaire pour une fonction de mélange de produire le même nombre ou moins de bits de sortie que ses entrées, mélanger des bits ne peut pas "étendre" la quantité d'imprévisibilité aléatoire présente dans les entrées. Ainsi, quatre entrées de 32 bits chacune, dans lesquelles il y a 12 bits d'imprévisibilité (telles que 4,096 valeurs également probables) dans chaque entrée, ne peuvent pas produire plus de 48 bits d'imprévisibilité en sortie. La sortie peut être étendue à des centaines ou des milliers de bits en, par exemple, mélangeant avec des entiers successifs, mais l'espace de recherche de l'adversaire astucieux reste 2^48 possibilités. De plus, mélanger vers moins de bits que ceux entrés aura tendance à renforcer l'aléa de la sortie.
Le dernier tableau de la Section 5.1 montre que mélanger un bit aléatoire avec un bit constant avec Ou Exclusif produira un bit aléatoire. Bien que cela soit vrai, cela ne fournit pas un moyen "d'étendre" un bit aléatoire en plus d'un. Si, par exemple, un bit aléatoire est mélangé avec un 0 puis avec un 1, cela produit une séquence de deux bits mais ce sera toujours soit 01 soit 10. Puisqu'il n'y a que deux valeurs possibles, il n'y a toujours qu'un bit d'aléa original.