Aller au contenu principal

6.2. Cryptographically Strong Sequences (Séquences cryptographiquement fortes)

6.2. Cryptographically Strong Sequences (Séquences cryptographiquement fortes)

Dans les cas où une série de quantités aléatoires doit être générée, un adversaire peut apprendre certaines valeurs de la séquence. En général, les adversaires ne devraient pas être capables de prédire d'autres valeurs à partir de celles qu'ils connaissent.

La technique correcte consiste à commencer avec une graine aléatoire forte, à prendre des étapes cryptographiquement fortes à partir de cette graine [FERGUSON, SCHNEIER], et à ne pas révéler l'état complet du générateur dans les éléments de séquence. Si chaque valeur dans la séquence peut être calculée d'une manière fixe à partir de la valeur précédente, alors lorsqu'une valeur est compromise, toutes les valeurs futures peuvent être déterminées. Ce serait le cas, par exemple, si chaque valeur était une fonction constante des valeurs utilisées précédemment, même si la fonction était une fonction de condensé de message très forte et non inversible.

(Notez que si une technique pour générer une séquence de valeurs de clé est assez rapide, elle peut trivialement être utilisée comme base pour un système de confidentialité. Si deux parties utilisent la même technique de génération de séquence et commencent avec le même matériel de graine, elles généreront des séquences identiques. Celles-ci pourraient, par exemple, être XORées à une extrémité avec des données envoyées pour les chiffrer, et XORées avec ces données à la réception pour les déchiffrer, en raison des propriétés réversibles de l'opération XOR. Ceci est communément appelé un chiffrement de flux simple.)