Verschlüsselungsalgorithmus
Bild: Stern, Public domain, Wikimedia Commons
Kurz: Das konkrete mathematische Verfahren, nach dem Klartext mithilfe eines Schlüssels in Geheimtext umgewandelt wird (und umgekehrt).
Genauer: Bekannte symmetrische Algorithmen sind AES (aktueller Standard) und das veraltete DES/3DES. Bei asymmetrischen Verfahren sind RSA und elliptische Kurven (ECC) verbreitet. Wichtig: Die Sicherheit eines Verfahrens hängt nicht davon ab, dass der Algorithmus geheim bleibt (Security by Obscurity gilt als schlechte Praxis) — moderne Algorithmen sind öffentlich dokumentiert und wurden von der Kryptografie-Community geprüft. Sicher ist stattdessen der geheime Schlüssel.
Im Detail
Das Prinzip “Security by Obscurity ist schlecht” (auch bekannt als Kerckhoffs’ Prinzip, formuliert 1883) klingt zunächst kontraintuitiv — warum sollte man den eigenen Verschlüsselungsalgorithmus öffentlich machen? Die Begründung: Ein Algorithmus, der geheim bleiben muss, um sicher zu sein, ist von Natur aus fragil — sobald er einmal durchsickert (Reverse Engineering, Insider, Leak), ist die gesamte Sicherheit sofort komplett verloren. Ein öffentlicher, von tausenden Kryptografen weltweit geprüfter Algorithmus wie AES ist dagegen viel robuster, weil er nicht auf Geheimhaltung des Verfahrens, sondern allein auf der Geheimhaltung des Schlüssels beruht:
Schlecht: Sicherheit = geheimer Algorithmus + geheimer Schlüssel
(Algorithmus geleakt -> alles kompromittiert)
Richtig: Sicherheit = öffentlicher, geprüfter Algorithmus + geheimer Schlüssel
(Algorithmus ist öffentlich bekannt -> nur der Schlüsselverlust ist kritisch)
Die heute als sicher geltenden Algorithmen haben alle eines gemeinsam: Sie durchliefen einen offenen, oft jahrelangen Auswahlprozess mit öffentlicher Begutachtung durch die internationale Kryptografie-Community — AES wurde z. B. 1997-2000 in einem offenen Wettbewerb des NIST unter mehreren eingereichten Kandidaten ausgewählt, gerade WEIL es öffentlich auf Schwachstellen geprüft werden konnte. Selbstgebaute, “geheime” Verschlüsselungsverfahren einzelner Firmen oder Entwickler gelten in der Kryptografie-Community als Warnsignal, nicht als Sicherheitsgewinn — ohne öffentliche Prüfung durch Experten ist praktisch nie sicher auszuschließen, dass ein selbstgebautes Verfahren gravierende, unentdeckte Schwächen hat.
Wie ein Algorithmus offiziell zum Standard wird
Der Weg von einem neu vorgeschlagenen Algorithmus zu einem anerkannten Standard wie AES ist bewusst langwierig und öffentlich: Bei der AES-Auswahl reichten weltweit Forschungsteams 15 verschiedene Kandidatenalgorithmen ein, die anschließend über mehrere Jahre von der gesamten Kryptografie-Community öffentlich auf Schwachstellen untersucht wurden — jeder durfte versuchen, einen Kandidaten zu brechen, und die Ergebnisse flossen offen in die Bewertung ein. Erst nachdem ein Algorithmus diesen Prozess über Jahre unbeschadet übersteht, gilt er als vertrauenswürdig genug für breiten praktischen Einsatz. Ein aktuelles Beispiel für diesen Prozess läuft gerade bei “Post-Quanten-Kryptografie”: Das NIST standardisiert seit einigen Jahren neue Algorithmen, die auch gegen zukünftige Quantencomputer sicher bleiben sollen, wieder über einen mehrjährigen, öffentlichen Auswahlprozess mit Beiträgen von Forschungsgruppen weltweit.
Der Unterschied zwischen Algorithmus und Implementierung
Ein oft übersehener Punkt: Selbst ein mathematisch perfekt sicherer Algorithmus kann durch eine fehlerhafte konkrete Implementierung unsicher werden. Der Heartbleed-Bug (2014) in der weit verbreiteten OpenSSL-Bibliothek war kein Fehler im TLS-Algorithmus selbst, sondern ein simpler Programmierfehler in dessen Implementierung, der es Angreifern erlaubte, beliebige Speicherinhalte des Servers auszulesen — inklusive privater Schlüssel und Nutzerpasswörtern. Das zeigt: Neben der Wahl eines geprüften Algorithmus ist auch die Wahl einer geprüften, aktuell gehaltenen Implementierung entscheidend — selbstgeschriebene kryptografische Bibliotheken gelten in der Praxis als noch riskanter als selbstgebaute Algorithmen, weil Implementierungsfehler (Speicherzugriffsfehler, falsche Zufallszahlenerzeugung, Seitenkanal-Lecks) mindestens genauso häufig sind wie theoretische Schwächen im Algorithmus selbst.
Siehe auch: Verschlüsselung, Hashing