Diskussion:RSA-Kryptosystem
Füge neue Diskussionsthemen unten an:
Klicke auf , um ein neues Diskussionsthema zu beginnen.Auf dieser Seite werden Abschnitte ab Überschriftenebene 2 automatisch archiviert, die seit 7 Tagen mit dem Baustein {{Erledigt|1=--~~~~}} versehen sind. Das aktuelle Archiv befindet sich unter Archiv/1. |
Code-Beispiel etwas irreführend
BearbeitenDas vorgestellte Code-Beispiel ist in vieler Hinsicht hilfreich, allerdings hat es eine entscheidende Schwäche: statt einer gesamten Nachricht (bis zu einer maximalen Länge) wird dort nur jedes Zeichen der Nachricht einzeln verschlüsselt. Eine solche Implementierung ließe sich leicht aushebeln, indem ein Angreifer z.B. das gesamte Alphabet mit dem öffentlichen Schlüssel zeichenweise verschlüsselt, daraus eine Tabelle bildet und dann bei der zu entschlüsselnden Nachricht schlichtweg Zeichen für Zeichen mit der Tabelle abgleicht.
Vergleiche auch den Abschnitt "Padding" über die Gefahr, die besteht, wenn die Grundlänge der Nachricht zu klein gewählt wird. => nicht signiert !
Bei mir funktioniert dieser Code einfach nicht !?
BearbeitenIch verwende VS C++ 2002. Als Klartext erhalte ich :"☻©↨Ü©`VM╬¶↨M©Ü`©M`☻M═Ms©ÜM♦³". Welchen Fehler mache ich ? --92.200.219.254 09:47, 13. Dez. 2022 (CET)
- Mir scheint, der Fehler liegt in der Funktion encryptTextWithRSA: Das Schlüsseltextzeichen c hat einen Wertebereich von 0 bis n-1, und das überschreitet die Größe eines char, so dass es nicht ohne Verlust im String gespeichert werden kann. --Megatherium (Diskussion) 12:26, 13. Dez. 2022 (CET)
Da gibt es noch andere Probleme ! Dieses Programm kann niemals funktioniert haben:( Wie kann den solcher ungetesteter Mist als Beispiel hergenommen werden ??--92.200.219.254 19:21, 13. Dez. 2022 (CET)
RSA Entschlüsselung exponent (geheimer Schlüssel) d
BearbeitenHi,
warum kneift Ihr alle (auch der Justus von der Humboldt in Berlin) den Schritt von
d*e kongruent 1 mod phi(N)
zur Lösung die inverse Gleichung
d*e = 1
und nun dividieren diese Gleichung durch e auf beiden Seiten
d = 1/e
d.i, ist d=e^-1
und nun kann das konkrete Beispiel praktisch entschüsselt werden.
wieso wird der RSA-Anwender mit dem ganzen theoretischen Zeug von Leonard Euler beim Enschlüsseln überfrachtet, das braucht er nicht, statt dessen die obige inverse Gleichung.
Gruß Wolfgang
RSA-Kryptosystem, Änderungsabsicht
BearbeitenHi,
liebe Kryptologe und Programmierer,
ich bitte um Entschuldigung für mein Abschnitt vom 02.04.23 06:45 Uhr, hab nicht gesehen, daß die Grundvoraussetzungen siehe https://www.britannica.com/topic/RSA-encryption,
nicht gegeben sind, vorallem "Wähle eine zu φ ( N ) varphi (N) teilerfremde Zahl e, für die gilt 1 < e < φ ( N ) − 1 1<e< (N)-1.
Das C-Programm sollte unterstützen beim Umwandeln der Nachricht in ASCII-Codes,
das ist viel mühsam, als die Schlüssel zu erzeugen und Codieren, ferner was soll die Funktion "getPublic", damit wird der Wert von φ(n) sodaß er zu e passt, na ja und wozu sollen
"Wir wählen p = 11 p=11 und q = 13 q=13 für die beiden Primzahlen", die multipliziert werden um den öffentlichen Schlüssel n zu berechnen, aus dem die φ(n)-Funktion
bezüglich e berechnet, das wird aber nicht in einer endlos laufender Schleife gemacht, sondern ganz hart mit φ(n) = n-1/e, dahin kommt der erweitert Euklidischer Algorythmus,
den der Leser ohne Programm durchführen soll,
ach aber nicht doch,
Die Auswahl der Primzahlen p&q aus einer Tabelle, die Berechnung von d&e, die Umwandlung der Nachricht Buchstaben für Buchstaben in ASII, deren codierung/decodierung
mithilfe e und d.
Und es reicht nicht, zu verschlüsseln, das Entschlüsseln ist bis zurück zur Nachricht in Buchstaben ein ebenso mühsamer Job.
Da mir als alter C- und HTML-Programmierer, fällt mir nicht schwer eine Android-App zu schreiben, die als Clien für SMS, WhatsApp, Outlook, Gmail, SKYPE fungiert,
eine richtige "Eierlegende Wollmilchsau", der Anwender muß sich einloggen, falls das Handy verloren geht, er legt einen Kontakt nur mit Namen und Telefonnummer, eMails,
SKYPE-eMail, der Anwender wählt aus einer Primzahlen-Tabelle p&q und e, bei Dateneingabe-Bestätigung, werden die "Secret Keys" und p*q ausgerechnet, der Kontakt kriegt
eine eMail mit den "Öffentlichen Keys", sowie der Telefonnummer, der SKYPE-eMail, die App erkennt beim Kontakt, daß es so eine Nachricht ist und identifiziert den Kontakt
anhand der eMail, falls es den Kontakt nicht gibt , wird er angelegt und die App trägt die Schlüssel beim Kontakt ein. Dieser Automatismus kann man in den Päferenzen abdrehen.
Übrigens habe ich diesen Beitrag in den drei Sprachen, die ich verstehe, Deutsch, Englisch, Französisch, Spanisch, angesehen, in jedem Artikel steht was anders, das ist in Wikipedia so,
sehr gut ist der englische, der aus dem Originalpapier der drei Mathematiker, wiedergibt, es war zu erst daran gedacht, den Decodierexponent aus d*e=(p-1)*(q-1) zu berechnen,
daraus, dann der Codierungsexponent e. Das ist die einzige Version des Artikels der mathematisch nach vollziehen lässt, sie enthält keine C-Programmierug,
ich würde diesen Artikel wortwörtlich unter Mitnahme der Gleichungen, übersetzen.
Darin wird auch die bekannte Geschichte von Alice und Bob erzählt, die kommt entweder von den Engländern Whitfield Diffie und Martin Hellman,
die ein Jahr vorher ein Verschlüsselung-System mit "Public Keys" Hellman oder von den drei Entwickler.
Ich möchte gerne auf die mathematischen Grundlagen eingehen, den Sätzen von Euler und Fermat, Euler hat sein Satz auf Deutsch 1880 publiziert, aber nicht einmal unsere
Mathe-Fakultäten kriegen die Brücke zu Rivest, Shamir, Adleman geschlagen, einer hat in seiner Verzweiflung die Geschichte von Alice und Bob abgewandelt,
bei dem verschlüsselt Alice mit einem Exponent den ihr Bob vorgegeben hat, nach dessen "Secret Keys".
Euler ist zwar in St. Petersburg geboren und hat seinen Satz in Bern publiziert, aber ich habe gedanklich ihn für uns Deutschen "vereinnahmt",
das Deutsche Wikipedia hat sehr schöne Beiträge über Euler und dessen Satz, darauf kann man hier Bezug nehmen und ganz ohne Kongruenzen und Algebra geht der "Brückenschlag"
nicht, um darzustellen, wie Rives & Shamir, Adleman hatte nur zu einem geringen Teil zu der Entwicklung beigetragen, darauf kamen, daß ihre Lösung zu einem Verschlüsselung-
Algorythmus führt, der trotz "Public Keys" relativ unangreifbar ist, ich drücke mich hier als alter "Code Cracker" so vorsichtig aus, weil eine unangreifbare Verschlüsselungs-Methode, seit der
Vatikan nach Kolumbus
Entdeckungsreise die verschlüsselten Botschaften des Spanischen Königshaus mitgelesen hat, das war äußerst brisant; denn die Spanier haben in Potosi, südwestlich der Hauptstadt
von Bolivien gewaltige Mengen Silber entdeckt, in Potosi wurde, in der Nähe von Potosi wurden die “Macuquinas” von 1575 - 1773 geprägt
(https://elpotosi.net/cultura/20160401_monedas-acunadas-en-potosi-y-la-ruta-que-tomaron-para-llegar-a-espana.html), wie hat der Vatikan die Botschaft des berühmten Karl V von
Deutschland und Carlos I von Spanien entschlüsselt, nun ja, die Spanische Krone verwendete die "monoalfabetische Substitution"
(https://de.wikipedia.org/wiki/Monoalphabetische_Substitution), d.h. jeder Buchstabe wird durch nur einen anderen ersetzt und durch Auszählen des Vorkommens der Buchstaben
läßt es sich schließen, welcher Buchstabe mit welchem ersetzt wurde, die Häufigkeit eines Buchstaben ist sprachabhängig, im Spanischen treten die Buchstaben A, O, E, S und R
am Häufigsten auf (https://www.abc.es/tecnologia/videojuegos/abci-letras-mas-probables-wordle-espanol-cada-posicion-202202111501_noticia.html), zum Entschlüsseln schreibt man den
Geheimtext Buchstabe für Buchstabe, zählt sie durch die Anzahl schreibt man darunter und darüber den wahrscheinlichen Klartext-Buchstaben, die nicht entzifferten Buchstaben
kann man aus dem Kontext erraten, was dann übrig bleibt müssen unter den nicht zugewiesenen Buchstaben gesucht werden, Kryptologie kann in Kreuzworträtsel ausarten, daher
haben die Briten zur Entschlüsselung der deutschen ENIGMA-Nachrichten, Leute, die gut Kreuzworträtsel lösen konnten, in Blechley Park eingestellt.
, "monoalfabetische Substitution kommt häufiger vor, als man glauben mag, das berühmte Geheimdienstverfaren mit irgend einem Buch, in dem man die Buchstaben des Klartext gesucht
werden und durch gezählt, der wievielte es ist, dieser Buchstabe, die Zahl kommt in den Geheimtext, RSA ist auch so ein "monoalfabetischer" Kandidat, von wegen mit riesigen
russischen in Assembler programmierten Rechner
den Decodierungexponent auszurechnen, na gut in Sibirien hat man genug Zeit und Strom dafür, aber die feine Rolex aus dem Internet-Versand ist mit dem "altvatikanischen" Verfahren
schneller am Handgelenk. --~~~~
. --Lobito060454 (Diskussion) 19:25, 6. Apr. 2023 (CEST)
- Wie lautet der Änderungsvorschlag für den Artikel? --Matthäus Wander 21:04, 6. Apr. 2023 (CEST)
- Hallo Matthäus,
- nicht so ungeduldig, lies erst einmal aufmerksam mein Post und die englische Version dieses Artikels, mach Dir aber keine Hoffnungen, ich werde beim Thema bleiben und nur auf den Einwand RSA sei unsicher weil buchstabenweise codiert wird, am Rande eingehen, Wikipedia ist kein "Programmierer-Forum", daher werden meinerseits hier keine "Code-Snipets" publiziert, ich bin in "Stackoverflow" und "Cuora" vertreten, wenn ich überhaupt irgendwo was über meine RSA-Android-App publizieren werden, dann da.
~~~~
--Lobito060454 (Diskussion) 09:54, 8. Apr. 2023 (CEST)
- Ich finde, es ist nicht zu viel verlangt, wenn man Aufmerksamkeit vom Leser fordert, erstmal die eigenen Gedanken zu sortieren, um verständlich zu formulieren: was ist die Kritik am Artikel und wie lautet der Verbesserungsvorschlag? Abschweifungen über Skype, das spanische Königshaus und die Enigma sind dazu nicht hilfreich. --Matthäus Wander 11:33, 8. Apr. 2023 (CEST)
p,q und phi(N)
BearbeitenDie Zahlen p,q und phi(N) werden nicht mehr benötigt und können nach der Schlüsselerstellung gelöscht werden. Es ist jedoch relativ einfach, diese Werte aus e,d und N zu rekonstruieren. p,q und phi(N) müssen geheim gehalten werden.
Ab "Es ist jedoch ...." ist es sachlich falsch. Genau auf der "nicht-Einfachheit" beruht die Sicherheit des Verfahrens. Ich habe es daher gelöscht. https://de.wikipedia.org/w/index.php?title=RSA-Kryptosystem&diff=next&oldid=248115500
--Rat (Diskussion) 21:03, 10. Dez. 2024 (CET)
- (e,N) ist der öffentliche und (d,N) der private Schlüssel. Mit Kenntnis des öffentlichen und privaten Schlüssels bietet das Verfahren keine Sicherheitszusagen. Dass p, q, phi(N) und d geheim gehalten werden müssen, ist nicht sachlich falsch. --Matthäus Wander 20:05, 11. Dez. 2024 (CET)
- So ist es. Darum habe ich die Änderung von Rat zurückgenommen. --RokerHRO (Diskussion) 09:21, 12. Dez. 2024 (CET)
- Da hatte ich wohl etwas zu schnell gelesen, sorry. Wahrscheinlich, weil es auf den ersten (und zweiten) Blick abwegig erscheint, p, q und phi(N) berechnen zu wollen, wenn man bereits alle Informationen (insbesondere d) hat, die man aus p, q und phi(N) gewinnen könnte.
- Für die Praxis ist interessant, dass man bei Kenntnis von p, q und phi(N) den Entschlüsselungsexponenten d aus e und N berechnen kann und deshalb diese drei Parameter am besten zu vernichten sind. Buchmann zeigt in seiner Einführung (4. Auflage, S141f), dass auch die Umkehrung gilt (aus d,e,N folgt p,q, phi(N)). Das ist eine mathematisch interessante Tatsache, hat aber nichts damit zu tun, dass man p, q und phi(N) nach der Schlüsselerzeugung wegwerfen oder geheimhalten sollte, wie man vielleicht durch das Wort "jedoch" annehmen könnte. Zumal danach noch einmal betont wird, dass p, q, phi(N) geheimzuhalten sind. Sollte man das "relativ einfache" Verfahren mit in den Artikel aufnehmen? Frohe Festtage allerseits! --Rat (Diskussion) 13:42, 24. Dez. 2024 (CET)
- So ist es. Darum habe ich die Änderung von Rat zurückgenommen. --RokerHRO (Diskussion) 09:21, 12. Dez. 2024 (CET)