Comment les attaques par force brute sur les données cryptées savent-elles quand elles ont trouvé la bonne clé pour déchiffrer les données? Existe-t-il un moyen de savoir que les données ont été décryptées, à part d'avoir un humain qui les regarde? Et si ce ne sont pas des données humaines?Comment les attaques de décryptage par force brute savent-elles qu'elles ont trouvé la bonne solution?
Répondre
Cela dépend de la méthode de cryptage. Par exemple, avec le cryptage RSA, si vous cherchez la clé privée, vous l'avez trouvée lorsque la clé publique est un multiple du nombre en question.
Les cryptanalystes espèrent avoir du texte chiffré et du texte en clair. Une clé qui déchiffre ce texte chiffré à ce texte en clair est certainement la bonne clé.
Sans le texte en clair connu, le format des données doit être connu. Par exemple, le texte en clair HTML contient des balises. Un texte en clair du répertoire téléphonique contient des numéros de téléphone. Etc.
... c'est pourquoi vous devriez écrire vos messages ultra-super-secrets dans une langue privée secrète * avant * d'appliquer le cryptage. ;) ... bien sûr que le langage pourrait encore être déchiffré, mais cela rendrait le travail de déchiffrer les messages beaucoup plus difficile. – FrustratedWithFormsDesigner
... Ou cryptez simplement plusieurs fois. Incidemment, je suis en train de terminer l'horrible livre de Dave Brown * Digital Fortress * –
@Adam Gent: Ne vous embêtez pas. Presque toute autre activité est plus valable. – FrustratedWithFormsDesigner
Cela dépend de l'algorithme. Avec de nombreux algorithmes, il n'y a qu'une seule clé de déchiffrement correcte. Lorsque vous avez la clé, vous pouvez facilement vérifier que c'est la bonne clé en temps polynomial.
Avec certains algorithmes, il est impossible de savoir quand vous avez la bonne clé. Tous les textes simples (de la bonne longueur) pourraient donner la sortie. Un exemple d'un tel schéma est un one-time pad avec un cryptage XOR. Cependant, si un pad unique est réutilisé, les chiffrements peuvent être XORed les uns avec les autres pour supprimer la clé, puis les deux messages en clair peuvent être extraits en utilisant des techniques telles que frequency analysis pour déterminer le type de données et les décryptions les plus probables .
+1 pour les pads uniques! ... bien que je pensais qu'ils étaient appelés tampons à usage unique * parce que * ils ne pouvaient pas être réutilisés ... ou peut-être qu'ils le peuvent mais c'est fortement recommandé contre. – FrustratedWithFormsDesigner
@Frustrated: Si vous les réutilisez, ils perdront * tous * cette merveilleuse sécurité mathématiquement garantie ... – dmckee
Si vous les réutilisez, ils sont à deux temps. –
Est-il possible pour quelqu'un de crypter des données de telle sorte qu'il puisse être déchiffré de plusieurs façons, produisant plusieurs résultats valides, mais différents? (Avec un seul d'entre eux étant le bon, peut-être.) – JAB
@JAB: Vous obtenez cela automatiquement avec un pad une fois ... c'est juste que les OTP ne sont utiles que dans certaines circonstances contraints. – dmckee
** Réponse à cette question non liée à la programmation: ** en tirant parti des propriétés connues ou attendues du texte brut en ce qui concerne la redondance et le format. Alice peut rendre la vie d'Eve plus difficile en compressant efficacement le texte avant de le chiffrer. – dmckee