RSA - Blockverschlüsselung

Daniel91

New member
Hallo, ich bins schon wieder=)
Ich versuche RSA mit einer Blockverschlüsselung in Java zu programmieren. Das verschlüsseln habe ich hingebracht, beim Verschlüsseln stellts an.
Ich kann meine Frage am besten an einem Beispiel erklären:
Ich will "asdf" verschlüsseln. Die Blocklänge, die ich schon zu Beginn gewählt habe soll 3 Zeichen umfassen.
Ich habe nun a=69, s=87, d=72, f=74 (ASCII-Code, ich habe sie in einem int array gespeichert)
Somit ergibt sich für den ersten Block B1=728769 und B2=74
Wenn ich beide Blöcke nun seperat verschlüssle mit(p=991, q=997, e=2^16+1=65537 -> n=988027, d=919313) ergibt es
B1crypt=381618 und B2crypt=11488
Aus diesen beiden Blöcken mache ich nun einen String
messagecrypt=38161811488
Ist es nun möglich zu wissen, wo ich diesen String messagecrypt unterteilen muss, damit ich wieder die originalen aber verschlüsselten Blöcke erhalte, um diese dann zu entschlüsseln und somit die Nachricht zu entschlüsseln?
Wenn ja wie?
Wenn nein, was müsste ich ändern, damit ich trotzdem eine Blockverschlüsselung mit dem RSA-Algorithmus und beliebiger Blocklänge hinbringe?
mfg daniel
 

Elderan

Moderator
Hallo,
deine Blöcke, sowohl die Eingabe als aus die Ausgabe, müssen eine feste Länge besitzen, z.B. 3 Bytes. Kürzere Blöcke muss man dann evt. entsprechend auffüllen.


Dann kannst du den Geheimtext einfach nach 3 Bytes teilen und wieder entschlüsseln.

Hier die Dezimaldarstellung zu verwenden ist schlecht. Lieber immer als in Hex durchdenken und dann sieht man schnell wie es geht
 
Oben