Zum Hauptinhalt springen
Version: 24i

Asymmetrische Verschlüsselung 1

Das Prinzip der asymmetrischen Verschlüsselung beruht also auf zwei verschiedenen Schlüsseln, dem sogenannten Schlüsselpaar (engl. key pair). Die beiden Schlüssel eines Schlüsselpaars nennt man öffentlichen und privaten Schlüssel (engl. public und private key).

Da für den Verschlüsselungsvorgang nicht derselbe Schlüssel verwendet wird wie für den Entschlüsselungsvorgang, spricht man von einem asymmetrischen Verfahren.

Asymmetrische Ver- und Entschlüsselung mit verschiedenen Schlüsseln
Asymmetrische Ver- und Entschlüsselung mit verschiedenen Schlüsseln@
Generierung des Schlüsselpaares für die asymmetrische Verschlüsselung
Generierung des Schlüsselpaares für die asymmetrische Verschlüsselung@

Schlüsselpaar

Jede Person besitzt ein eigenes Schlüsselpaar, so auch Bob. Die beiden Schlüssel, die dieses Schlüsselpaar bilden, sind mathematisch verwandt. Der private Schlüssel lässt sich jedoch nicht in sinnvoller Zeit aus dem öffentlichen Schlüssel berechnen.

Bobs öffentlicher Schlüssel entspricht also dem Bügelschloss aus unserem ersten Beispiel. Bobs privater Schlüssel ist der Schlüssel, der zum Bügelschloss passt. Das Schloss kann (in geöffneter Form natürlich) bei einer vertrauenswürdigen Stelle (Trent) deponiert werden, wo es von Alice abgeholt werden kann. Den Schlüssel behält Bob stets für sich.

Jede Person besitzt ein Schlüsselpaar
Jede Person besitzt ein Schlüsselpaar@

Verschlüsselung

In der folgenden Abbildung sieht man auf der linken Seite, dass Alice bei der Verschlüsselung den öffentlichen Schlüssel von Bob (und nicht den eigenen) verwendet. Dieser öffentliche Schlüssel enthält keine geheime Information und ist für alle Leute zugänglich (z.B. via eine vertrauenswürdige Stelle), somit können alle eine Nachricht für Bob verschlüsseln.

Asymmetrische Verschlüsselung
Asymmetrische Verschlüsselung@

Entschlüsselung

In derselben Abbildung ist zu sehen, dass Bob bei der Entschlüsselung seinen privaten Schlüssel verwenden muss. Somit ist sichergestellt, dass nur Bob die Nachricht entschlüsseln kann.

Achtung

Um Verwechslungen zu vermeiden, spricht man bei der symmetrischen Verschlüsselung vom geheimen Schlüssel (engl. secret key), während man bei asymmetrischen Verfahren vom privaten Schlüssel spricht und nicht vom geheimen Schlüssel, weil jede involvierte Person ein eigenes Schlüsselpaar und somit einen eigenen privaten Schlüssel besitzt.

Asymmetrische Verschlüsselung
  1. Überlegen Sie sich, wie die Verschlüsselung funktioniert, wenn ein Dokument an verschiedene Leute versendet wird. Machen Sie sich dazu eine Skizze.
  2. Welche Nachteile erkennen Sie?
SSR
SSR

⭐️ RSA Algorithmus

Der RSA Algorithmus ist der aktuell am weitesten verbreitete asymmetrische Verschlüsselungsalgorithmus und wird etwa für die SSL/TLS Verschlüsselung beim HTTPS-Protokoll verwendet. Der Algorithmus wurde 1977 von Ronald Rivest, Adi Shamir und Leonard Adlerman unter dem Namen RSA entwickelt und publiziert2.

Funktionsweise

Die Funktionsweise basiert darauf, dass es leicht ist, c=memodnc = m^{e}\: mod\: n zu berechnen, aber praktisch unmöglich, ohne den privaten Schlüssel d die Umkehr­funktion zu berechnen.

nnöffentliche Zahl
eeöffentlicher Schlüssel des Empfängers
ddprivater Schlüssel des Empfängers
m<nm<nKlartext
ccGeheimtext

Verschlüsselung

Zur Verschlüsselung berechnet Bob den Geheimtext c:

c=memodnc=m^{e} \: mod \: n

Wobei mod der Ganzzahlige Rest bei der Division mit n darstellt. Beispiel: 13mod4=113 \: mod \: 4=1, da 134=3Rest1\frac{13}{4} = 3\: Rest\: 1.

Die Zahl nn ist das Produkt von zwei ver­schiedenen Primzahlen pp und qq, diese sind geheim. Wie können pp und qq geheim sein, wenn doch n=pqn = p\cdot q öffentlich ist? Dies beruht nur darauf, dass die Primfaktor­zerlegung von nn zu rechen­aufwendig ist, da nn sehr gross ist (z.B. 1024 Bit lang).

Für die Zahl e muss gelten

ggt(e,ϕ(n))=1ggt(e, \phi(n)) = 1

Hierbei ist

ϕ(n)=(p1)(q1)\phi(n) = (p-1)(q-1)

die Anzahl der zu n teiler­fremden Zahlen, die kleiner als n sind.

Entschlüsselung

Der Empfänger hat als privaten Schlüssel eine Zahl dd mit

demodϕ(n)=1d\cdot e\: mod\: \phi(n) = 1

daher

de=kϕ(n)+1d\cdot e = k\cdot \phi(n) + 1

für irgend ein kNok \in \N_{o}.

Ist n=pqn = pq, so gilt nach einem Satz von Euler für alle Zahlen mm mit m<nm < n und für alle natürlichen Zahlen kk:

mkϕ(n)+1modn=mmk\cdot\phi(n)+1\: mod\: n = m

Zur Ent­schlüsselung berechnet der Empfänger also

cdmodn=mdemodn=mkϕ(n)+1modn=m\begin{aligned} c^{d}\: mod\: n &= md\cdot e\: mod\: n \\ &= mk\cdot \phi(n) + 1\: mod\: n \\ &= m \end{aligned}

und erhält damit den Klartext mm.

⭐️ RSA Schlüssellänge

Die RSA Schlüssel haben standardmässig 1024 oder 2048 bits, wobei Schlüssel mit 1024 bits mittelfristig als knackbar erachtet werden, so dass die Industrie heute oft mindestens 2048 bits voraussetzt.