# Kerckhoffs’ Prinzip

Das Kerckhoffs’sche Prinzip oder Kerckhoffs’ Maxime ist ein im Jahr 1883 von Auguste Kerckhoffs formulierter Grundsatz der modernen Kryptographie, welcher besagt, dass die Sicherheit eines (symmetrischen) Verschlüsselungsverfahrens auf der Geheimhaltung des Schlüssels beruht anstatt auf der Geheimhaltung des Verschlüsselungsalgorithmus. Dem Kerckhoffs’schen Prinzip wird oft die sogenannte Security through obscurity gegenübergestellt: Sicherheit durch Geheimhaltung des Verschlüsselungsalgorithmus selbst, möglicherweise zusätzlich zur Geheimhaltung des bzw. der verwendeten Schlüssel.

## Historisches

Das Kerckhoffs’sche Prinzip ist der zweite der sechs Grundsätze zur Konstruktion eines sicheren Verschlüsselungsverfahrens, die Kerckhoffs 1883 in La cryptographie militaire einführt:
   « Il faut qu’il n’exige pas le secret, et qu’il puisse sans inconvénient tomber entre les mains de l’ennemi. »
   „Es darf nicht der Geheimhaltung bedürfen und soll ohne Schaden in Feindeshand fallen können.“
Die sechs Grundsätze sind:
* Das System muss im Wesentlichen unentzifferbar sein.
* Das System darf keine Geheimhaltung erfordern.
* Das System muss leicht übermittelbar sein und man muss sich die Schlüssel ohne schriftliche Aufzeichnung merken können.
* Das System sollte mit telegraphischer Kommunikation kompatibel sein.
* Das System muss transportabel sein und die Bedienung darf nicht mehr als eine Person erfordern.
* Das System muss einfach anwendbar sein.
Ein Chiffriersystem, das diesen Anforderungen entsprach, existierte damals nicht.

## Moderne Kryptographie

Das Kerckhoffs’sche Prinzip findet Anwendung in der modernen Kryptographie. Daraus ergeben sich folgende Vorteile:
* Es ist viel schwieriger, einen Algorithmus geheim zu halten als einen Schlüssel. Geheime Algorithmen können durch Reverse Engineering aus Software- oder Hardware-Implementierungen rekonstruiert werden.
* Es ist schwieriger, einen kompromittierten Algorithmus durch einen anderen zu ersetzen als einen kompromittierten Schlüssel.
Kerckhoffs’ Prinzip fordert nicht zwingend die Veröffentlichung eines Algorithmus, sondern lediglich, dass dessen Bekanntwerden keine nachteiligen Sicherheitsauswirkungen haben darf. In der modernen Kryptographie hat es sich jedoch bewährt, Algorithmen zu veröffentlichen, um sie einem Peer Review durch Fachleute auszusetzen. Es dauert Jahre, um einen kryptographischen Algorithmus einer gründlichen Prüfung zu unterziehen.
Durch eine Veröffentlichung können sich viele Experten eine Meinung über ein Verfahren bilden können und es somit gründlicher auf potenzielle Schwächen und Sicherheitslücken untersuchen. So wurde zum Beispiel der Algorithmus AES in einem öffentlichen Ausschreibungsverfahren bestimmt, in dem viele Experten Vorschläge für einen neuen, möglichst sicheren Chiffrieralgorithmus einreichten und untersuchten. „Open Source geht nicht zu Lasten der Sicherheit“, heißt es auch in einem gleichnamigen Security-Insider-Artikel. Auch steigt dadurch das Vertrauen in den Algorithmus, nicht mit einer Hintertür versehen zu sein, da sich Hintertüren in einem veröffentlichten Algorithmus leichter auffinden lassen.
Die Erfahrung in der Kryptologie zeigt zudem, dass sich viele von ihren Entwicklern geheim gehaltene Verfahren nach oder mit ihrer Offenlegung als schwach erwiesen haben und gebrochen wurden. Beispiele sind die GSM-Algorithmen A5/1 und A5/2, kryptographische Algorithmen der Zutrittskontrollkarten Mifare Classic und Legic prime und das Verschlüsselungsverfahren Magenta. Auf der anderen Seite ist ein geheimer kryptographischer Algorithmus nicht notwendigerweise unsicher.
Die am weitesten verbreiteten Verschlüsselungsalgorithmen wie AES und RSA sind in allen Details offengelegt, sodass das Kerckhoffs’sche Prinzip Anwendung findet.