# Verschlüsselung mit GnuPG
Author: Daniel Schubert

### Geschichte

- 1991 - Phil Zimmermann - Pretty Good Privacy ( PGP ).
- Exportbeschränkungen der USA verhinderten Internationale Verbreitung
- Der Quellcode wurde 1995 als Buch „PGP Source Code and Internals“ exportiert ;-)
- 1997 - Aufkauf durch McAffee: Quellcode wurde nicht mehr offengelegt
- 1997 - OpenPGP Standard
- 1997 - Werner Koch veröffentlicht GnuPG unter der GPL

### Funktionsweise

#### Key Generierung

#### Verschlüsselung

#### Signierung

#### Verschlüsselung für jmd. Anderen

#### Schlüsselaustausch

- über Schlüsselserver
- direkt ( per mail oder USB-Stick )
- ->dann sollte der Fingerprint verifiziert werden

Der Private Schlüssel muss sicher verwahrt sein, sonst nützt alles nix.

#### KeyServer

- zur Veröffentlichung d. öffentlichen Keys
- Obacht: einmal veröffentlicht nicht mehr entfernbar
- öffentlicher Key kann widerrufen werden
- ->Widerrufszertifikat

#### Zusammenfassung - Verschlüsselung

1. Schlüsselpaar generieren:
   Öffentlichen u. Privaten Key
2. Öffentlichen Key weitergeben
3. Privaten Key sicher verwahren
4. Verschlüsselung d. Nachricht m. öffentlichem Schlüssel
5. Entschlüsselung d. Nachricht m. privatem Schlüssel
6. Mit dem öffentlichen Schlüssel verschlüsseltes kann nur mit dem privaten Schlüssel entschlüsselt werden

#### Zusammenfassung - Signierung

- Signierung garantiert dass die Nachricht unverändert ankam
- Signierung mit privatem Key
- überprüfung d. Signierung mit öffentlichem Key

#### WOT - Web of Trust

- Nutzer signieren ihre öffentlichen Schlüssel gegenseitig
- Ausdruck des Vertrauens, dass ein Schlüssel einer best. Person gehört

#### Programme die GnuPG unterstützen:

Evolution | E-Mail
Thunderbird | E-Mail
KMail | E-Mail
Claws Mail | E-Mail
Gajim | Jabber/Instant Messenger
Psi | Jabber/Instant Messenger
Kopete | Jabber/Instant Messenger
GPG4Win | Tools für Windows

### Mit-Mach-Teil

Schlüsselpaar generieren

    ~$ gpg --full-gen-key

Ausgabe:

    Bitte wählen Sie, welche Art von Schlüssel Sie möchten:
       (1) RSA und RSA (voreingestellt)
       (2) DSA und Elgamal
       (3) DSA (nur unterschreiben/beglaubigen)
       (4) RSA (nur signieren/beglaubigen)
    Ihre Auswahl?

Liste öffentliche Schlüssel

    ~$ gpg --list-keys
    gpg -k

Liste private Schlüssel

    ~$ gpg --list-secret-keys
    gpg -K

#### Wiederrufszertifikat

    ~$ gpg --output Widerruf_Kennung.asc --gen-revoke Kennung

Dieses Zertifikat einfach in den Keyring importieren -> Schlüssel ungültig

#### Schlüssel exportieren

öffentlicher Key

    ~$ gpg -a --output gpg-key.asc --export KEY-ID

Privater Key

    ~$ gpg -a --output gpg-secret-key.asc --export-secret-keys KEY-ID

#### Schlüssel suchen

    ~$ gpg --search-keys "Vorname Nachname"

Schlüssel runterladen

    ~$ gpg --recv-keys Key_Id

GUI Frontend dafür: Seahorse

    ~$ sudo apt install seahorse

Aufgabe:

Tauscht eure öffentlichen Schlüssel;
Sendet euch verschlüsselte Emails;
signiert gegenseitig eure Schlüssel;
Verschlüsselt eine Datei mit gpg.
Sucht meinen Schlüssel und sendet mir verschlüsselte emails ;-)
mail@schubertdaniel.de