# Schlüssellänge

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

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:
* Schlüssellänge = $\log _{2}N\,$
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

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 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. (Eigentlich sind es nur 25 Schlüssel, da einer der 26 jeden Buchstaben auf sich selbst abbildet und daher bewirkt, dass wieder der Klartext erscheint.) 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, kann also von der vermuteten Rechenleistung des erwarteten Angreifers abhängen. 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 mindestens 128 Bit angesehen. Zu beachten ist aber, dass die Einschätzung solch einer „sicheren“ Schlüssellänge sich aufgrund von zukünftig denkbaren grundlegend besseren mathematischen Methoden oder deutlich schnelleren Rechnern früher oder später ändern kann.
Bei asymmetrischen Verfahren („Public-Key-Methoden“) ist das Sicherheitsniveau nicht gleich der Schlüssellänge, sondern deutlich geringer. 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 deutlich schneller sind als das Ausprobieren aller Schlüssel. Zur Abschätzung des äquivalenten Sicherheitsniveaus müssen diese Verfahren berücksichtigt 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.

## Beispiele für Schlüsselanzahlen und Schlüssellängen

* Caesar-Verschlüsselung: Die Schlüsselanzahl 25 (entspricht einer Schlüssellänge von ungefähr 5 Bit)
* DES: $2^{56}$ = 72.057.594.037.927.936 (entspricht 56 Bit)
* Enigma I: 103.325.660.891.587.134.000.000 (entspricht ungefähr 76 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: $2^{112}$ = 5.192.296.858.534.827.628.530.496.329.220.096 (entspricht 112 Bit)
* AES: wählbar
** $2^{128}$ = 340.282.366.920.938.463.463.374.607.431.768.211.456 (entspricht 128 Bit),
** $2^{192}$ = 6.277.101.735.386.680.763.835.789.423.207.666.416.102.355.444.464.034.512.896 (entspricht 192 Bit) oder
** $2^{256}$ = 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)