Cryptography Reference
In-Depth Information
14.4.5
Hashfunktionen aus Tweak-Verfahren
In ein Tweak-Verschlüsselungsverfahren geht neben dem Schlüssel noch eine wei-
tere Funktion ein (siehe Abschnitt 10.4). Tweak-Verfahren lassen sich auch zur
Konstruktion kryptografischer Hashfunktionen nutzen. Wie das geht, zeigt bei-
spielsweise die kryptografische Hashfunktion Skein , die beim SHA-3-Wettbe-
werb unter die besten fünf kam [FLSWBK]. Zum Entwicklerteam gehörten unter
anderem Bruce Schneier und der deutsche Informatik-Professor Stefan Lucks von
der Universität Weimar. Skein verwendet das Tweak-Verfahren Threefish (siehe
Abschnitt 10.4.2), das speziell für diesen Zweck entwickelt wurde. Die Betriebs-
art, in der Threefish verwendet wird, heißt UBI Chaining Mode (UBI steht für
»Unique Block Iteration«). Die Kompressionsfunktion sieht wie folgt aus ( A ist
der Status, U ein Urbildblock, E das Verschlüsselungsverfahren und t der Tweak):
E A,t ( U )
Der Tweak ändert sich mit jedem Aufruf. Daraus ergibt sich der Vorteil, dass die
Kompressionsfunktion für jeden verarbeiteten Block eine andere ist. Man kann
sich leicht vorstellen, dass dies Angriffe erschwert. Im Fall von Skein sind im
Tweak die Anzahl der bereits verarbeiteten Bytes, die Information, ob es sich um
den ersten und/oder den letzten Urbildblock handelt, sowie der sogenannte Auf-
ruftyp enthalten. Der Aufruftyp erklärt sich daraus, dass die Kompressionsfunk-
tion bei Skein nicht nur einmal pro Block aufgerufen wird. Stattdessen erfolgt der
erste Aufruf zur Initialisierung, ohne dass Urbildmaterial verarbeitet wird (Auf-
ruftyp Cfg ). Sind alle Blöcke abgearbeitet (Aufruftyp Msg ), dann wird die Kom-
pressionsfunktion erneut aufgerufen (Aufruftyp Out ) - bei längeren Hashwerten
sogar mehrmals.
A = U
14.5
Schlüsselabhängige Hashfunktionen
Wie Sie in diesem Kapitel erfahren haben, arbeitet eine kryptografische Hash-
funktion ohne Schlüssel. Dies ist auch nicht notwendig, da es nicht stört, wenn
Abhörer Mallory einen Hashwert berechnen kann. Es gibt jedoch auch Anwen-
dungsfälle, in denen Mallory diese Möglichkeit nicht haben soll. Ein Beispiel:
Alice schickt an Bob eine Nachricht, die nicht geheim bleiben muss (Mallory darf
sie also lesen); Alice will jedoch, dass die Nachricht von Mallory nicht unbemerkt
verändert wird. Alice könnte nun ihre Nachricht (bzw. einen kryptografischen
Hashwert davon) digital signieren. Es gibt jedoch noch eine andere Möglichkeit:
Alice verwendet einen kryptografischen Hashwert, der nur mithilfe eines Schlüs-
sels berechnet werden kann. Da sie mit Bob schon vor längerer Zeit einen gehei-
men Schlüssel ausgetauscht hat, kann Empfänger Bob den Hashwert ebenfalls
berechnen und so überprüfen, dass die Nachricht unverändert ist. Mallory kann
dies jedoch nicht, da er den Schlüssel nicht kennt. Eine kryptografische Hash-
funktion, die für die Berechnung eines Hashwerts einen geheimen Schlüssel benö-
Search WWH ::




Custom Search