Malleability

Aus testwiki
Version vom 21. September 2023, 12:40 Uhr von 89.247.156.202 (Diskussion) (,)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Malleability (englisch für Formbarkeit) ist eine mögliche Eigenschaft von kryptographischen Algorithmen. Eine Verschlüsselung gilt als „malleable“, falls es möglich ist, einen Geheimtext ohne Kenntnis des Klartextes und des Schlüssels derart zu ändern, dass es bei der Entschlüsselung zu einer spezifischen Änderung des Klartextes führt.[1]

Im Allgemeinen ist es eine unerwünschte Eigenschaft, die verschiedene Angriffe ermöglicht. In der Fachliteratur wird daher häufiger vom gegensätzlichen Attribut Non-Malleability gesprochen.

Definition

Ein kryptographischer Algorithmus mit Verschlüsselung E und Entschlüsselung D heißt formbar, wenn ein Angreifer ohne Kenntnis des Klartexts m und des Schlüssels k einen gegebenen verschlüsselten Geheimtext c=Ek(m) zu einem neuen Geheimtext c umformen kann, sodass dessen Entschlüsselung Dk(c)=f(m) in einen geänderten Klartext resultiert, dessen Änderungsfunktion f dem Angreifer bekannt ist.

Wenn ein Angreifer Teile eines verschlüsselten Textes erraten kann, kann er den Geheimtext so ändern, dass sich diese Teile für seine Zwecke ändern.

Beispiele

Formbarkeit erlaubt häufig Chosen-Ciphertext-Angriffe auf den Algorithmus und wird daher allgemein als unerwünschte Eigenschaft gesehen. In manchen Fällen kann Formbarkeit aber auch vorgesehen sein. So ist es bei Pallier, ElGamal und RSA möglich, mehrere Geheimtexte zu kombinieren und so eine Kombination der zugehörigen Klartexte zu erhalten.[2] So kann mit sogenannten Blindings auf verschlüsselten Daten sicherer gearbeitet werden, ohne diese entschlüsseln zu müssen.

Solche Algorithmen werden auch als homomorphe Verschlüsselungsalgorithmen bezeichnet.[3]

Transaktionen von Bitcoin waren vor Einführung von SegWit von Verformbarkeit betroffen. Einem Angreifer war es so möglich, die eindeutige Transaktionsnummer vor der Ausführung zu ändern.[4]

Einzelnachweise