GPG zum verschlüsseln benutzen

Mit dem Kommandozeilenprogramm gpg kann man Dateien bzw. Text verschlüsseln. Hier eine kurze und unvollständige Sammlung einiger nützlicher Funktionen:

Symmetrische Verschlüsselung

Symmetrische Verschlüsselung funktioniert nach dem Prinzip, dass auf beiden Seiten (also beim verschlüsseln und entschlüsseln) der gleiche Key (Passphrase) benutzt wird. Dh. der Schlüssel muss beiden Kommunikationspartnern bekannt sein. Hier ein Beispiel:

Wir benutzen die Datei main.c:

#include <stdio.h>
#include <stdlib.h>

int main (int argc, char* argv[])
{
    printf("If the decryption worked, then you may compile this and run it; and maybe \
you will see this text, when running the little program");
    printf("\nTry it out.\n");
}

Nun verschlüsseln wir den Quelltext mittels GPG und dem Schlüssel 1234567. Bitte lesen Sie die Sicherheitshinweise weiter unten.

gpg -c --amour main.c

GPG fragt zweimal ihre Passphrase zur Verschlüsselung ab und schreibt eine Datei mit dem Namen main.c.asc. Die Option -c sagt GPG, dass eine symmetrische Verschlüsselung angewandt werden soll; –armour lässt GPG eine ASCII-Datei erstellen, dh. sie ist mit einem gewöhnlichen Texteditor normal öffnbar. Die entstehende Datei enthält folgenden Text:

-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.11 (GNU/Linux)

jA0EAwMC5D7MwF9F9rNgycASckVxndqpjmDj9GSrXCjYCA3Fr1QDtBmYWP3Ygmy8
b+lqyb3g1NDEnm0j4FuFqQzLHWZHWtOAYBx8G0oHuN58A00KduyqGdWsSLYWfGCO
M9VePS4wRW5snKk6F/7P1F4HSK976r0fXySEJbA9B5AtipUSSS0j6HGDR/SC5dMP
r7RmW69SS3hIZRfyQLa6ZLc7rxwhPXBnRjrG4DHMOIyQNp+melukl/I3IURA0QUI
JCiAea6kjSDmFlUFmMvBjT4Bfpd77xEpNgJhTTizmGtsdmO9
=M7SP
-----END PGP MESSAGE-----

Zum Entschlüsseln benutzen Sie folgenden Befehl:

gpg -d main.c.asc

Nun fragt GPG ihre Passphrase wieder ab, damit die Datei entschlüsselt werden kann. Sie sollten nun die gleiche Datei wie oben erhalten.

Sicherheitshinweise

Wichtig bei der Verschlüsselung von Daten ist, dass der Schlüssel möglichst unbekannt ist. Übertragen Sie niemals den Schlüssel und die Daten über den gleichen Kanal (z.B. Internet) geschweige denn in der gleichen Nachricht (z.B. Mail). Außerdem ist ein Schlüssel wie 1234567 sehr leicht knackbar. Sie wollen lieber ein langes kryptisches Passwort benutzen, damit die Daten möglichst sicher sind.