Hallo,
ich wüsste gerne ob bei einem asymetrischen Verschlüsselungsverfahren z.B. RSA bei Kenntniss des private-key der public-key mit vertretbarem Aufwand ermittelt werden kann. Der verwendete Verschlüsselungsalgorithmus und der Keypair-Generator dürfen dabei bekannt sein.
ich wüsste gerne ob bei einem asymetrischen
Verschlüsselungsverfahren z.B. RSA bei Kenntniss des
private-key der public-key mit vertretbarem Aufwand ermittelt
werden kann. Der verwendete Verschlüsselungsalgorithmus und
der Keypair-Generator dürfen dabei bekannt sein.
Bei RSA ist das einfach wenn man generierende Paar kennt. Jedes Programm, das RSA-Schluesselpaare erzeugt macht das.
Bei RSA sind public und private key symmetrisch zueinander, d.h. man koennte sie genau so gut umkehrt benutzen.
ich wüsste gerne ob bei einem asymetrischen
Verschlüsselungsverfahren z.B. RSA bei Kenntniss des
private-key der public-key mit vertretbarem Aufwand ermittelt
werden kann.
Nein.
Der private Schlüssel ist ja (e,N) und der öffentliche Schlüssel (d,N), wobei e*d = 1 mod phi(n) ist.
Ob du davon e oder d kennst, spielt keine Rolle, die Multiplikation ist schließlich kommutativ.
ich wüsste gerne ob bei einem asymetrischen
Verschlüsselungsverfahren z.B. RSA bei Kenntniss des
private-key der public-key mit vertretbarem Aufwand ermittelt
werden kann.
Du bist ein Scherzkeks. Nein, das ist nicht möglich, und auf ebendieser Unmöglichkeit beruht ja gerade das Verschlüsselungssystem.
Der verwendete Verschlüsselungsalgorithmus und
der Keypair-Generator dürfen dabei bekannt sein.
Die Algorithmen sind immer alle bekannt. Man kann ja keinen verbergen. Schließlich muss der Anwender das Verschlüsselungsprogramm auf seinem PC ausführen, und was dieses Programm tut, kann er immer herausbekommen – im worst case durch Analyse seines Binärcodes (in der Praxis zwar haarig, aber prinzipiell immer durchführbar). Es kommt aber noch besser: Der Anwender wird in der Regel ein „richtiges“ Verschlüsselungsprogramm nur akzeptieren, wenn er auch dessen Quellcode (!) zur Verfügung hat. Nur dann kann er sicher sein, dass das Programm frei von eventuell darin „versteckten Hintertüren“ ist – weil er den Quellcode daraufhin prüfen und selbst compilieren kann.
Die Sicherheit eines Codes basiert immer auf der Unkenntnis des Schlüssels, nie auf der Unkenntnis der Verschlüsselungsalgorithmen (bzw. wenn doch, dann ist das System Nonsens).
Bei RSA ist das einfach wenn man generierende Paar kennt.
Jedes Programm, das RSA-Schluesselpaare erzeugt macht das.
Interessant. Kannst Du das mal irgendwie erklären? Ich habe nämlich den Verdacht, dass das kompletter Unsinn ist.
Bei RSA sind public und private key symmetrisch zueinander,
d.h. man koennte sie genau so gut umkehrt benutzen.
Eben. Und wenn man Dir glauben schenkte, könnte man bei Kenntnis des einen den anderen Berechnen. Wäre wohl ein ziemlich sinnloses Verfahren, wenn das ginge.
Bei RSA ist das einfach wenn man generierende Paar kennt.
Jedes Programm, das RSA-Schluesselpaare erzeugt macht das.
Interessant. Kannst Du das mal irgendwie erklären? Ich habe
nämlich den Verdacht, dass das kompletter Unsinn ist.
Um RSA-Schlüssel zu generieren wählt man zwei Primzahlen p und q.
Der Schlüssel besteht dann aus N = p * q, einer weiterem Primzahl e (ich glaube es reicht auch schon, wenn die teilerfremd zu N ist, bin mir aber nicht sicher) und einer weiteren Zahl f, die eine Funktion von e, p und q ist.
f(e, p, q) ist leicht zu berechnen. Wenn man p und q nicht kennt, sondern nur N und e, ist sie schwer zu berechnen. Darauf beruht die Sicherheit von RSA.
Wenn man f, p, und q kennt, kann daraus genauso leicht e berechnen wie umgekehrt.
Bei RSA sind public und private key symmetrisch zueinander,
d.h. man koennte sie genau so gut umkehrt benutzen.
Eben. Und wenn man Dir glauben schenkte, könnte man bei
Kenntnis des einen den anderen Berechnen.
Nur wenn man p und q kennt, die ich oben salopp das „genrierende Paar“ genannt habe. Deswegen schmeisst man p und q nach der Genrierung des Schlüssels weg.
Wäre wohl ein
ziemlich sinnloses Verfahren, wenn das ginge.
Hallo,
danke für eure Infos.
Mich wundert nur das der privat-Key insbesondere bei RSA wesentlich länger ist als der public-key. Ich dachte daher das im privat-key mehr Infomationen stecken als im public-key. Insbesondere ist mir auch aufgefallen das die beiden keys in weiten Teilen identische Sequenzen haben. Dies ist übrigens nicht nur bei RSA so sondern auch beim Elgamal-Verfahren.
Aber wenn Ihr euch sicher seid das das alles so in Ordnung ist bin ich beruhigt.
Mich wundert nur das der privat-Key insbesondere bei RSA
wesentlich länger ist als der public-key.
Vermutlich ist die Größe, die dir da angezeigt wird, nicht nur der eigentliche Key, sondern auch jede Menge Verwaltungsinformationen.
In einem Keyring von gpg werden z.B. in der „private key“ Datei auch noch der Public key mit gespeichert.
Ich dachte daher das
im privat-key mehr Infomationen stecken als im public-key.
Tun sie ganz sicher bei RSA nicht.
Insbesondere ist mir auch aufgefallen das die beiden keys in
weiten Teilen identische Sequenzen haben. Dies ist übrigens
nicht nur bei RSA so sondern auch beim Elgamal-Verfahren.
Aber wenn Ihr euch sicher seid das das alles so in Ordnung ist
bin ich beruhigt.