Allgemeiner Schlüsselcryptography
1976 schlugen Diffie und Hellman eine neue Art
Cryptography vor, die zwischen Encipherment und
Deciphermentschlüsseln unterschied. Einer der
Schlüssel bekannt öffentlich; das andere würde privat von
seinem Inhaber gehalten. Klassischer Cryptography erfordert den
Absender und die Empfänger, einen allgemeinen Schlüssel zu teilen.
Allgemeiner Schlüsselcryptography nicht. Wenn der
Enciphermentschlüssel allgemein ist, um eine geheime Anzeige zu
senden chiffrieren Sie einfach die Anzeige mit dem allgemeinen
Schlüssel der Empfängers. Senden Sie ihn dann. Die
Empfänger kann ihn dechiffrieren seinen privaten Schlüssel
verwendend.
James Ellis, ein Entcoder, der für Gruppe Sicherheit
Kommunikation-Elektronik der britischen Regierung, gesagt "er
arbeitet, zeigte Beweis des Konzeptes in einem Januar 1970 CESG
Report, der betitelt wurde ' die Möglichkeit der sicheren
Nicht-Geheimnis Digital Verschlüsselung.'" Zwei seiner Kollegen
fanden praktische Implementierungen. Diese Arbeit blieb bis 1997
eingestuft.
Weil ein Schlüssel allgemein ist und sein ergänzender
Schlüssel geheim bleiben muß, muß ein allgemeines
Schlüsselschlüsselsystem die folgenden drei Bedingungen treffen.
-
Es muß einfach rechnerisch sein, eine Anzeige zu
chiffrieren oder zu dechiffrieren, die den passenden Schlüssel
gegeben wird.
-
Es muß infeasible rechnerisch sein, den privaten
Schlüssel vom allgemeinen Schlüssel abzuleiten.
-
Es muß infeasible rechnerisch sein, den privaten
Schlüssel von einem gewählten Klartextangriff festzustellen
Die RSA Ziffer liefert Geheimhaltung und
Authentisierung.
RSA
RSA ist eine Exponentiationziffer. Wählen
Sie zwei große höchste Vollkommenheit Zahlen p und q, und lassen Sie
n = pq. Das totient ff(n) von n ist die Zahl Zahlen kleiner als
n ohne Faktoren im Common mit n.
Unsere Beispiele verwenden kleine Zahlen für
pädagogische Zwecke. Tatsächliches RSA bereitet sollte
mindestens 512 Bits jedes sein vor und gibt einen Modul von mindestens
1.024 Bits. In der Praxis wird RSA mit
Verschlüsselungsdurcheinanderfunktionen kombiniert, um Neuordnung der
Blöcke zu verhindern.
BEISPIEL: Lassen Sie n = 10. Die Zahlen, die
kleiner sind, als 10 und sind verhältnismäßig Haupt(haben Sie keine
Faktoren im Common mit), n sind 1, 3, 7 und 9. Folglich ff(10) =
4. Ähnlich wenn n = 21, die Zahlen, die zu n verhältnismäßig
Haupt sind, 1, 2, 4, 5, 8, 10, 11, 13, 16, 17, 19 und 20 sind.
So f(21) = 12. |
Wählen Sie eine Ganzzahl e < n, das zum ff(n)
verhältnismäßig Haupt ist. Finden Sie eine zweite Ganzzahl d
so daß ED Umb. ff(n) = 1. Der allgemeine Schlüssel ist (e, N)
und der private Schlüssel ist d.
Lassen Sie m eine Anzeige sein. Dann:
c = m^e Umb. n
und
m = c^d Umb. n
BEISPIEL: Lassen Sie p = 7 und q = 11.
Dann n = 77 und f(n) = 60. Alice wählt e = 17, also ist
ihr privater Schlüssel d = 53. In diesem Schlüsselsystem wird
jeder Klartextbuchstabe durch eine Zahl zwischen 00 (a) und 25 (Z)
dargestellt; 26 stellt einen freien Raum dar. Bob möchte
Alice die Anzeige "HALLO WELT schicken." Mit der Darstellung
oben, ist der Klartext 07 04 11 11 14 26 22 14 17 11 03. Mit
Alices allgemeinem Schlüssel ist der verschlüsselte Text
07^17 Umb. 77 = 28
04^17 Umb. 77 = 16
11^17 Umb. 77 = 44
...
03^17 Umb. 77 = 75 oder 28 16 44 44 42 38 22 42 19 44 75. |
Zusätzlich zur Vertraulichkeit kann RSA Daten- und
Ursprungsauthentisierung zur Verfügung stellen. Wenn Alice ihre
Anzeige mit ihrem privaten Schlüssel chiffriert, kann jedermann ihn
lesen, aber, wenn jedermann ihn ändert, kann der (geänderte)
verschlüsselte Text nicht richtig dechiffroren werden.
BEISPIEL: Nehmen Sie Alice Wünsche an, um Bob die
Anzeige "HALLO WELT" zu schicken, so daß Bob sicher ist, daß Alice
sie sendete. Sie chiffriert die Anzeige mit ihrem privaten
Schlüssel und schickt sie Bob. Wie oben angezeigt, wird der
Klartext als 07 04 11 11 14 26 22 14 17 11 03 dargestellt. Mit
Alices privatem Schlüssel ist der verschlüsselte Text
07^53 Umb. 77 = 35
04^53 Umb. 77 = 09
11^53 Umb. 77 = 44
...
03^53 Umb. 77 = 05
oder 35 09 44 44 93 12 24 94 04 05.
Zusätzlich zur Ursprung Echtheit kann Bob sicher sein, daß
keine Buchstaben geändert wurden.
Das Zur Verfügung stellen von von Vertraulichkeit und von
von Authentisierung erfordert das Chiffrieren mit dem privaten
Schlüssel des Absenders und dem allgemeinen Schlüssel der
Empfängers. |
BEISPIEL: Nehmen Sie Alice Wünsche an, um Bob die
Anzeige "HALLO WELT" im Vertrauen zu schicken und beglaubigte.
Wieder nehmen Sie an, daß Alices privater Schlüssel 53 ist.
Nehmen Sie Bobs allgemeinen Schlüssel, um 37 zu sein (seinen
privaten Schlüssel 13 bildend). Der Klartext wird als 07 04 11
11 14 26 22 14 17 11 03 dargestellt. Der Encipherment ist
(07^53 Umb. 77)37 Umb. 77 = 07
(04^53 Umb. 77)37 Umb. 77 = 37
(11^53 Umb. 77)37 Umb. 77 = 44
...
(03^53 Umb. 77)37 Umb. 77 = 47
oder 07 37 44 44 14 59 22 14 61 44 47.
Die Empfänger verwendet den privaten Schlüssel der
Empfängers, um die Anzeige und den allgemeinen Schlüssel des
Absenders zu dechiffrieren, um ihn zu beglaubigen. |
BEISPIEL: Bob empfängt den verschlüsselten Text
oben, 07 37 44 44 14 59 22 14 61 44 47. Der Decipherment ist
(07^13 Umb. 77)17 Umb. 77 = 07
(37^13 Umb. 77)17 Umb. 77 = 04
(44^13 Umb. 77)17 Umb. 77 = 11
...
(47^13 Umb. 77)17 Umb. 77 = 03 oder 07 04 11 11 14 26 22 14 17 11 03.
Dieses entspricht der Anzeige "HALLO WELT" vom vorhergehenden
Beispiel. |
Der Gebrauch von einem allgemeinen Schlüsselsystem
liefert eine technische Art nonrepudiation von Ursprung. Die
Anzeige wird mit Alices allgemeinem Schlüssel dechiffroren.
Weil der allgemeine Schlüssel das Gegenteil des privaten
Schlüssels ist, nur der private Schlüssel die Anzeige chiffroren
haben könnte. Weil Alice das einzige ist, wer diesen privaten
Schlüssel kennt, nur sie die Anzeige chiffroren haben könnte.
Die zugrundeliegende Annahme ist, daß Alices privater
Schlüssel nicht verglichen worden ist und daß das allgemeine
Schlüssellager ihr Name wirklich ihr gehört.
In der Praxis würden niemand Blöcke der Größe
benutzen, die hier dargestellt wurde. Die Ausgabe ist, daß,
selbst wenn n, wenn ein Buchstabe pro Block chiffroren wird, RSA kann
mit den Techniken gebrochen werden sehr groß ist, die verwendet
werden, um klassische Ersatzziffern zu brechen. Ausserdem
obgleich kein einzelner Block ohne Abfragung geändert werden kann
(weil der Angreifer vermutlich nicht Zugang zum privaten Schlüssel
hat), kann ein Angreifer Blöcke neu ordnen und die Bedeutung der
Anzeige ändern.
BEISPIEL: Ein General schickt den Hauptsitzen
eine Anzeige, die fragen, ob der Angriff auf den Hauptsitzantworten
mit Anzeige "on" chiffroren mit einer RSA Ziffer mit einem Modul
1,024-bit ist, aber jeder Buchstabe wird separat chiffroren. Ein
Angreifer fängt die Anzeige ab und tauscht den Auftrag der Blöcke
aus. Wenn der General die Anzeige dechiffriert, liest sie "NR.,"
das Entgegengesetzte des ursprünglichen Klartextes.
Außerdem wenn der Angreifer weiß, daß Hauptsitze
eine von zwei Anzeigen (hier, "NICHT" oder "on") senden, kann der
Angreifer eine Technik verwenden, die "Vorwärtssuche" oder
"precomputation", um die Ziffer zu brechen genannt wird. Aus
diesem Grund wird Klartext normalerweise mit gelegentlichen Daten
aufgefüllt, um einen Block zu bilden. Dieses kann das Problem
von vorwärts suchen beseitigen, weil der Satz der möglichen
Klartexte zum precompute durchführbar zu groß wird.
Ein anderer General sendet den gleichen Antrag wie im
Beispiel oben. Wieder antworten die Hauptsitze mit Anzeige
"on" chiffroren mit einer RSA Ziffer mit einem Modul 1,024-bit.
Jeder Buchstabe wird separat chiffroren, aber die ersten sechs
Bits jedes Blockes enthalten die Zahl des Blockes, enthalten die
folgenden acht Bits den Buchstaben, und die restlichen 1.010 Bits
enthalten gelegentliche Daten. Wenn der Angreifer die Blöcke
neu ordnet, ermittelt der General, daß Block 2 vor Block 1
(resultierend aus der Zahl in den ersten sechs Bits) ankam und sie neu
ordnet. Der Angreifer kann nicht precompute die Blöcke, auch
feststellen welches "O enthält,", weil sie 21010 Blöcke würde
berechnen müssen, die rechnerisch infeasible ist. |
dieses ist ein Artikel, der von Bill Kuriko hinzugefügt
wird
|