10. Public-Key-Kryptosysteme Flashcards
Definition asymmetrischen Kryptosystem (Public-Key-Kryptosystem)
jeder Teilnehmer hat einen öffentlichen und einen privaten Schlüssel.
Nachrichten werden mit dem öffentlichen Schlüssel des Empfängers verschlüsselt und mit dem dazugehörigen privaten Schlüssel entschlüsselt.
Verwendet Falltürfunktion
Definition Falltürfunktion
Funktion, die effizient auswertbar, aber ohne Kenntnis des privaten Schlüssels nicht effizient invertierbar ist.
Gegen was müssen PK Systeme immun sein?
Public-Key-Kryptosysteme müssen immun gegen chosen-plaintext-Angriffe sein, insbesondere also randomisiert verschlüsseln.
Authentizität und Integrität müssen separat sichergestellt werden.
worauf beruht die Sicherheit bei PK Systemen?
auf der Schwierigkeit der Faktorisierung großer Zahlen.
Eine direkte Verschlüsselung von Daten mit RSA (“Textbook RSA”) ist aber unsicher.
Definition hybriden Verschlüsselung
Ein zufällig erzeugter symmetrischer session key wird mit dem öffentlichen Schlüssel des Empfängers verschlüsselt und zum Empfänger übertragen.
Die weitere Kommunikation wird damit symmetrisch verschlüsselt und ggf. integritätsgesichert.
Diffie-Hellman Schlüsselaustausch Modifikation zu hybriden Verschlüsselungsverfahren möglich. Dies führt zu den Standardverfahren DHIES (in Z ) und ECIES (mit elliptischen Kurven).
DHIES (in Z ) und ECIES
Ausprägungen Integrated Encryption Scheme (IES) mit DH und EC
Als Hybridverfahren kombiniert es ein asymmetrisches Verfahren, das zum Versenden eines symmetrischen Schlüssels benutzt wird, mit einem symmetrischen Verschlüsselungsverfahren, das mit diesem symmetrischen Schlüssel die Nachricht verschlüsselt.
RSA Schlüsselgenerierung:
- Erzeuge 2 zufällige große Primzahlen p und q ungefähr gleicher Länge
- Berechne n = p * q
- Berechne Phi(n) = (p-1) *(q-1)
- Wähle e aus (1, phi(n-1)) mit gcd(e, Phi(n)) ) 1
- Berechne dazu mit dem erweiterten Euklidischen Algorithmus ein d aus(1, (Phi(n)-1) mit d*e mod Phi(n) , also ein multiplikatives Inverses von e moduloPhi(n)
Output
- Öffentlicher Schlüssel: (n, e)
Geheimer Schlüssel: d
RSA: Ver- und Entschlüsselung
Verschlüsselung: c = m^e mod n
Entschlüsselung: m = c^d mod n