2010-06-16 13 views
11

Wie können Brute-Force-Angriffe auf verschlüsselte Daten erkennen, wenn sie den richtigen Schlüssel zum Entschlüsseln der Daten gefunden haben? Gibt es eine Möglichkeit zu wissen, dass Daten entschlüsselt wurden, abgesehen davon, dass ein Mensch sie betrachtet? Was ist, wenn es sich nicht um menschenfreundliche Daten handelt?Wie erkennen Brute-Force-Entschlüsselungsangriffe, wenn sie die richtige Lösung gefunden haben?

+1

Kann jemand Daten so verschlüsseln, dass sie auf mehrere Arten entschlüsselt werden können, wodurch mehrere gültige, aber unterschiedliche Ergebnisse erzielt werden? (Vielleicht ist nur einer von ihnen der richtige.) – JAB

+0

@JAB: Das bekommst du automatisch mit einem One-Pad ... es ist nur so, dass OTPs nur unter bestimmten eingeschränkten Umständen hilfreich sind. – dmckee

+3

** Beantworten Sie diese nicht programmierungsbezogene Frage: ** indem Sie die bekannten oder erwarteten Eigenschaften des Klartextes in Bezug auf Redundanz und Format nutzen. Alice kann Eves Leben erschweren, indem sie den Klartext vor der Verschlüsselung effizient komprimiert. – dmckee

Antwort

7

Es hängt von der Verschlüsselungsmethode ab. Wenn Sie beispielsweise bei der RSA-Verschlüsselung nach dem privaten Schlüssel suchen, wissen Sie, dass Sie ihn gefunden haben, wenn der öffentliche Schlüssel ein Vielfaches der betreffenden Zahl ist.

8

Cryptanalysten hoffen, Chiffretext und Klartext zu kennen. Ein Schlüssel, der diesen Chiffretext zu diesem Klartext entschlüsselt, ist sicherlich der richtige Schlüssel.

Ohne bekannten Klartext muss das Datenformat bekannt sein. Zum Beispiel enthält Klartext-HTML Tags. Ein Telefonbuch-Klartext enthält Telefonnummern. Und so weiter.

+0

... deshalb sollten Sie Ihre ultra-supergeheimen Nachrichten in einer geheimen privaten Sprache schreiben * bevor * Verschlüsselung anwenden. ;) ... natürlich könnte diese Sprache noch entschlüsselt werden, aber es würde den Job machen, die Nachrichten viel schwieriger zu knacken. – FrustratedWithFormsDesigner

+2

... Oder verschlüsseln Sie einfach mehrere Male. Zufälligerweise beende ich Dave Browns schreckliches Buch * Digital Fortress * –

+2

@Adam Gent: Mach dir keine Sorgen. Fast jede andere Aktivität lohnt sich. – FrustratedWithFormsDesigner

3

Es hängt vom Algorithmus ab. Bei vielen Algorithmen gibt es nur einen richtigen Entschlüsselungsschlüssel. Wenn Sie den Schlüssel haben, können Sie leicht überprüfen, ob es der richtige Schlüssel in polynomieller Zeit ist.

Mit einigen Algorithmen ist es jedoch unmöglich zu wissen, wann Sie den richtigen Schlüssel haben. Alle einfachen Texte (von der richtigen Länge) könnten die Ausgabe ergeben. Ein Beispiel für ein solches Schema ist ein one-time pad mit XOR-Verschlüsselung. Wenn jedoch ein Einmalblock wiederverwendet wird, können Chiffriertexte miteinander XOR-verknüpft werden, um den Schlüssel zu entfernen, und dann können die zwei Klartextnachrichten unter Verwendung von Techniken wie frequency analysis extrahiert werden, um zu bestimmen, um welche Art von Daten es sich handelt und welche Entschlüsselungen am wahrscheinlichsten sind .

+0

+1 für einmalige Pads! ... obwohl ich dachte, dass sie einmal Pads genannt wurden * weil * sie nicht wiederverwendet werden konnten ... oder vielleicht können sie es, aber es wird * stark * empfohlen. – FrustratedWithFormsDesigner

+1

@Frustrated: Wenn Sie sie wiederverwenden, verlieren sie * alle * die wunderbar mathematisch garantierte Sicherheit ... – dmckee

+3

Wenn Sie sie wiederverwenden, sind sie zwei Mal Pads. –