Crypto Projekt - Cheatsheet
AES: Grundlagen der symmetrischen Verschlüsselung
Definition:
AES ist ein symmetrischer Verschlüsselungsalgorithmus, der in Blockgrößen von 128 Bit operiert und Schlüsselgrößen von 128, 192 oder 256 Bit unterstützt.
Details:
- Symmetrische Verschlüsselung: Sender und Empfänger nutzen den gleichen Schlüssel.
- Blockchiffre: Operiert auf Blöcken fester Größe (128 Bit).
- Schlüsselgrößen: 128, 192 oder 256 Bit.
- Kombination von Verschiebungen, Austausch, Mischung und Addition von Schlüsseln.
- Rundenanzahl: 10 für 128-Bit, 12 für 192-Bit und 14 für 256-Bit Schlüssel.
- Security: AES gilt als sicher, wenn Schlüssel und Implementierung korrekt sind.
RSA: Asymmetrische Verschlüsselung und Anwendungen
Definition:
RSA ist ein asymmetrisches Kryptosystem, das zur sicheren Datenübertragung genutzt wird.
Details:
- Verwendet ein Schlüsselpaar: öffentlicher Schlüssel (für Verschlüsselung), privater Schlüssel (für Entschlüsselung).
- Sicherheit basiert auf der Faktorisierung großer Primzahlen.
- Schlüsselerzeugung: Wähle zwei große Primzahlen p und q, berechne das Produkt n = pq und die Eulersche Phi-Funktion \(\phi(n) = (p-1)(q-1)\).
- Öffentlicher Schlüssel: \( (e, n) \), wobei der Exponent e ein Wert ist, der teilerfremd zu \(\phi(n)\) ist.
- Privater Schlüssel: \( d \), berechnet durch \( e \cdot d \equiv 1 \mod \phi(n) \).
- Verschlüsselung: \( c = m^e \mod n \), wobei \( m \) die Nachricht ist.
- Entschlüsselung: \( m = c^d \mod n \).
- Anwendungen: Digitale Signaturen, sicherer Schlüsselaustausch, Authentifizierung.
Diffie-Hellman: Schlüsselaustauschverfahren
Definition:
Verfahren zum sicheren Austausch kryptografischer Schlüssel über unsichere Kommunikationskanäle.
Details:
- Teilnehmende wählen eine gemeinsame Primzahl \( p \) und Basis \( g \).
- Jeder Teilnehmende wählt eine private Zufallszahl \( a \) und \( b \).
- Berechnung öffentlicher Werte: \( A = g^a \, \text{mod} \, p \) und \( B = g^b \, \text{mod} \, p \).
- Austausch der öffentlichen Werte \( A \) und \( B \).
- Berechnung gemeinsamer Schlüssel: \( s = B^a \, \text{mod} \, p = A^b \, \text{mod} \, p \).
SSL/TLS-Protokolle und ihre Implementierung
Definition:
SSL und TLS sind Kryptographieprotokolle, die sichere Kommunikation über Computernetzwerke gewährleisten. Werden verwendet, um Datenintegrität, Authentizität und Vertraulichkeit zu gewährleisten.
Details:
- SSL: Secure Sockets Layer, veraltet, durch TLS ersetzt.
- TLS: Transport Layer Security, aktuell verwendetes Protokoll.
- Schichten: In Transport- und Anwendungsschicht integriert.
- Komponenten: Handshake-Protokoll, Record-Protokoll, Verschlüsselungsalgorithmen (z.B. AES, RSA).
- Handshake: Austausch von Schlüsseln und Authentifizierung der Kommunizierenden.
- Implementierungen: OpenSSL, GnuTLS, BoringSSL.
- Schwachstellen: z.B. Heartbleed bei OpenSSL.
Konsensmechanismen: Proof of Work vs. Proof of Stake
Definition:
Konsensmechanismen in Blockchain-Systemen, z.B. Proof of Work (PoW) und Proof of Stake (PoS), bestimmen die Validierung und Verifizierung von Transaktionen.
Details:
- Proof of Work (PoW): Rechenintensive Aufgaben zur Verifizierung
- Miner lösen komplexe mathematische Probleme
- Hoher Energieverbrauch
- Sicher, aber ineffizient
- Proof of Stake (PoS): Validierung basierend auf Besitzanteilen
- Staker validieren Transaktionen basierend auf ihrem Token-Anteil
- Geringerer Energieverbrauch
- Energieeffizienter, kann aber weniger sicher sein
Hashfunktionen: Bedeutung für die Datenintegrität
Definition:
Hashfunktionen sind deterministische Algorithmen, die eine beliebig große Eingabe (Daten) in einen festen Ausgabewert (Hashwert) umwandeln. Sie sind zentral für die Datenintegrität, da sie sicherstellen, dass Daten während der Übertragung oder Speicherung nicht manipuliert wurden.
Details:
- Einwegfunktion: Kann einfach berechnet, aber schwer umgekehrt werden.
- Kollisionsresistenz: Zwei unterschiedliche Eingaben sollten nicht denselben Hashwert produzieren.
- Beispiel: SHA-256
- Verwendet in digitalen Signaturen und Prüfsummen.
- Mathematisch: Sei H eine Hashfunktion, dann: \[ H: \text{Eingabemenge} \rightarrow \text{Ausgabemenge} \]
Post-Quantum-Kryptographie: Relevanz und Konzepte
Definition:
Verschlüsselungsverfahren, die sicher gegen Angriffe durch Quantencomputer sind.
Details:
- Relevanz: Aktuelle kryptografische Methoden (z.B. RSA, ECC) durch Quantencomputer gefährdet.
- Ansätze: Gittersysteme (Lattice-based), Hash-basierte Kryptographie, Code-basierte Kryptographie
- Sicherheitsannahmen: Zählen auf Probleme, die als quantenresistent gelten, z.B. SVP (Shortest Vector Problem) oder CVP (Closest Vector Problem)
- Beispiele: NTRUEncrypt, McEliece-Kryptosystem
Elliptische-Kurven-Kryptographie (ECC)
Definition:
Elliptische-Kurven-Kryptographie (ECC) ist ein Public-Key-Verschlüsselungsverfahren unter Verwendung elliptischer Kurven.
Details:
- Reduziert benötigte Schlüsselgrößen bei gleicher Sicherheit im Vergleich zu klassischen Methoden wie RSA
- Generische Form einer elliptischen Kurve: \( y^2 = x^3 + ax + b \)
- Punktaddition und Skalierung auf der Kurve für Kryptographie-Operationen
- Weit verbreitet in SSL/TLS, Bitcoin und vielen mobilen Apps
- Nutzen: Schnelle Berechnungen und geringer Speicherbedarf