![xml signature](../images/pixel.gif)
Asymmetrische Chiffrierungsverfahren werden verwendet, um die sichere Kommunikation ohne gemeinsam zu benutzende geheime Schlüssel zu ermöglichen. Ein "öffentlicher"
und ein "privater" Schlüssel werden von einem Paar sehr großer Primzahlen abgeleitet. Die dazu benutzte Formel kann natürlich auch auf kleine
Zahlen angewendet werden.
RedTitan verwendet die RSA-Kryptographie (benannt nach ihren Erfindern: Ron Rivest, Adi Shamir und Leonard Adleman).
Es ist von Vorteil, einen populären Algorithmus zu wählen, weil es dafür eine Auswahl an Authentifizierungsmechanismen auf dem Ziel-Rechner gibt. Zusätzlich kann sich der
vorsichtige Anwender eine zweite Meinung einholen. In einigen Rechtssprechungen haben RSA-Signaturen einen rechtlich gültigen Status und können dazu benutzt werden,
die Echtheit eines Dokuments wie mit einer handgeschriebenen Unterschrift zu bestätigen.
|
![xml document](../images/pixel.gif) |
|
![xml document](../images/pixel.gif) |
|
![xml document](../images/pixel.gif)
Ursprünglich von Cliffords Cocks am Britischen GCHQ postuliert, setzt die Falltür-Funktion, die die Basis der RSA-Verschlüsselung ist, auf die Schwierigkeiten der
Faktorisierung des Produktes zweier sehr großer Primzahlen. Die Formel ist sehr einfach:
- P ist eine beliebige Primzahl
- Q ist eine beliebige Primzahl
- E (öffentlicher Exponent) wird als ganze Zahl gewählt, die größer ist als 1, aber kleiner als P*Q,
wobei E und (P - 1) * (Q - 1) relativ prim sind, d. h., sie haben keine gemeinsamen Primfaktoren.
- D (privater Exponent) wird als ganze Zahl so gewählt, dass die Formel (D * E - 1) / (P - 1) * (Q - 1) eine positive Ganzzahl
ist,
d. h., jede Primzahl größer als max(P, Q) (und kleiner als (P*Q)) wäre eine gültige Wahl für D.
Um eine Zahl T zu verschlüsseln, wobei T <= P * Q , wenden Sie die Formel
(T E) mod ( P * Q ) an.
Um eine Zahl C zu entschlüsseln, die mit der obigen Verschlüsselungs-Formel erzeugt wurde, wenden Sie
(CD) mod (P * Q) an.
Zum Beispiel seien
P = 11
Q = 3
E = 3
D = 7
Um die Zahl 5 zu verschlüsseln, berechne (53 mod (11 *3))
== (5 * 5 * 5 mod 33) == (125 mod 33) == 26
Um die Zahl 26 zu entschlüsseln, berechne (267 mod (11 * 3
)) == (26*26* 26 *26*26*26*26 mod 33) ==(8031810176 mod 33)== 5
Der öffentliche Schlüssel besteht aus einem Zahlenpaar (P * Q, E) oder (33, 3) und der
private Schlüssel ist (D) oder die Zahl 7. Genau genommen sind dieses die kleinsten Zahlen, die gewählt werden können, und
die Formel kann leicht per Hand berechnet werden. Dieses Beispiel sollte nicht als sehr gute Verschlüsselung betrachtet werden - viele Zahlen im Bereich
(0 bis 33) werden zum selben Wert verschlüsselt. Obwohl mod (P *Q) niemals als Primzahlpaar publiziert wurde,
ist es einfach, zu vermuten, dass 33 nur in 3 und 11 faktorisiert werden kann. Mit dieser Information
ist es möglich, den privaten Schlüssel abzuleiten.
Die Wahl eines numerisch viel größeren Wertes für D ermöglicht es, Computercode zu implementieren, der von rechnerischen
Vorteilen bei der Verschlüsselungs-/Entschlüsselungs-Arithmetik profitiert, wenn die Originalwerte für P und Q zur Verfügung stehen, wie z. B.
beim privaten Schlüssel.
RSA ist in der Tat schwer zu knacken , wenn ein sehr großes Primzahlpaar gewählt wird. Blöcke von je 128 Bytes können mit einem 1024 Bit-Schlüssel
verschlüsselt werden. In diesem Fall werden zwei 512 Bit-Primzahlen verwendet, um den Modulus zu berechnen. Ist dieser von einem öffentlichen Schlüssel bekannt,
benötigt Scan nach den Primzahlen mit brutaler Gewalt mehr Zeit als für das Universum noch übrig ist. (Es ist möglich, dass die CIA es besser weiß.)
|