RSA-Verschlüsselung
Dienstag, 30. Januar 2007Zunächst ist, wie bereits in der Post-Verschlüsselung System RSA ist ein Public-Key-Verschlüsselung und nutzt die Eigenschaften von Primzahlen. Darüber hinaus nahm der Arithmetik (bei der Berechnung) ist nicht regelmäßig, aber die sogenannten endlichen oder artirmetica modular aufgebaut. Starten Sie von diesem Schritt für Schritt bei der Umsetzung der RSA-Verschlüsselung gehen.
Über Arithmetik, wie der Name schon sagt, beschäftigt sich mit endlichen Mengen von Zahlen. Ein anschauliches Beispiel, das alles ganz klar machen wird, und der Computer zu sehen. Machen Sie eine klassische Uhr mit Zeigern auf die wir alle gewohnt sind. Es stellt ein endliches System wie die Stunden vertreten sind auf dem Zifferblatt 12. Die Hand in der Tat, jede Runde zurück - früher oder später - den gleichen Stellen. Nun ist es so, dass 3 +12 = 3, in unserem Computer zu sehen. Im Einzelnen hat die Operationen der Addition und Multiplikation Arithmetik erfolgt über genau die gleiche Weise dell'aritmentica gewöhnlichen, es sei denn, dass das Endergebnis Sie dieses Modul (oft genannt mod und in allen Programmiersprachen , ist in C, JavaScript oder PHP das%-Zeichen). Im Falle unseres 12-Stunden-Uhr, in der Tat ist der Zusatz Betrieb nur 3 +12 = 15 mod 12, die sich in 3 - wird visuell als wir gewöhnt sind.
In der Praxis - in Bezug auf die Uhr - wir tun dies, wenn auch nicht bewusst. Die Transaktion Modul 12, zu verstehen, entspricht einer Zahl durch 12 teilen und den Rest der Division werden:
Z. B. 15 mod 12 = 15/12 = (Rest 15-12) = 3
Beispiel 24 mod 12 = 24/12 = (Rest 0) = 0
ZB 26 mod 12 = 26/12 = (Rest 14-12) = 2
Die Zahl der Stunden auf qudrante kann eine beliebige Zahl, 12, 24, 5, 128, ...
Allerdings wurde festgestellt, dass durch die Wahl einer Primzahl, da die Zahl der Stunden, gab es einen furchtbaren Charakter. Vor allem bei der Wahl eine Primzahl wir nie eine Null als Ergebnis. Auch eine beliebige Zahl auf einen Quadranten durch eine Primzahl gebildet angehoben, um den ersten gewählt, da die Zahl der Stunden gibt immer die angegebene Anzahl. Zum Beispiel, wenn wir eine Uhr mit 5 Stunden auf dem Zifferblatt und hohe zB 2 5 wir wieder 2, die Zahl der Abreise:
2 5 = 32 mod 5 = 2
Welche übersetzt in:
x p = x (mod p)
Pierre de Fermat, Mathematiker, der dieses Verhalten bemerkt, bemerkte er, dass die Uhr scheint ein sich wiederholendes Muster zu ziehen. In der Praxis, in unserem Fall, nach fünf Schritte, die die Zeiger wieder auf die Ausgangsposition.
| Potenzen von 2 | 2 1 | 2 2 | 2 3 | 2 4 | 2 5 | 2 6 | 2 7 | 2 8 | 2 9 | 2 10 |
| Gewöhnlichen Geschäftstätigkeit | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 |
| Modul 5 | 2 | 4 | 3 | 1 | 2 | 4 | 3 | 1 | 2 | 4 |
Eine Uhr auf 13 Stunden (versuchen Sie, bis 3 13) erhalten wir:
3, 9, 1, 3, 9, 1, 3, 9, 1, 3, 9, 1, 3
Im Gegensatz zu unserer ersten Seite wird nicht auf alle Zahlen möglich zu stoppen, aber der Trend scheint sich wiederholende und auch in diesem Fall, wird die Nadel auf 3 nach 3 Rückkehr war mit sich selbst multipliziert 13 Mal!
Im Jahre 1736, wurde Leonhard Euler in der Lage, diese Funktion zu erweitern, sowie eine Erklärung zu geben. Er zeigte, dass da eine Uhr mit Stunden auf dem Zifferblatt N, wobei N = p * q ist das Produkt zweier Primzahlen p und q, die Leistung zu wiederholen, nach dem Start (p -1) * (q -1) +1 Schritte.
Dieses Merkmal ist die Grundlage der RSA-Verschlüsselung. Es wurde davon ausgegangen, dass diese zyklischen Muster - könnte in der Tat - Holen Sie sich auf magische Weise ans Licht gebracht von Informationen zu befreien und dann. Wir sehen, dass N das Produkt zweier Primzahlen p und q, so wäre dies bekannt machen können ein Kunstgriff N p und q geheim gehalten wird.
In der Praxis also, was Sie sich daran erinnern wird, eine Karte Trick zu machen. Angenommen, Sie haben ein Deck aus einer großen Anzahl von Karten, so groß, dass wir mindestens hundert Zahlen schreiben müssten. Der Code, den wir wollen verschlüsseln, ist eine dieser Karten, nachdem sie platziert oben auf dem Deck gibt es gemischt, so zu verlieren - scheinbar - die Position unseres Papier (der Nachricht). Rechnen mit der Uhr in der Praxis ist es sehr einfach, sich von dem Papier zu befreien, aber nicht so einfach machen es wieder, es sei denn Sie die genaue Anzahl von Zügen wissen, auf dem Deck so vorgesehen werden, um in der Zeitung wieder oben drauf.
Wir also ein vollständiges Beispiel, damit Sie sehen können alle Formeln nötig, um diese Art von Magie zu schaffen.
In unserem Beispiel werden wir kleine Zahlen nur verwenden, um den Mechanismus zu verstehen und sich vorstellen, dass Sie die Zahl unserer Kreditkarte, um eine Web-Site senden
Schritt 1
Die Website angekündigt - in unserem Browser - die erste öffentliche Schlüssel, wie N = p * q berechnet (die Website wird eifersüchtig, wenn die Zahlen p und q, nur das Produkt der Öffentlichkeit zugänglich gemacht): Es stellt die Anzahl der Stunden verwendet On Our Watch. Bedenken Sie, dass in Wirklichkeit die Zahl p und q mindestens 60 Ziffern sind! Wir werden Zahlen verwenden mehr Menschen
N = p * q = 5 * 11 = 55
Fifty-five ist unsere öffentlichen Schlüssel, durch den Sicherheitscode ein, können die Website sicher verteilt und ohne Unterschied für alle seine Kunden. Obwohl es der Öffentlichkeit die Anzahl N, die Primfaktoren wurde, die es ausmachen p und q geheim bleiben, werden sie zu entschlüsseln die Zahl unserer Kreditkarte!
SCHRITT 2
An dieser Stelle erhalten Sie eine zweite Nummer und rief die Zahl der Codierung. Diese Zahl wird auch veröffentlicht und für alle gleich, genauso wie N. Durch unsere Browser können, wir die Zahl unserer Kreditkarte C kodieren, in der Praxis mischen die Karten, und stellt die Anzahl von mischen die Karten:
C E (Formular N)
Und die Zahl wird in der Regel gering und wird von der Formel, die wir trafen uns, wenn wir gesehen haben errechnet, dass auf einer Uhr mit einer Reihe von Stunden eine Primzahl ist, gab es eine Sequenz, die später (p -1) * wurde wiederholt, besteht ( q -1) +1 Schritte (für Details klicken Sie hier)!
Zunächst berechnen wir eine Reihe b:
b = (p -1) * (q -1) = (5-1) * (11-1) = (4) * (10) = 40
Die Anzahl und muss eine Primzahl, nicht auf dem Zirkel mit b, ggT (a, b) = 1
Zur Vereinfachung wir versucht - esistone verschiedene Techniken für Sie:
Wenn E = 2 ggT (2, 40) = 2 nicht gut
Wenn E = 3, ggT (3, 40) = 1 ist in Ordnung
An diesem Punkt können wir unsere Kreditkarten-Nummer verschlüsselt C. Wenn C ist 32 und hat zum Beispiel:
Mod N C E = 32 3 mod 55 = 43 = C cf
Fantastic, liegt bei 43 unserer verschlüsselten Kreditkarten-Nummer! Auf Wunsch senden wir es!
SCHRITT 3
Die Website erhält unsere Kreditkarten-Nummer C vgl. verschlüsselt, oder 43. An dieser Stelle nutzt die folgende Immobilien:
CF C = C d mod N
Die Zahl d ist der Kehrwert der Anzahl und der Arithmetik endlicher Ordnung b, unsere Uhr Arithmetik. Dies ist der Einfachheit halber wird so berechnet, dass d * e mod b = 1
Going to versuchen Sie feststellen, dass:
Für d = 1 ist 1 * 3 mod 40 = 3 mod 40 = 3 - nicht gut
Für d = 2 ist 2 * 3 mod 40 = 6 mod 40 = 6 - keine gute
Für d = 3 ist 3 * 3 mod 40 = 9 mod 40 = 9 - nicht gut
....
Für d = 27 ist 27 * 3 mod 40 = 81 mod 40 = 1 - gefunden!
Nun ist die Website der Lage ist, das Deck shuffle, um wieder auf unsere Kreditkarten-Nummer:
CF C = C d mod N = 43 27 mod 55 = 32
Zusammenfassen
| Variable | Freundlich | Formel | Wert |
N | Öffentliche | p * q | 5 * 11 = 55 |
b | Private | (P -1) * (q -1) | (5-1) * (11-1) = (4) * (10) = 40 |
Und | Öffentliche | MCD (E, b) = 1 | GgT (3, 40) = 1 dann 40 |
d | Private | d * e mod b = 1 | 27 * 3 mod 40 = 1 dann 27 |
C | Kartennummer | -- | 32 |
C cf | Verschlüsselte | Mod N C E | 32 3 mod 55 = 43 |
C | Entziffert | CF C = C d mod N | 43 27 mod 55 = 32 |
Wenn Sie experimentieren mit Zufallszahlen klicken Sie hier.
Außerdem ist, wie erläutert auf der gleichen Seite des RSA:
Nehmen wir an, Alice möchte eine Nachricht m an Bob senden. Alice erzeugt den Geheimtext c von Exponentialfunktion: c = m e mod n, wobei e und n Bob's öffentlichen Schlüssel. Sie sendet c an Bob. So entschlüsseln, Bob potenziert auch: m = c d mod n, die Beziehung zwischen E und D sorgt dafür, dass Bob wieder richtig m. Da nur Bob d kennt nur Bob kann diese Nachricht zu entschlüsseln.
Hacker-und Sicherheitspolitik
Unsere Kreditkartennummer, verschlüsselt, fährt sie auf ihrem Netz und Hacker könnte es zu lesen. Was ist ein Hacker, unseren Code zu entschlüsseln, ist eine Zahl, Multiplizieren und manchmal auch für sich selbst auf dem Computer in der Stunde N Uhr, gibt die Zahl der verschlüsselten Kreditkarte (CF C = C e mod N). Neben einer regelmäßigen Computer das Ergebnis einer Reihe von reproduktiven autmenta Fortschritt, etwas, das nicht auf einem Computer passiert ist zu beobachten, wo der Ausgangspunkt, die wir aus den Augen verlieren sehr schnell, da die Größe des Ergebnisses stehen in keiner Verbindung mit der Position von wo aus Sie gestartet. Darüber hinaus, in realen Fällen hat sich die Zahl N mehr als hundert Figuren, gibt es mehr Stunden auf dem Zifferblatt des Computers, um zu sehen, daß die Atome im Universum. Es ist nur durch die Anzahl der d-Decodierung, dass die Website die Anzahl der Kreditkarte abrufen können, aber diese Zahl d ist nur erstattungsfähig, wenn wir wissen, p und q. Trotz der großen Zahl N = p * q ist öffentlich, die Schwierigkeiten bei der Factoring-N macht es nahezu unmöglich, den Code zu entschlüsseln.
Doch niemand hat jemals bewiesen, dass es einen mathematischen Algorithmus, der zu sehr großen Zahlen setzen sich schnell einen Computer arbeiten kann. Wenn dies geschieht, würde die Wirtschaft der entwickelten Welt in kürzester Zeit zusammenbrechen.
Bibliographie
- Colin Bruce, Hasen Schrödinger - Physik qunatistica und parallele Universen, Raffaello Cortina Editore
- Marcus du Sautoy, Die Musik der Primzahlen. Die Riemannsche Hypothese, das größte Geheimnis der Mathematik, BUR
- Simon Singh, Fermat's Last Theorem. Das Abenteuer ein Genie, ein mathematisches Problem und der Mann, der beschlossen hat, Rizzoli
- Liceo Foscarini - Venezia: http://www.liceofoscarini.it/studenti/crittografia/
- RSA: http://www.rsasecurity.com/













[...] 13) Die RSA-Verschlüsselung - 808 [...]
hallo .. Ich habe ein Programm in C (eins zu eins für Bob und Alice) ... dass ein entschlüsselt ist, dass das RSA-und einen, der Risse eine Nachricht .. Sie haben eine Idee?
@ Daniel: Wenn Sie meinen, ist der Algorithmus in der Post erklärt. Siehe auch die Links, die Seiten mit Live-Demo enthalten, wenn sie Ihnen helfen können. Ansonsten sind Sie verweisen auf etwas Besonderes?
[...] Sagen wir, dass die Transaktion Modul ein sehr breites Thema, das ich behandelt RSA-Verschlüsselung ist! Dieses Mal jedoch nicht von Codes oder Chiffren zu sprechen, aber nützliche Dinge und noch viel mehr [...]
Die beste Erklärung, die ich gelesen habe. Ich endlich verstanden, was die modulare Arithmetik ... Thanks!
Hallo Leute,
Nun, die RSA-Verschlüsselung sollte das Leben nicht sehr lange ... die neue Handlungswendung hätte von Quanten-Computer in die Lage der Faktorisierung großer Zahlen schnell kommen. Praktisch finden Sie im Link dwave Systeme.
Was denken Sie? Wir sollten uns auf andere Public-Key-Systeme zu kurz? RSA noch nicht "die einzige öffentliche Schlüssel-Algorithmus ...
Grüße
Massimiliano Monittola