Mit dem GnuPG-Befehl gpg können Sie öffentliche und private Schlüssel generieren. In diesem Tutorial verwenden wir die vom gpg-Befehl generierten Schlüssel, um verschlüsselte Dateien zu senden und zu empfangen und eine Datei digital zu signieren.
Verschlüsseln Sie eine Datei und senden Sie sie an Ihren Freund
1. Importieren Sie den öffentlichen Schlüssel Ihres Freundes
Wenn Sie Ihrem Freund eine geheime Datei senden möchten, müssen Sie zunächst den öffentlichen Schlüssel Ihres Freundes importieren. Sie können den öffentlichen Schlüssel Ihres Freundes von einem „Schlüsselserver“ importieren, wenn er/sie seinen öffentlichen Schlüssel auf einen Schlüsselserver exportiert hat.
Lesen Sie den Abschnitt „Exportieren Sie Ihre öffentlichen Schlüssel“ in unserem GnuPG-Grundlagenartikel, um zu verstehen, wie Sie Ihren öffentlichen Schlüssel auf einen Schlüsselserver exportieren.
Gehen Sie wie folgt vor, um öffentliche Schlüssel von einem Schlüsselserver zu importieren. Sie können mit einer der oben genannten Methoden importieren. Geben Sie die Schlüssel-ID oder E-Mail-ID oder den richtigen Namen Ihres Freundes an, um die Schlüssel korrekt zu importieren.
$ gpg --search-keys --keyserver keyserver.ubuntu.com 'KEY-ID' or $ gpg --search-keys --keyserver keyserver.ubuntu.com 'E-Mail ID' or $ gpg --search-keys --keyserver keyserver.ubuntu.com 'Real Name'
Gehen Sie wie folgt vor, um den öffentlichen Schlüssel aus einer Datei zu importieren. Wenn Ihr Freund Ihnen seinen/ihren öffentlichen Schlüssel per E-Mail geschickt hat, können Sie diese Schlüssel mit dem folgenden Befehl importieren
$ gpg --import myfriends_pub_key.gpg
2. Überprüfen Sie den importierten Schlüsselserver
Sie können überprüfen, ob Sie den öffentlichen Schlüssel Ihres Freundes erfolgreich importiert haben, indem Sie die Option –list-keys
verwenden$ gpg --list-keys /home/lakshmanan/.gnupg/pubring.gpg ----------------------------------- pub 2048R/A7344E7D 2012-10-12 uid lakshmanan (My test GPG keys) sub 2048R/96F8EF9B 2012-10-12 pub 2048R/FB2744A8 2012-12-03 uid raman (Ram's test ID) sub 2048R/88EF55EE 2012-12-03
Jetzt habe ich den öffentlichen Schlüssel meines Freundes Raman importiert.
3. Verschlüsseln Sie eine geheime Datei mit dem öffentlichen Schlüssel Ihres Freundes
Jetzt, da Sie den öffentlichen Schlüssel Ihres Freundes haben, können Sie ihm eine Datei senden, die mit dem „öffentlichen Schlüssel Ihres Freundes“ verschlüsselt ist, sodass nur Ihr Freund (der den privaten Schlüssel hat) sie entschlüsseln kann.
$ gpg --encrypt --recipient raman a.txt gpg: 88EF55EE: There is no assurance this key belongs to the named user pub 2048R/88EF55EE 2012-12-03 raman (Ram's test ID) Primary key fingerprint: FF32 7764 A0AE 1E85 AC4B CF17 8AED B292 FB27 44A8 Subkey fingerprint: D6A5 7107 77C8 6845 2F86 765C EEED DD85 88EF 55EE It is NOT certain that the key belongs to the person named in the user ID. If you *really* know what you are doing, you may answer the next question with yes. Use this key anyway? (y/N) y
Beachten Sie, dass es eine Warnung gibt, die besagt, dass es keine Garantie dafür gibt, dass der „öffentliche Schlüssel“ Ihrem Freund gehört. Wir werden darauf zurückblicken, wenn es die Zeit erlaubt. Da ich meinem Freund vertraue, habe ich ab sofort „Ja“ gegeben, um den Schlüssel zu verwenden.
Es wird eine Datei mit dem Namen „a.txt.pgp“ erstellt, die beim Öffnen mit dem Editor einige Binärdaten enthält. Senden Sie diese Datei auf jeden Fall an Ihren Freund.
Wenn Sie keinen binären Inhalt senden möchten oder Probleme beim Senden von Binärdateien auftreten, können Sie die Option –armor verwenden, die eine ASCII-Datei wie unten gezeigt erstellt.
$ gpg --encrypt --armor --recipient raman a.txt
Entschlüsseln Sie eine Datei
Jetzt hätte Ihr Freund Ihre verschlüsselte Datei erhalten. Um den Inhalt der Datei anzuzeigen, muss er die Datei entschlüsseln. Da der Entschlüsselungsvorgang unter Verwendung des privaten Schlüssels Ihres Freundes durchgeführt wird, werden Sie beim Erstellen der Schlüssel nach der Passphrase gefragt, die Ihr Freund bereitgestellt hat.
$ gpg --decrypt a.txt.gpg > secret.txt
Jetzt enthält die Datei secret.txt den eigentlich geschriebenen Text.
Sende eine verschlüsselte Datei an mehrere Empfänger
Sie können eine Datei auch an mehrere Empfänger senden, indem Sie –recipient oder -r
verwenden$ gpg -r raman -r steve -r gopi --encrypt a.txt
Sobald der obige Befehl gegeben wurde, verwendet gpg die öffentlichen Schlüssel aller Empfänger, um die Daten so zu verschlüsseln, dass jeder ihrer privaten Schlüssel die Daten entschlüsseln kann.
In unserem nächsten Artikel dieser Serie erklären wir, wie die Nachricht mit Daten und Zeitstempel signiert wird.