Kryptographie II - Cheatsheet
Advanced Encryption Standard (AES) und Data Encryption Standard (DES)
Definition:
Advanced Encryption Standard (AES) und Data Encryption Standard (DES) sind symmetrische Verschlüsselungsverfahren; AES ist der Nachfolger von DES.
Details:
- AES unterstützt Schlüsselgrößen von 128, 192 und 256 Bit
- DES verwendet eine 56-Bit-Schlüssel
- AES: Blockgröße = 128 Bit, DES: Blockgröße = 64 Bit
- AES hat 10, 12 oder 14 Runden (abhängig von der Schlüssellänge)
- DES hat 16 Runden
- AES ist resistent gegen alle bekannten Angriffe wie Brute-Force
- DES ist anfällig für Brute-Force-Angriffe
Rivest-Shamir-Adleman (RSA) und ElGamal Verschlüsselung
Definition:
RSA und ElGamal sind asymmetrische Verschlüsselungsverfahren in der Kryptographie, die auf verschiedenen mathematischen Problemen basieren: RSA auf der Faktorisierung großer Zahlen, ElGamal auf dem diskreten Logarithmusproblem.
Details:
- RSA:
- Schlüsselerzeugung:
- Zufälliges Wählen von zwei großen Primzahlen p und q
- Berechne N = p \times q
- Berechne \phi(N) = (p-1) \times (q-1)
- Wähle e mit gcd(e, \phi(N)) = 1
- Berechne d als multiplikatives Inverses von e modulo \phi(N)
- Verschlüsselung: c = m^e \mod N
- Entschlüsselung: m = c^d \mod N
- ElGamal:
- Schlüsselerzeugung:
- Zufälliges Wählen einer großen Primzahl p und eines Primitivwurzel g modulo p
- Wähle geheimes Schlüssel x und berechne öffentliches Schlüssel y = g^x \mod p
- Verschlüsselung:
- Wähle zufällige Zahl k
- Berechne c_1 = g^k \mod p
- Berechne c_2 = m \times y^k \mod p
- Entschlüsselung: m = c_2 \times (c_1^x)^{-1} \mod p
Diffie-Hellman Schlüsselaustausch und Elliptische-Kurven-Kryptographie (ECC)
Definition:
Diffie-Hellman Schlüsselaustausch ermöglicht sicheren Schlüsselaustausch über unsichere Kanäle. ECC bietet stärkere Sicherheit bei kleineren Schlüssellängen durch Verwendung elliptischer Kurven.
Details:
- Diffie-Hellman: Asymmetrisches Verfahren zum Austausch kryptografischer Schlüssel.
- Gemeinsame Basiselemente: Primzahl p und Generator g (offene Werte).
- Schlüsselaustausch-Prozess:
- Alice wählt zufällig private Zahl a, berechnet A = g^a mod p.
- Bob wählt zufällig private Zahl b, berechnet B = g^b mod p.
- Alice und Bob tauschen A und B öffentlich aus.
- Gemeinsames Geheimnis: Alice berechnet K = B^a mod p, Bob berechnet K = A^b mod p.
- Elliptische Kurven: Definiert durch Gleichung y^2 = x^3 + ax + b.
- ECC: Alternativ zu Diffie-Hellman basierend auf der Arithmetik von elliptischen Kurven.
- ECC Schlüsselgenerierung: Punkt auf Kurve durch Skalierung eines Basis-Punktes G.
- Sicherheit ECC: Schwierigkeit des diskreten Logarithmusproblems auf elliptischen Kurven.
Digitale Signaturen und deren Anwendung
Definition:
Digitale Signaturen gewährleisten die Authentizität und Integrität von digitalen Nachrichten oder Dokumenten. Wird meist verwendet bei Nachrichtenübermittlung und Softwareverteilung.
Details:
- Echtheit: Verifikation des Absenders mittels öffentlichem Schlüssel.
- Integrität: Sicherstellung, dass die Nachricht nicht verändert wurde.
- Schlüsselpaar: Besteht aus privatem (Signieren) und öffentlichem Schlüssel (Verifizieren).
- Mathematische Grundlage: Asymmetrische Kryptographie (RSA, ECDSA).
- Verifizierung: Empfänger überprüft Signatur mittels öffentlichem Schlüssel.
- Anwendungen: E-Mails, digitale Verträge, Softwareupdates.
Auth- und Schlüsselvereinbarungsprotokolle
Definition:
Protokolle zur Authentifizierung und Schlüsselaustausch; gewährleisten Sicherheit bei der Kommunikation durch Verifizierung der Identitäten und Erzeugen eines gemeinsamen Schlüssels
Details:
- Ziele: Authentifizierung der Kommunikationspartner, sichere Schlüsselaustausch
- Protokollbeispiele: Diffie-Hellman, RSA, ECDH
- Schlüsselvereinbarung: Austausch eines geheimen Schlüssels über einen unsicheren Kanal
- Authentifizierung: Verifikation der Identität der Kommunikationspartner
- Verwendung kryptographischer Verfahren wie symmetrischer und asymmetrischer Verschlüsselung
- Verhinderung von Man-in-the-Middle Angriffen
Elliptic Curve Digital Signature Algorithm (ECDSA) und Elliptic Curve Diffie-Hellman (ECDH)
Definition:
Elliptic Curve Digital Signature Algorithm (ECDSA): Signaturverfahren basierend auf elliptischen Kurven. Elliptic Curve Diffie-Hellman (ECDH): Schlüsselaustauschprotokoll unter Verwendung elliptischer Kurven.
Details:
- ECDSA:
- Verwendet einen privaten Schlüssel zur Signaturerstellung und einen öffentlichen Schlüssel zur Verifikation.
- Signature besteht aus zwei Werten \(r, s\).
- Verifizierung über: \(u_1 = z s^{-1} \text{ mod } n\), \(u_2 = r s^{-1} \text{ mod } n\), \( P = u_1 G + u_2 Q \rightarrow r \text{ mod } n\)
- ECDH:
- Beide Parteien erzeugen öffentliche und private Schlüssel.
- Geteilter Schlüssel: \( S = k \times Q \text{ oder } k' \times G \rightarrow k \times k' \times G \)
- Gilt: \( S_A = d_A \times G, S_B = d_B \times G\), \( K = d_A \times S_B = d_B \times S_A \rightarrow k \times k' \times G\)
Gitterbasierte Kryptographie: Learning With Errors (LWE) und NTRU
Definition:
Gitterbasierte Kryptographie verwendet mathematische Gitter. LWE und NTRU sind zwei prominente Algorithmen für sichere Kommunikationsprotokolle, basierend auf der Schwierigkeit von Problemen in Gitterstrukturen.
Details:
- LWE: Begriffe: Gitter, Rauschen (\textit{error}), Schlüsselaustausch, Verschlüsselung.
- - Problem: Gegeben Matrix $\textbf{A}$ und Vektor $\textbf{b}$, finde $\textbf{x}$ in $ \textbf{A} \textbf{x} + \textbf{e} \text{ mod } q = \textbf{b} $.
- - Annahme: Das Finden von $\textbf{x}$ ist schwierig, wenn $\textbf{e}$ ein kleiner zufälliger Fehlervektor ist.
- NTRU: basiert auf Polynomen und dem Ring $ \text{ R = } \frac{\text{Z}[x]}{(x^N - 1)} $.
- - Idee: Polynome $ f $ und $ g $ erzeugen Schlüsselpaare; Verschlüsselung und Entschlüsselung erfolgt mittels Polynomialmultiplikationen und Modulo-Operationen.
- - Vorteile: Schnelle Berechnungen, geringer Speicherbedarf, Widerstandsfähigkeit gegen Quantencomputer.
Sichere Kommunikationsprotokolle wie TLS/SSL
Definition:
TLS/SSL bietet sichere Ende-zu-Ende-Kommunikation durch Verschlüsselung, Authentifizierung und Integritätsschutz.
Details:
- Transport Layer Security (TLS) und Secure Sockets Layer (SSL): Protokolle zur Sicherung der Kommunikation über ein Computernetzwerk.
- Verschlüsselung: Symmetrische Verschlüsselung der Daten mit Sitzungs-Schlüsseln, asymmetrische Verschlüsselung für den Schlüsselaustausch.
- Authentifizierung: Verifizierung der Identität der Kommunikationsparteien mittels digitaler Zertifikate.
- Integritätsschutz: Sicherstellung, dass Daten nicht manipuliert wurden, durch Prüfsummen (Message Authentication Codes, MACs).
- Handschlag-Protokoll (Handshake): Initiale Phase, um kryptographische Parameter auszutauschen und zu verhandeln.
- Anwendungen: Webbrowser, E-Mail, VoIP, VPNs.