# Kryptografie: Grundlegende bis fortgeschrittene Konzepte

## Grundlegende Konzepte der Kryptografie

### 1. Terminologie
- **Klartext**: Ursprüngliche, lesbare Nachricht
- **Geheimtext**: Verschlüsselte Nachricht
- **Verschlüsselung**: Umwandlung von Klartext in Geheimtext
- **Entschlüsselung**: Umwandlung von Geheimtext zurück in Klartext
- **Schlüssel**: Geheimer Wert, der zum Ver- und Entschlüsseln von Nachrichten verwendet wird

### 2. Klassische Verschlüsselungsverfahren
- **Caesar-Verschlüsselung**: Verschiebt Buchstaben um eine feste Anzahl von Stellen
- **Substitutionsverschlüsselung**: Ersetzt jeden Buchstaben durch einen anderen
- **Vigenère-Verschlüsselung**: Verwendet ein Schlüsselwort für eine polyalphabetische Substitution

### 3. Symmetrische Kryptografie
- **Ein einzelner Schlüssel** für Ver- und Entschlüsselung
- Beispiele: AES (Advanced Encryption Standard), DES, 3DES
- Schnell, erfordert aber einen sicheren Schlüsselaustausch

## Konzepte der mittleren Stufe

### 1. Asymmetrische Kryptografie
- **Öffentliche und private Schlüsselpaare**
- Der öffentliche Schlüssel verschlüsselt, der private Schlüssel entschlüsselt (oder umgekehrt)
- Beispiele: RSA, ECC (Elliptic Curve Cryptography)
- Löst das Problem der Schlüsselverteilung

### 2. Hashfunktionen
- Einwegfunktionen, die eine Ausgabe fester Länge erzeugen
- Beispiele: SHA-256, MD5 (unsicher), SHA-3
- Werden für die Datenintegrität und die Speicherung von Passwörtern verwendet

### 3. Digitale Signaturen
- Beweisen die Authentizität und Integrität von Nachrichten
- Werden erstellt, indem ein Hash mit dem privaten Schlüssel verschlüsselt wird
- Werden mit dem öffentlichen Schlüssel verifiziert

## Fortgeschrittene Kryptografie

### 1. Kryptografische Protokolle
- **SSL/TLS**: Sichere Webkommunikation
- **PGP/GPG**: E-Mail-Verschlüsselung
- **SSH**: Sicherer Fernzugriff

### 2. Moderne Algorithmen
- **Postquantenkryptografie**: Widerstandsfähig gegenüber Quantencomputern (gitterbasiert, hashbasiert)
- **Homomorphe Verschlüsselung**: Berechnungen auf verschlüsselten Daten
- **Zero-Knowledge-Beweise**: Beweisen von Wissen, ohne Informationen preiszugeben

### 3. Kryptoanalyse
- Techniken zum Brechen kryptografischer Systeme
- Seitenkanalangriffe
- Differentielle und lineare Kryptoanalyse
- Geburtstagsangriffe auf Hashfunktionen

### 4. Schlüsselverwaltung
- Schlüsselableitungsfunktionen (PBKDF2, bcrypt, scrypt)
- Hardware-Sicherheitsmodule (HSMs)
- Richtlinien zur Schlüsselrotation