PGP = PGP für Fortgeschrittene

Versand von Nachrichten im Radix-64-Format
Die Umgebungsvariable für das PGP-Verzeichnis: `PGPPATH`
Konfigurierbare Parameter: `config.txt` bzw. `pgp.config`

Das meiste zu diesem Thema steht in Teil II dieses Handbuchs. Die folgenden Punkte sind aber wichtig genug, um schon hier angesprochen zu werden.

# Versand von Nachrichten im Radix-64-Format

In vielen E-Mail-Systemen ist nur der Versand von ASCII-Text möglich. Binärdaten, wie die von PGP normalerweise erzeugten verschlüsselten Dateien, können dann nicht versandt werden. PGP kann deshalb bei Bedarf die verschlüsselten Daten im Radix-64-Format darstellen, ähnlich dem Privacy-Enhanced-Mail-Format (PEM) im Internet. Radix-64 stellt binäre Daten ausschließlich unter Verwendung druckbarer 6-Bit-ASCII-Zeichen dar, so daß eine verschlüsselte Nachricht wie gewöhnlicher E-Mail-Text verschickt werden kann. Radix-64 ist also eine Art "Transport-Verpackung", die Schutz vor einer Verstümmelung der Nachricht auf dem Transportweg bietet. Um Übertragungsfehler erkennen zu können, wird der Radix-64-Darstellung eine CRC-Summe hinzugefügt.

Im Radix-64-Format werden jeweils drei Byte durch vier druckbare ASCII-Zeichen dargestellt, so daß die Länge der Datei um etwa 33 Prozent zunimmt. Das sieht zunächst nach einer ziemlich großen Aufblähung der Datei aus, berücksichtigt werden muß aber, daß PGP Klartextdateien häufig um einen größeren Faktor komprimiert, bevor sie verschlüsselt werden.

Für eine Radix-64-Darstellung der verschlüsselten Datei wird einfach die Option `a` beim Programmaufruf hinzugefügt:

`pgp -esa brief.txt Benutzer-ID`

Hier wird `brief.txt` unterschrieben, komprimiert, verschlüsselt und das Ergebnis im Radix-64-Format in eine Datei mit dem Namen `brief.asc` geschrieben. Diese Datei kann wie gewöhnliche E-Mail im Internet oder jedem anderen E-Mail-Netzwerk verschickt werden. Die Entschlüsselung einer so verschickten Nachricht unterscheidet sich nicht von der Entschlüsselung einer `.pgp`-Datei:

`pgp brief`

PGP sucht hier zuerst nach einer Datei namens `brief.asc` und erst danach nach `brief.pgp`. PGP erkennt automatisch, daß `brief.asc` vor der eigentlichen Entschlüsselung erst wieder zurück in Binärdarstellung umgewandelt werden muß.

Im Internet ist der Versand von Nachrichten mit mehr als 50000 Byte normalerweise nicht möglich. Längere Texte müssen in mehrere Teile gesplittet werden, die einzeln verschickt werden. Wenn beim Verschlüsseln die Option für Darstellung im Radix-64 Format angegeben wurde, schreibt PGP bei einem langen Text die verschlüsselten Daten in mehrere Dateien, deren Namen auf `.as1`, `.as2`, `.as3` usw. enden. Das PGP der Empfängerin fügt diese automatisch wieder zusammen, wobei beim Aufruf von PGP einfach die erste Datei angegeben wird. Bei der Entschlüsselung ignoriert PGP allen Text aus den Nachrichtenköpfen, der nicht zu den Radix-64-Blöcken gehört.

Möchte man einen öffentlichen Schlüssel im Radix-64-Format verschicken, kann die Option `a` auch beim Befehl für das Extrahieren des Schlüssels aus der Datei mit öffentlichen Schlüsseln angegeben werden.(*)

(*)Befehl `pgp -kxa` d.Ü.

Hat man vergessen, die Option `a` beim Verschlüsseln einer Nachricht oder beim Extrahieren eines Schlüssels anzugeben, kann man die Binärdatei auch nachträglich in das Radix-64-Format umwandeln, indem man PGP nur mit der Option `-a` aufruft, ohne Angabe der Option für Verschlüsseln oder Unterschreiben:

`pgp -a brief.pgp`

> Um keine Mißverständnisse aufkommen zu lassen: Dieses "Nacharbeiten" muß mit der bereits verschlüsselten Datei erfolgen, also mit `brief.pgp` in obigem Beispiel. Falsch wäre die folgende Befehlskombination:

>     pgp -es brief.txt Benutzer-ID
>     pgp -a brief.txt

> Der erste Befehl erzeugt eine verschlüsselte Datei `brief.pgp`; der zweite Befehl erzeugt eine Datei `brief.asc` im Radix-64-Format, jedoch aus der Klartextdatei `brief.txt`. Daß `brief.asc` nicht unmittelbar "für das menschliche Auge lesbar" ist, bedeutet nicht, daß die Datei verschlüsselt ist!

Wenn man eine Datei versenden möchte, die zwar unterschrieben, aber nicht verschlüsselt ist, komprimiert PGP normalerweise alle Daten und wandelt sie anschließend gegebenenfalls in das Radix-64-Format. Handelt es sich bei den Daten um einen Text, ist er folglich nicht unmittelbar lesbar. Soll der Text jedoch lesbar bleiben, bietet PGP die Möglichkeit, nur die Unterschrift im Radix-64-Format an den Text anzufügen. Empfängerinnen einer solcher Nachricht brauchen also PGP nicht aufzurufen, um den Text zu lesen. PGP ist hier nur für eine Kontrolle der Unterschrift erforderlich. Näheres hierzu steht im zweiten Teil des Handbuchs bei der Erläuterung des Parameters `CLEARSIG` im Kapitel config.txt.

# Die Umgebungsvariable für das PGP-Verzeichnis: `PGPPATH`

PGP benötigt beim Ver- und Entschlüsseln mehrere Dateien, unter anderem die beiden Dateien `pubring.pgp` und `secring.pgp` mit öffentlichen und geheimen Schlüsseln, `randseed.bin` (enthält die Parameter für den Zufallszahlengenerator), `config.txt` (Konfigurationsdatei) und `language.txt` (enthält die Textmeldungen von PGP, unter Umständen in mehreren Sprachen). Diese Dateien können (und sollten) in einem eigenen Verzeichnis stehen, beispielsweise `c:\pgp`. Damit PGP diese Dateien auch dann findet, wenn es aus einem beliebigen anderen Verzeichnis aufgerufen wird, muß die Umgebungsvariable `PGPPATH` auf das Verzeichnis mit den PGP-Dateien gesetzt werden. Unter MS-DOS geschieht das mit dem Befehl:

`SET PGPPATH=C:\PGP`

Wenn `PGPPATH` so gesetzt ist, benutzt PGP die Datei `c:\pgp\pubring.pgp` als Datei mit den öffentlichen Schlüsseln (vorausgesetzt, Verzeichnis und Datei existieren). Mit einem geeigneten Editor kann unter MS-DOS der Befehl `SET PGPPATH=` in die Datei `autoexec.bat` eingetragen werden, so daß `PGPPATH` automatisch beim Start des Rechners gesetzt wird. Wenn `PGPPATH` nicht definiert ist, sucht PGP die Dateien im aktuellen Verzeichnis. Das Vorgehen unter Amiga-DOS ist entsprechend: `Setenv PGPPATH dh1:pgp/`, für eine dauerhafte Einstellung mit anschließendem `copy env:PGPPATH envarc:`.

# Konfigurierbare Parameter: `config.txt` bzw. `pgp.config`

Die Datei `config.txt` (MS-DOS/Unix) bzw. `pgp.config` (Amiga) enthält eine Reihe von Parametern, mit denen PGP den individuellen Bedürfnissen angepaßt werden kann. `config.txt` bzw. `pgp.config` stehen in dem Verzeichnis, das in der Umgebungsvariablen `PGPPATH` angegeben ist.

In `config.txt` kann beispielsweise eingestellt werden, in welchem Verzeichnis PGP temporäre Dateien speichert, in welcher Sprache PGP seine Meldungen ausgibt, oder wie skeptisch sich PGP bei der Prüfung von Unterschriften unter öffentlichen Schlüsseln verhält.

Näheres über die einstellbaren Parameter steht im zweiten Teil des Handbuchs.

Dies ist Zugriff auf diese Seite.