Als Schlüssel wird in der Kryptologie eine Information bezeichnet, die einen kryptographischen Algorithmus parametrisiert und ihn so steuert.
Im einfachsten Fall, bei den meisten symmetrischen Verfahren der klassischen Kryptographie wie beispielsweise der Vigenère-Chiffre oder dem Playfair-Verfahren, handelt es sich dabei um ein Kennwort, das benutzt wird, um einen Klartext zu verschlüsseln und so einen Geheimtext zu erhalten. Umgekehrt wird dieses Kennwort erneut als Schlüssel benötigt, um aus dem Geheimtext durch Entschlüsselung wieder den Klartext zu gewinnen. Bei modernen, computerbasierten symmetrischen und auch asymmetrischen Verfahren ist der Schlüssel hingegen eine Bitfolge.[1][2]
In vielen Fällen, speziell bei Maschinenschlüsseln, wird zwischen zwei Teilschlüsseln unterschieden. Erstens dem Tagesschlüssel (zuweilen auch „innerer Schlüssel“ genannt), der für einen gewissen Zeitraum gültig bleibt, oft für einen Tag. Und zweitens dem Spruchschlüssel (auch „äußerer Schlüssel“), der sich für jede einzelne Nachricht ändert. Beide zusammen bilden den kryptographisch wirksamen Schlüssel.[3]
Besonders zu beachten sind gegebenenfalls sogenannte schwache Schlüssel. Idealerweise sollte bei der Entwicklung eines Verschlüsselungsalgorithmus stets darauf geachtet werden, dass es keinerlei schwachen Schlüssel gibt. Jedoch sind selbst relativ moderne Verfahren, wie beispielsweise der Data Encryption Standard (DES), der über mehrere Jahrzehnte gegen Ende des 20. Jahrhunderts weit verbreitet war, nicht gänzlich frei von derartigen Schwächen. Ein Extremfall eines schwachen Schlüssels wäre bei der Caesar-Verschlüsselung als Schlüssel eine Verschiebung um 26 Buchstaben zu wählen. In diesem Fall wäre der Geheimtext gleich dem Klartext, also unverschlüsselt.
Im Jahr 1883 formulierte Auguste Kerckhoffs seine Maxime, dass die Sicherheit eines kryptographischen Verfahrens nicht von der Geheimhaltung des Algorithmus, sondern nur von der Geheimhaltung des verwendeten Schlüssels abhängen darf (Kerckhoffs’ Prinzip). Der Schlüssel beinhaltet bei einem symmetrischen Verfahren (andere waren zu seiner Zeit noch nicht bekannt) die Information, die geheim bleiben muss, während der Algorithmus, also das Verschlüsselungsverfahren selbst, öffentlich bekannt sein soll. Bei asymmetrischen Verschlüsselungsverfahren, auch als „Public-Key-Kryptographie“ bezeichnet, übernimmt die Rolle des Geheimnisses der private Schlüssel, während der dazugehörige öffentliche Schlüssel allgemein bekannt ist.
Bei symmetrischen Verfahren, also bei allen klassischen Methoden der Kryptographie und auch bei modernen Algorithmen wie beispielsweise dem Data Encryption Standard (DES) oder seinem Nachfolger, dem Advanced Encryption Standard (AES), verwenden beide Kommunikationspartner denselben (geheimen) Schlüssel sowohl zum Ver- als auch zum Entschlüsseln. Während klassische Methoden, bei denen der Text von Hand geschlüsselt (also verschlüsselt und/oder entschlüsselt) werden muss, als Schlüssel fast immer ein Kennwort benutzen, besteht der Schlüssel bei modernen, also computerbasierten, symmetrischen Verfahren zumeist aus einer Bitfolge.[4] Die Sicherheit eines Verfahrens hängt außer vom Algorithmus selbst von der Schlüssellänge ab. Wenn gegen ein Verfahren ein Angriff gefunden wird, der effizienter ist als die Brute-Force-Methode, das Ausprobieren aller möglichen Schlüssel, gilt das Verfahren als gebrochen. Die Schlüssellänge gibt bei einem sicheren Verfahren also direkt das Sicherheitsniveau an.[5]
Asymmetrische Verfahren, wie beispielsweise das RSA-Kryptosystem, verwenden Schlüsselpaare, die aus einem öffentlichen Schlüssel (englisch public key) und einem privaten Schlüssel (engl. private key, deutsch auch „geheimer Schlüssel“) bestehen.
Der öffentliche Schlüssel ist nicht geheim, er soll möglichst vielen anderen Benutzern bekannt sein, beispielsweise durch Verteilung über Schlüsselserver. Mit ihm können öffentliche Operationen durchgeführt werden, also Nachrichten verschlüsselt oder digitale Unterschriften geprüft werden. Dabei ist es wichtig, dass ein öffentlicher Schlüssel eindeutig einem Benutzer zugeordnet werden kann. Ist das nicht der Fall, wird etwa eine Nachricht mit dem öffentlichen Schlüssel eines anderen Benutzers verschlüsselt, so kann dieser die Nachricht lesen, obwohl sie nicht für ihn bestimmt war. Um Schlüssel leicht benennen zu können, benutzt man einen Fingerabdruck, einen kurzen Hashwert, der einen Schlüssel eindeutig identifiziert. Eine weitere Möglichkeit ist das Zertifizieren von Schlüsseln, bei dem ein Schlüssel für andere sichtbar von einer vertrauenswürdigen Stelle beglaubigt wird. Ein solches System zur Ausstellung, Verteilung und Prüfung von digitalen Zertifikaten, die einen öffentlichen Schlüssel beinhalten, heißt Public-Key-Infrastruktur.[6]
Um einen Geheimtext wieder zu entschlüsseln oder eine Nachricht zu signieren, wird der private Schlüssel benötigt. Im Gegensatz zu symmetrischen Verfahren, bei denen sich mehrere Benutzer einen geheimen Schlüssel teilen, verfügt bei asymmetrischen Verfahren nur ein Benutzer über den privaten (geheimen) Schlüssel. Dieser Umstand ermöglicht es erst, eine Signatur eindeutig einem Benutzer zuzuordnen. Daher ist es grundlegend, dass der private Schlüssel nicht aus dem öffentlichen abgeleitet werden kann.