Attaque distinctive - Distinguishing attack

En cryptographie , une attaque distinctive est toute forme de cryptanalyse sur des données chiffrées par un chiffre qui permet à un attaquant de distinguer les données chiffrées des données aléatoires. Les chiffrements modernes à clé symétrique sont spécifiquement conçus pour être à l'abri d'une telle attaque. En d'autres termes, les schémas de chiffrement modernes sont des permutations pseudo - aléatoires et sont conçus pour être indiscernables par le texte chiffré . Si un algorithme est trouvé qui peut distinguer la sortie de l'aléatoire plus rapidement qu'une recherche par force brute , alors cela est considéré comme une rupture du chiffrement.

Un concept similaire est l' attaque de distinction à clé connue , par laquelle un attaquant connaît la clé et peut trouver une propriété structurelle dans le chiffrement, où la transformation du texte en clair en texte chiffré n'est pas aléatoire.

Aperçu

Pour prouver qu'une fonction cryptographique est sûre, elle est souvent comparée à un oracle aléatoire . Si une fonction était un oracle aléatoire, alors un attaquant n'est pas en mesure de prédire la sortie de la fonction. Si une fonction se distingue d'un oracle aléatoire, elle a des propriétés non aléatoires. C'est-à-dire qu'il existe une relation entre différentes sorties, ou entre entrée et sortie, qui peut être utilisée par un attaquant par exemple pour trouver (une partie de) l'entrée.

Exemple Soit T une séquence de bits aléatoires, générée par un oracle aléatoire et S une séquence générée par un générateur de bits pseudo-aléatoires . Deux parties utilisent un système de cryptage pour crypter un message M de longueur n en tant que XOR binaire de M et les n bits suivants de T ou S respectivement. La sortie du cryptage utilisant T est vraiment aléatoire. Maintenant, si la séquence S ne peut pas être distinguée de T, la sortie du cryptage avec S apparaîtra également aléatoire. Si la séquence S est distinguable, alors le cryptage de M avec S peut révéler des informations de M.

Deux systèmes S et T sont dits indiscernables s'il n'existe pas d'algorithme D, connecté soit à S soit à T, capable de décider s'il est connecté à S ou à T.

Une attaque distinctive est donnée par un tel algorithme D. Il s'agit généralement d'une attaque dans laquelle l'attaquant se voit attribuer une boîte noire contenant soit une instance du système attaqué avec une clé inconnue, soit un objet aléatoire dans le domaine visé par le système. à émuler, alors si l'algorithme est capable de dire si le système ou l'objet aléatoire est dans la boîte noire, on a une attaque. Par exemple, une attaque distinctive sur un chiffrement de flux tel que RC4 peut être une attaque qui détermine si un flux d'octets donné est aléatoire ou généré par RC4 avec une clé inconnue.

Exemples

Des exemples classiques de distinguer l' attaque sur un chiffrement de flux populaire était par Itsik Mantin et Adi Shamir qui a montré que le 2ème octet de sortie de RC4 a été fortement biaisée vers zéro. Dans un autre exemple, Souradyuti Paul et Bart Preneel de COSIC ont montré que la valeur XOR des 1ère et 2ème sorties de RC4 est également non uniforme. De manière significative, les deux biais théoriques ci-dessus peuvent être démontrés par simulation informatique.

Voir également

Les références

Liens externes