ich zerbreche mir gerade den Kopf über einer Frage bezüglich symmetrischer Verschlüsselung. Hier zunächst mal die Frage:
Bis jetzt sind mir dazu folgende Dinge eingefallen:Gegeben sei ein beliebig großer Datenblock (der Einfachheit halber im folgenden als "Klartext" bezeichnet). Dieser Klartext wird mit einem symmetrischen Verschlüsselungsverfahren (AES, Blowfish, Twofish o. ä.) und einem Schlüssel K verschlüsselt.
Von besagtem Klartext existiert ein Hashwert, der mit einer kryptographischen Hashfunktion (z. B. SHA-256, RIPEMD-160 o. ä.) ermittelt wurde.
Frage: Wenn nun dieser Hashwert mit demselben Schlüssel K verschlüsselt wird, erhöhen sich dann für einen Angreifer die Erfolgschancen, K zu erraten, wenn ihm sowohl der verschlüsselte Datenblock als auch die verschlüsselte Checksumme in die Hände fallen? Dem Angreifer wären im Zweifel beide eingesetzten Algorithmen (Verschlüsselung, Hashfunktion) bekannt - nicht jedoch der verwendete Schlüssel K.
- Der Hashwert hat eine bekannte Länge. Damit weiß der Angreifer schon mal, wie viele Bytes des verschlüsselten Hashwertes tatsächlich Daten und wie viele nur Padding sind.
- Bei einem Brute Force Angriff ist es für den Angreifer verhältnismäßig einfach zu prüfen, ob der eben ausprobierte Schlüssel überhaupt in Betracht kommt - Hashwert des "entschlüsselten" Klartextes ziehen und mit dem "entschlüsselten" Hashwert vergleichen.
Mehr Sorgen macht mir der erste Punkt - hilft einem Angreifer die Kenntnis der Plaintext-Länge weiter?