Cryptography Reference
In-Depth Information
16.5.1
Funktionsweise von Crypto1
Crypto1 verwendet einen Status, der aus 48 Bits besteht. Die Fortschaltfunktion
ist in Abbildung 16-4 dargestellt. Sie besteht ausschließlich aus einem LFSR, das
mit 18 Tap-Variablen arbeitet. Die Keystream-Extraktion (in derselben Abbil-
dung ersichtlich) erfolgt mit den Funktionen f a , f b und f c . Diese lassen sich als
Ersetzungstabellen (also S-Boxen) implementieren. f a und f b bilden jeweils vier
Bits auf ein Bit ab, während f c fünf Bits auf ein Bit abbildet. Betrachtet man nach-
einander die Eingaben 1111, 1110, 1101, 1100, ..., 0000 (für f a und f b ) bzw.
11111, 11110, 11101, 11100, ..., 00000 (für f c ), dann ergeben sich folgende Aus-
gabewerte (in Klammern die zugehörige Hexadezimalzahl):
f a : 00100110 11000111 (26c7)
f b : 00001101 11010011 (0dd3)
f c : 01000100 01010111 11000011 10110011 (4457c3b3)
Für die Initialisierung spielt ein Initialisierungsvektor der Länge 32 Bit eine Rolle.
In der Mifare-Implementierung wird dieser Initialisierungsvektor aus einer Kenn-
nummer und einer Challenge bzw. Response gebildet. Die Initialisierung sieht
vor, dass 32 Iterationen ohne Keystream-Generierung durchgearbeitet werden,
wobei jeweils ein Bit des Initialisierungsvektors an der in der Abbildung gekenn-
zeichneten Stelle eingeht.
16.5.2
Bewertung von Crypto1
Für einen Kryptografen ist schon auf den ersten Blick erkennbar, dass Crypto1
keine allzu große Sicherheit bieten kann. Sowohl die Initialisierung als auch die
Fortschaltung als auch die Keystream-Extraktion enthalten zu wenig Komplexi-
tät, um sicher zu sein. Darüber hinaus ist die Schlüssellänge mit 48 Bit eindeutig
zu kurz, um einer vollständigen Schlüsselsuche Gegenwehr zu leisten. Eine
gewisse Sicherheit bot Crypto1 daher nur, solange die Funktionsweise geheim war.
Nachdem die Details über Crypto1 an die Öffentlichkeit gelangt waren,
wurde das Verfahren zu einer leichten Beute für einige Kryptografen. Eine voll-
ständige Schlüsselsuche mit einem PC dauerte gerade einmal neun Stunden. Die
niederländische Forschergruppe, die das Design des Verfahrens veröffentlicht
hatte, knackte gleich auch das Challenge-Response-Protokoll, in dessen Rahmen
Crypto1 im Mifare-Chip eingesetzt wird [GGMRVW]. Und schließlich fanden
Nicolas Courtois, Karsten Nohl und Sean O'Neil einen Angriff, der Crypto1
komplett demontierte [CoNoON]. Sie benötigten gerade einmal 50 Keystream-
Bits und einen Initialisierungsvektor, um mit einem handelsüblichen PC innerhalb
von 200 Sekunden den Schlüssel zu ermitteln. Ein so großes Maß an Unsicherheit
ist selten in der Kryptografie. Es versteht sich daher von selbst, dass man von der
Verwendung von Crypto1 nur abraten kann.
Search WWH ::




Custom Search