Facharbeit RSA KNACKER

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
Luzandro
User
Beiträge: 87
Registriert: Freitag 21. April 2006, 17:03

Beitragvon Luzandro » Dienstag 9. Januar 2007, 19:52

Python 47 hat geschrieben:Sorry wenn ich dich enttäuschen muss, aber RSA an sich ist nahezu nicht knackbar. Du kannst einen MIM - Angriff starten, aber dann greifst du die Teilnehmer an, nicht RSA!

Ich kann dir gerne einen RSA Schlüssel geben, mal sehen ob du den entschlüsseln kannst *SCNR*


Ich vermute was er tun soll ist für einen relativ kurzen öffentlichen Schlüssel einen zugehörigen privaten berechnen, was ja grundsätzlich möglich ist, nur bei einer sinnvollen Schlüssellänge (wie der von deinem ;) ) eine Ewigkeit dauert, solange nicht irgendwer plötzlich ein geniales Verfahren zur Primfaktorzerlegung entdeckt...
bunower
User
Beiträge: 12
Registriert: Dienstag 9. Januar 2007, 14:11

Beitragvon bunower » Dienstag 9. Januar 2007, 20:13

wie ihr schon wisst braucht man bei rsa 2 schlüssel:
der erste ist der secret key
und der 2. ist der public key
...................................
jedes key besteht 2 zahlen.
eines der zahlen ist im public key und auch im secret key vorhanden.
bsp:

sk:157(ist unbekannt)=(2773,...)
pk: ist bekannt=(2773,17)
das grundproblem ist folgendes.
die 2773 besteht aus 2 primzahlen:
2773 = p*q
jetzt muss man nur noch das programm nach 2 primzahlen suchen lassen, die bei multiplikation miteinander die modulzahl 2773 bekommt.
in diesem fall 2773=47*59

jetzt kommt


φ=(p-1)*(q-1)
φ=46*58
φ=2668

und es gibt in diesem bereich eine formel die sieht so aus :
(d*e)modφ=1
jetzt:
2668 mod 2668 =0
nach der formel müssen wir ein raus haben also etwas rumprobieren
bei diesen zahlen ist es einfach:
2669 mod 2668 =1
2669 durch 17 die 2. zahlen in pk
2669/17 = 157

und 157 ist der sk

ich hoffe ich konnt es gut erklären bei kleineren zahlen geht es einfach aber grossen zahlen geht es nicht zumindest zurzeit nicht

ah noch ein tipp:um an p und q dran zu kommen zieht man aus der modulzahl 2773 die wurzel dann weiss man ungefähr in welchem bereich sich die primzahlen befinden
Zuletzt geändert von bunower am Dienstag 9. Januar 2007, 21:04, insgesamt 1-mal geändert.
"RESPEKT" ist die Wertvollste Währung, die man haben kann.
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Beitragvon birkenfeld » Dienstag 9. Januar 2007, 20:23

bunower hat geschrieben:ah noch ein tipp:um an p und q dran zu kommen zieht man aus der modulzahl 2773 die wurzel dann weiss man ungefähr in welchem bereich sich die primzahlen befinden


Warum müssen sie das? Wenn sich die Primzahlen immer in diesem Bereich (definiere "Bereich") befinden würden, wäre das Bruteforcen schon wieder einfacher. (Dass man nicht 2 hernimmt, ist ja klar :))
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
bunower
User
Beiträge: 12
Registriert: Dienstag 9. Januar 2007, 14:11

Beitragvon bunower » Dienstag 9. Januar 2007, 20:25

nein es ist halt ne möglichkeit wo man fangen könnte zu suchen
"RESPEKT" ist die Wertvollste Währung, die man haben kann.
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Beitragvon Sr4l » Dienstag 9. Januar 2007, 20:25

Wie Python 47 geschreiben hat sind die Daten mit dennen man startet von einem MIM Szenario.

Wenn man eine 3stellige Key erwartet, kann mein seine chanchen beschleunigen.
Benutzeravatar
Luzandro
User
Beiträge: 87
Registriert: Freitag 21. April 2006, 17:03

Beitragvon Luzandro » Dienstag 9. Januar 2007, 20:34

Sr4l hat geschrieben:Wie Python 47 geschreiben hat sind die Daten mit dennen man startet von einem MIM Szenario.

Nein, es ist nur der öffentliche Schlüssel, der bekannt sein muss
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Beitragvon Sr4l » Dienstag 9. Januar 2007, 20:38

bei einer P2P verbindung muss mir das doch nicht bekannt sein?
jetzt nur so als beispiel oder?
Benutzeravatar
Luzandro
User
Beiträge: 87
Registriert: Freitag 21. April 2006, 17:03

Beitragvon Luzandro » Dienstag 9. Januar 2007, 20:43

Sr4l hat geschrieben:bei einer P2P verbindung muss mir das doch nicht bekannt sein?
jetzt nur so als beispiel oder?


Da hast du trotzdem das Problem des Schlüsselaustauschs, was ja gerade der Vorteil von asymmetrischen Verfahren ist. Wenn du deinen öffentlichen Schlüssel höchstens jemandem persönlich überreichst, kannst du gleich ein symmetrisches Verfahren verwenden ;)
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Beitragvon Sr4l » Dienstag 9. Januar 2007, 20:49

man kann tausende sachen machen. du kannst dir auch selber was ausdenken selbst das sollte schon den kosten/ nutzen faktor sprengen ^^.
Ich wollte nur sagen das es dir nichts bringt den SecretKey zu haben wenn du keine Daten abfängst die du damit entschlüsselnb kannst ;-)
Bernhard
User
Beiträge: 136
Registriert: Sonntag 15. Januar 2006, 20:31
Wohnort: Greifswald
Kontaktdaten:

Beitragvon Bernhard » Dienstag 9. Januar 2007, 20:54

Auch wenn's off topic ist: Gibt es heute eigentlich noch Deutsch-Unterricht?

> ...2 primzahlen suchen lassen, die bei multiplikation miteinander die [..] 2773 bekommt.
Bekommt die Zahlen jetzt soviel oder bekommt die Zahlen weniger?

> ...eine formel die nennt sich
Das was dann folgt ist ein eher ungewöhnlicher Name für eine Formel

> jetz:
heißt das im rheinischen nicht "gezz"?

> aber grossen ziffern geht es nicht zumindest zurzeit nicht
Ich will gar nicht fragen, wie es den Ziffern geht, aber was sind große, was kleine Ziffern? Sind große größer als 5?

> nach der formel müssen wir ein raus haben
Der Inhalt dieser Zeile erschließt sich mir bis jetzt nicht.

Sorry, ich hasse es, wenn in Foren immer nur über die Shift-Taste und die Rechtschreibung gemeckert wird, aber in diesem Fall denke ich mehr über die Formulierung als über das Problem nach.

Besteht sein Problem wirklich im Folgenden:
1. Zwei Primzahlen finden, die miteinander multipliziert eine gegebene, kleine Zahl ergeben
2. Die beiden Primzahlen um eins verringern und miteinander multiplizieren
3. Herausfinden durch welche Zahl phi die Gleichung Zahl aus 2 MOD phi = 1 erfüllt wird
4. Diese Zahl phi aus 3. durch eine zweite gegebene Zahl (im Beispiel 17) dividieren
?

@bunower:
Welcher dieser vier Schritte fällt Dir bei der Programmierung in Python schwer?
Zuletzt geändert von Bernhard am Dienstag 9. Januar 2007, 20:56, insgesamt 1-mal geändert.
Python 47
User
Beiträge: 574
Registriert: Samstag 17. September 2005, 21:04

Beitragvon Python 47 » Dienstag 9. Januar 2007, 20:54

Hab mich bei jem. erkundigt, der das ganze noch besser als ich versteht:

Wenn es jem. schafft große Zahlen zu faktoriesieren, oder ohne Primfaktorzerlegung phi(n) zu berechnen ist RSA mit jeder Schlüssellänge ohne Probleme knackbar.

Information: Dark Squirrel(Bolt) Wie wollen ja den Author schon nennen. :wink:
Zuletzt geändert von Python 47 am Dienstag 9. Januar 2007, 21:04, insgesamt 1-mal geändert.
mfg

Thomas :-)
bunower
User
Beiträge: 12
Registriert: Dienstag 9. Januar 2007, 14:11

Beitragvon bunower » Dienstag 9. Januar 2007, 21:02

Bernhard hat geschrieben:Sorry, ich hasse es, wenn in Foren immer nur über die Shift-Taste und die Rechtschreibung gemeckert wird, aber in diesem Fall denke ich mehr über die Formulierung als über das Problem nach.

es ging eigentlich um das problem und nicht um die rechtschreibung.
ja es gibt noch deutsch unterrricht, ich weiss nicht ob du es mitbekommen hast.

und wenn du von anfang an gelesen hast, dann weisst du auch, dass ich neuling bin und alle dieser punkte mir ein problem bereitet
"RESPEKT" ist die Wertvollste Währung, die man haben kann.
BlackJack

Beitragvon BlackJack » Dienstag 9. Januar 2007, 21:11

Bernhard hat geschrieben:Auch wenn's off topic ist: Gibt es heute eigentlich noch Deutsch-Unterricht?


Falls das ein Problem für Dich darstellt, solltest Du sofort aufhören Webforen zu lesen. ;-)

Ich finde die Rechtschreibprüfung in Textfeldern im Konqueror ist eine tolle Erfindung. Sonst würde ich wohl auch ein paar schlimme Sachen hier reintippen. :-)

> aber grossen ziffern geht es nicht zumindest zurzeit nicht
Ich will gar nicht fragen, wie es den Ziffern geht, aber was sind große, was kleine Ziffern? Sind große größer als 5?


Das ist eine kleine Ziffer: 4 und das eine grosse: 2. War doch nicht schwer oder? ;-)
Bernhard
User
Beiträge: 136
Registriert: Sonntag 15. Januar 2006, 20:31
Wohnort: Greifswald
Kontaktdaten:

Beitragvon Bernhard » Dienstag 9. Januar 2007, 21:18

@Blackjack:
Danke für die Erklärung. Jetz weissen ich wem große Ziffer und wem kleine ziffern

@bunower

Dann versuch doch einfach die von mir geordneten 4 Punkte systematisch von 1 bis 4 abzuarbeiten.

Für die Eingabe ist raw_input() Dein Freund
Für die Liste der Primzahlen ist das "Sieb des Eratosthenes" Dein Freund. Siehe Dookies ersten Eintrag in diesem Thread http://www.python-forum.de/topic-1311.html .
Danach kannst Du die Primzahlen miteinander multiplizieren und schauen, ob sie Deiner Eingabe entsprechen und so weiter. Versuch doch mal, irgend etwas davon in Python zu machen und poste den Code.

Bernhard
bunower
User
Beiträge: 12
Registriert: Dienstag 9. Januar 2007, 14:11

Beitragvon bunower » Dienstag 9. Januar 2007, 21:21

ok werde ich machen aber heute geht es nicht mehr, weil ich noch andere hausaufgaben habe.
unter anderem auch deutsch :D
"RESPEKT" ist die Wertvollste Währung, die man haben kann.

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder