Schlüssellänge

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Die Schlüssellänge ist eine wichtige Eigenschaft kryptographischer Verfahren und bezeichnet ein logarithmisches Maß für die Anzahl der verschiedenen möglichen Schlüssel des Verfahrens.

Definition[Bearbeiten]

Die Gesamtheit aller möglichen Schlüssel eines kryptographischen Verfahrens wird als Schlüsselraum bezeichnet. Die Schlüsselanzahl N ist definiert als die Größe des Schlüsselraums, also die Anzahl aller möglichen Schlüssel. Bei symmetrischen Verfahren steht sie mit der Schlüssellänge (angegeben in Bit) in folgendem Verhältnis:[1]

Schlüssellänge = \log_2N\,

wobei \log_2 N\, den Logarithmus von N zur Basis 2 bezeichnet (Logarithmus dualis, oft auch mit ld abgekürzt).

Bei klassischen (nicht auf Computern basierten) Verfahren, beispielsweise einer einfachen monoalphabetischen Substitution oder der Schlüsselmaschine Enigma, gibt man üblicherweise direkt die Anzahl aller möglichen Schlüssel an. Bei modernen Verfahren ist es praktischer, die Schlüssellänge nach obiger Formel in Bit umzurechnen, um nicht mit unhandlich großen Zahlen arbeiten zu müssen. Bei asymmetrischen Kryptosystemen ist die Schlüssellänge definiert als die Länge eines Schlüssels in Bit, unabhängig von der Schlüsselanzahl, da nicht alle Zeichenketten gültige Schlüssel sind.

Schlüssellänge und Sicherheitsniveau[Bearbeiten]

Die Schlüssellänge ist zwar ein wichtiges, jedoch nicht das allein entscheidende Kriterium für die praktische Sicherheit eines kryptographischen Verfahrens. Bei einem kleinen Schlüsselraum kann ein Angreifer einfach alle möglichen Schlüssel ausprobieren. Der Schlüsselraum muss daher ausreichend groß sein, um einen solchen Brute-Force-Angriff aussichtslos zu machen. Ein extremes Gegenbeispiel ist die Caesar-Verschlüsselung. Hierbei gibt es lediglich 26 verschiedene Schlüssel, die sich selbst von Hand sehr schnell ausprobieren lassen. Somit kann eine Caesar-Verschlüsselung ohne weitere Kenntnisse oder spezielle kryptanalytische Angriffsmethoden durch exhaustive (vollständig erschöpfende) Schlüsselsuche leicht gebrochen werden.

Ein großer Schlüsselraum alleine reicht aber nicht aus, um die Sicherheit eines Verfahrens zu garantieren. Von einem sicheren symmetrischen Verfahren wird gefordert, dass es keinen Angriff geben darf, der schneller ist als das Ausprobieren aller Schlüssel. Beispielsweise verfügt selbst eine so simple Methode wie eine einfache monoalphabetische Substitution über einen beeindruckend großen Schlüsselraum von 26! (Fakultät) verschiedenen Schlüsseln. Das entspricht einer Schlüsselanzahl von 403.291.461.126.605.635.584.000.000. Die Schlüssellänge beträgt umgerechnet etwas mehr als 88 Bit. Trotz dieser gigantischen Schlüsselanzahl, die eine exhaustive Schlüsselsuche auch mit heutigen Mitteln aussichtslos macht, kann dieses Verfahren sehr leicht gebrochen werden (beispielsweise durch statistische Angriffsmethoden oder durch Mustersuche).

Wenn die Forderung erfüllt ist, dass es keinen Angriff gibt, der schneller ist als das Ausprobieren aller Schlüssel, dann gibt die Schlüssellänge eines symmetrischen Verfahrens gleichzeitig das Sicherheitsniveau an, also den Aufwand, den ein Angreifer betreiben muss, um das Verfahren mit dieser Schlüssellänge zu brechen. Welche Schlüssellänge verwendet wird, hängt also von der Rechenleistung des erwarteten Angreifers ab.[2] Durch Fortschritte in der Rechnertechnik („Hardware“) können heute einige ältere Verfahren durch exhaustive Schlüsselsuche gebrochen werden, die früher als sicher galten. Ein Beispiel dafür ist der „Data Encryption Standard (DES)“, der über mehrere Jahrzehnte gegen Ende des zwanzigsten Jahrhunderts als Standardmethode zur Verschlüsselung diente und dessen 56 Bit langer Schlüssel nach heutigem Stand zu kurz gewählt wurde. Als sichere Schlüssellänge für symmetrische Verfahren werden heute 128 Bit oder mehr angesehen.

Bei asymmetrischen Verfahren („Public-Key-Methoden“) ist das Sicherheitsniveau nicht gleich der Schlüssellänge. Zum einen gibt die Schlüssellänge nicht direkt die Anzahl der möglichen Schlüssel an, da ein Schlüssel ein mathematisches Objekt beschreibt. Bei dem RSA-Kryptosystem gibt es beispielsweise für eine Schlüssellänge von 1024 Bit nicht 2^{1024} Schlüssel, da nicht jede 1024-Bit-Zahl ein RSA-Modulus, also das Produkt zweier Primzahlen, ist. Weiterhin gibt es bekannte Verfahren, die schneller sind als das Ausprobieren aller Schlüssel. Zur Bestimmung des äquivalenten Sicherheitsniveaus müssen diese Verfahren herangezogen werden. Zum Brechen einer RSA-Verschlüsselung mit einem 1024-Bit-Schlüssel braucht ein solcher Algorithmus ca. 2^{73} „elementare Operationen“, das äquivalente Sicherheitsniveau ist also 73 Bit.[2]

Beispiele für Schlüsselanzahlen und Schlüssellängen[Bearbeiten]

  • Caesar-Verschlüsselung: Die Schlüsselanzahl 25 (entspricht einer Schlüssellänge von ungefähr 5 Bit)
  • DES: 256 = 72.057.594.037.927.936 (entspricht 56 Bit)
  • Enigma I: 206.651.321.783.174.268.000.000 (entspricht ungefähr 77 Bit)
  • Enigma-M4: 60.176.864.903.260.346.841.600.000 (entspricht fast 86 Bit)
  • Monoalphabetische Substitution: 26! (Fakultät) = 403.291.461.126.605.635.584.000.000 (entspricht ungefähr 88 Bit)
  • Triple-DES: 2112 = 5.192.296.858.534.827.628.530.496.329.220.096 (entspricht 112 Bit)
  • AES: wählbar
    • 2128 = 340.282.366.920.938.463.463.374.607.431.768.211.456 (entspricht 128 Bit),
    • 2192 = 6.277.101.735.386.680.763.835.789.423.207.666.416.102.355.444.464.034.512.896 (entspricht 192 Bit) oder
    • 2256 = 115.792.089.237.316.195.423.570.985.008.687.907.853.269.984.665.640.564.039.457.584.007.913.129.639.936 (entspricht 256 Bit)

Einzelnachweise[Bearbeiten]

  1.  Alfred J. Menezes, Paul C. van Oorschot und Scott A. Vanstone: Handbook of Applied Cryptography. CRC Press, ISBN 0-8493-8523-7, S. 224 (http://www.cacr.math.uwaterloo.ca/hac/about/chap7.pdf).
  2. a b  ECRYPT II (Hrsg.): ECRYPT II Yearly Report on Algorithms and Keysizes (2010–2011). 2011, Recommended Key Sizes (http://www.ecrypt.eu.org/documents/D.SPA.17.pdf).

Weblinks[Bearbeiten]