• Herzlich Willkommen!

    Nach der Schließung von inDiablo.de wurden die Inhalte und eure Accounts in dieses Forum konvertiert. Ihr könnt euch hier mit eurem alten Account weiterhin einloggen, müsst euch dafür allerdings über die "Passwort vergessen" Funktion ein neues Passwort setzen lassen.

    Solltet ihr keinen Zugriff mehr auf die mit eurem Account verknüpfte Emailadresse haben, so könnt ihr euch unter Angabe eures Accountnamens, eurer alten Emailadresse sowie eurer gewünschten neuen Emailadresse an einen Administrator wenden.

RSA hilfe!!!

magge20031990

Guest
Moin,
passend zu meinem thread über ASCII kommt hier einer über RSA:rolleyes:
also hier mein problem: meine Aufgabe ist es, "FOSBOS Straubing" mit dem RSA Verfahren zu ver-/ und rückzuschlüsseln.
Ich habe jetzt also den ausdruck mit der ASCII tabelle in hex und dez umgeschrieben:
HEX: 46 4F 53 42 4F 53 4F 53 5F 53 74 72 61 75 62 69 6E 67
DEZ 70 79 83 66 79 83 95 83 116 114 97 117 98 105 110 103

für die verschlüsselung brauche ich ja nur die DEZ (,oder?). jetzt habe ich nachgelesen, dass die nachricht in 4er-Blöcke aufgeteilt werden muss. werden die einzelnen blöcke dann verschlüsselt und gibt es dann auch mehrere nachrichten die ich an Alice schicke? [==> m1; m2; ...]
ausserdem sind ja manche buchstaben 3-stellig in DEZ. wie verschlüssle ich diese am besten?

meine frage lautet also: wie verschlüssle ich diesen kompletten ausdruck?

danke schon ma im vorraus

mfg magge
 
mit 4er-Blöcken ist gemeint, den Ausgangsstring zu unterteilen:
somit erhältst du die Blöcke:
"FOSB","OS S","trau" und "bing"
Die Blöcke werden jeweils einzeln und unabhängig voneinander verarbeitet.
Ob du jetzt nun HEX-Schreibweise oder DEZ-Schreibweise verwendest ist eigentlich Jacke wie Hose, da beides immer die selben Werte darstellt, nur die Schreibweise ist eben anders.
Beispiel für den ersten Block:
der Wert von "FOSB" ist
'F' + (256*'O') + (256*256*'S') + (256*256*256*'B')
oder in DEZ:
70 + (256*79) + (256*256*83) + (256*256*256*66)
oder in HEX:
0x46+0x4F00+0x530000+0x42000000 = 0x42534F46

darauf dann den RSA-Algorythmus angewand, und dann ab nach Alice.

für die anderen Blöcke gilt natürlich das selbe in Grün
 
Müsstest Du in dez nicht mal 100 nehmen (Quadrat der Basis = 10² = 100) anstelle von 256 (=hex²), denn was du da so schön mit 256*256*256 schreibst, heisst ja nix anderes als dass du die Stellen quasi wie einen String verkettest (bei hex macht das sinn mit 256, weil dass einfach zwei angehaengetn FF entspricht).
...ok, in umgekehrter Reihenfolge ;-)

@OP: Das Board heisst schon "hilfe" es muss nicht im Topic wiederhoilt werden... ;-)


:hy:
 
Nur um die verbesserung von ph.0.nix richtig zu verstehen...
du meinst also dass bei DEZ stehen müsste:
m = 70*10^0 + 79*10^1 + 83*10^2 + 66*10^3
==> m = 75160
richtig so?

mfg magge
 
das Ausgangsmaterial IST ein String.
und jeder Teilstring ist dadurch auch nichts weiteres als eine Aneinanderkettung von 4 Bytes.
Damit hat automatisch jedes einzelne Zeichen die Basis 256 (Ausnahme 16-Bit-Unicode, dann wäre die Basis 65536, oder man verwendet eine spezielle Transform-Tabelle, das müsste dann aber explizit in der Aufgabe stehen)
mit welchem Zahlenformat jedes einzelne Zeichen dann für sich dargestellt wird ist dagegen allerdings belanglos.
man könnte für den ersten Teilstring genauso auch schreiben:
'F' + (256*'O') + (0x100*256*83) + 0x42000000
=0x42534F46 = 1112756038 = "FOSB"(little endian) = "BSOF"(big endian)
 
hm. is mir leider noch nicht so ganz klar

was ich nicht verstehen an: 'F' + (256*'O') + (0x100*256*83) + 0x42000000
ist zum einem, dass du bei O nicht nur *256 sonder auch noch *100 schreibst, und auch was dieses 0x bedeutet weis ich nicht :confused:
zum anderem, wie du bei B auf die 42000000 kommst?? (von dem sich wiederholenden 0x mal abgesehen)

wär nett wenn du mir deinen gedankengang etwas näher erläutern könntest

mfg magge
 
Ok, vergiss meinen letzten Post, das was ich meinte stand dort nicht wirklich...
Und es da noch rein zu bringen bringt nur alles noch mehr durcheinander ;)

Mit "0x" wird gekennzeichnet dass es sich um einen hexadezimalen Wert handelt.

256[dez] ist also das selbe wie 0x100[hex] (oder 0400[okt]).
 
achso.
das ist mir dann klar, und ich bedanke mich dafür gleich mal recht herzlich.
bleibt noch die frage, was es mit den 42000000 und dem faktor 100 bei S auf sich hat :confused:

mfg magge
 
betrachten wir mal die Klammern für sich:
(256*256*83)
und
(256*256*256*66)

wie ph.0.nix ja schon erläutert hatte, steht das 0x vor der Zahl dafür, dass der folgende Rest eine Hexadezimalzahl (Basis16) ist.
dadurch gilt:
256=0x100

Der Faktor ist also NICHT 100, sonder 0x100 und damit 256

um zu verdeutlichen, dass die verwendete Basis zur Zahlen-Darstellung belanglos ist für den zu repräsentierenden Wert, habe ich das einfach ersetzt:
(256*256*83)=(0x100*256*83)

für den letzten wert gilt das gleiche:

66=0x42
256=0x100
=> (256*256*256*66)=(0x100*0x100*0x100*0x42)
=(0x1000000*0x42)=0x42000000

daraus folgt eben, dass:
70 + (256*79) + (256*256*83) + (256*256*256*66)
exakt gleich
'F' + (256*'O') + (0x100*256*83) + 0x42000000
ist
 
ah jetzt hab ich das verstanden :rolleyes:
ich denke, dass ich jetzt sämtliche nötigen informationen gesammelt habe.
ich danke euch beiden für die tatkräftige unterstützung.
vll folgt noch ein thread, obwohl ich das eher weniger glaube,

also nochmals danke :kiss: und einen guten rutsch ins neue jahr

mfg magge
 
Zurück
Oben