GnuPG verwendet mehrere kryptographische Verfahren wie beispielsweise symmetrische Verschlüsselung, Public-Key-Verschlüsselung und Einweg-Hashing. Natürlich können Sie GnuPG auch ohne tiefere Kenntnis dieser Konzepte benutzen, doch wenn Sie GnuPG effektiv einsetzen möchten, sollten Sie ein wenig Hintergrundwissen haben.
Dieses Kapitel führt in die grundlegenden kryptographischen Konzepte ein, wie sie von GnuPG benutzt werden. Andere Bücher behandeln diese Themen viel detaillierter. Empfehlenswerte Bücher zum tieferen Studium sind beispielsweise Bruce Schneiers ``Angewandte Kryptographie'' oder Reinhard Wobsts ``Abenteuer Kryptologie''. Weitere Literaturhinweise finden sich im Anhang B.
Eine symmetrische Verschlüsselung benutzt zum Ver- und Entschlüsseln denselben Schlüssel. Zwei Korrespondenzpartner, die eine symmetrische Verschlüsselung benutzen, müssen sich vorher über den Schlüssel einigen. Mit diesem Schlüssel verschlüsselt der Absender die Nachricht und schickt sie an den Empfänger, der sie unter Benutzung desselben Schlüssels wiederherstellt. Nach diesem Prinzip funktionierte beispielsweise die deutsche Enigma. Die jeweiligen Tages-Schlüssel wurden als Code-Bücher ausgegeben, und jeden Tag konsultierte dann ein Funker seine Kopie des Code-Buchs, um den aktuellen Tagesschlüssel zu ermitteln, mit dem der Funkverkehr für den betreffenden Tag dann ver- und entschlüsselt wurde. Zu den modernen Beispielen für symmetrische Verschlüsselungen gehören z.B. Blowfish und IDEA.
Ein gutes Verschlüsselungverfahren legt den Schwerpunkt der Sicherheit auf die Geheimhaltung des Schlüssels und nicht auf die Geheimhaltung des verwendeten Algorithmus. Mit anderen Worten, es ist keine Hilfe für einen Angreifer, wenn das Verschlüsselungsverfahren bekannt ist, solange er nicht im Besitz des Schlüssels selbst ist. Die von GnuPG benutzten Verschlüsselungsverfahren beruhen auf diesen Prinzipien.
Da die gesamte Sicherheit auf dem Schlüssel beruht, ist es wichtig, daß der Schlüssel mit verfügbaren Mitteln nicht zu erraten ist. Daraus folgt, daß der Vorrat an möglichen Schlüsseln, der sogenannte key space, möglichst groß sein muß. Während seiner Zeit in Los Alamos war der Nobelpreisträger Richard Feynman berühmt für seine Fähigkeit, Safes zu knacken. Um es noch geheimnisvoller zu machen, schleppte er einen Satz von Werkzeugen mit, zu denen ein altes Stethoskop gehörte. In Wirklichkeit wandte er jedoch eine ganze Reihe von Tricks an, um die Zahl der Kombinationen, die er ausprobieren mußte, zu reduzieren; dann fing er an zu raten, bis er die richtige Kombination fand. Mit anderen Worten, er verringerte die Größe des key space.
Die Briten benutzten im 2. Weltkrieg Maschinen, um Schlüssel zu erraten. Die deutsche Enigma hatte einen sehr großen key space, doch die Briten bauten spezialisierte Rechenmaschinen, Bombes genannt, um systematisch alle Schlüssel auszuprobieren, bis der jeweilige Tagesschlüssel gefunden war. Manchmal fanden sie den Tagesschlüssel innerhalb der Benutzungsdauer des neuen Schlüssels, an manchen Tagen fanden sie den richtigen Schlüssel überhaupt nicht.
Heute können Computer sehr schnell Schlüssel erraten, und eben deshalb ist in modernen Verschlüsselungsverfahren die Schlüsselgröße äußerst wichtig. Die DES-Verschlüsselung zum Beispiel benutzt einen 56-Bit-Schlüssel; das bedeutet, daß es 256, also genau 72.057.594.037.927.936 mögliche Schlüssel gibt (das sind mehr als 72 Billiarden). Obwohl das eine sehr große Zahl ist, kann ein normaler Mehrzweckcomputer den gesamten key space innerhalb von Tagen prüfen. Ein spezialisierter Computer braucht hierfür möglicherweise nur ein paar Stunden. Die moderneren Verschlüsselungsverfahren wie beispielsweise Blowfish und IDEA benutzen sämtlich 128-Bit-Schlüssel, was bedeutet, daß es 2128 (340.282.366.920.938.463.463.374.607.431.768.211.456!!!) mögliche Schlüssel gibt. Dies sind so unglaublich viel mehr Kombinationen als bei einer 56-Bit-Verschlüsselung, daß sogar selbst dann, wenn man alle Computer der Welt zusammen arbeiten ließe, das bisherige Alter des Universums noch eine zu kurze Zeit sein könnte, um den richtigen Schlüssel zu finden.