Blockchiffrierung

Hallo liebe Community,

wir habvens grad in der schule und ich komm echt nicht klar drauf.

Und zwar soll ein programm entwickelt werden (C++) welches einen Text mit einem Passwort mit der Blockchiffrierung verschlüsselt.
das ganze soll dann auch wieder entschlüsselbar sein mit dem passwort.

ich komme da leider kein bisschen weiter, kann mir jemand helfen?
 
Hier
gibt es eine gute Darstellung wie so eine BLockchiffirierung auszusehen hat.

Wie du siehst musst du dann den Text in Blöcke unterteilen und das diese einzeln durch einen Algo schicken. Könntest ja zum Beispiel die Blöcke von der Länge des Passwort abhängig machen und dann irgendwie den Block mit dem Passwort verrechnen.
Is zwar nicht sehr sicher, aber is auch nur eine Übung.

MFG
Ace
 
dann solltest du dir aber mal gedanken machen und diese hier dann posten, genauso wie auch deine bisherigen ergebnisse. es wird hier nämlich schon ein gewisses maß an eigeninitiative erwartet und bei dir klingt es derzeit so, als wenn du gerne eine fertige lösung hättest. außerdem raten wir nicht so gerne, wo es bei dir hängen könnte, so dass man dir wirklich helfen könnte

wenn du die bc bereits verstanden hast, dann wirst du diese ja auf einem zettel schonmal per hand durchspielen können vermute ich.
dann solltest du dir jetzt eine grobe aufteilung deines programmes überlegen, also aufrufende funktionen, verschlüsselungsfunktion, entschlüsselungsfunktion, mögliche helferfunktionen und dann schonmal das grundgerüst davon aufschreiben.

an dieser stelle hast du nun kleinere blöcke zu bearbeiten. du fängst also z.b. mit der verschlüsselung und arbeitest dich so zu dem fertigen programm voran.

wenn du dort dann speziellere fragen hast wird dir hier sicher gerne geholfen, aber jetzt bist du erstmal dran, etwas zu liefern
 
der unterschied von strom und blockverschlüsselungen ist ja die permutation innerhalb des blocks. mach noch eine einfache schlüsselabhängige permutation (zB, wenn der letzte buchstabe des passwortes ein A ist, drehe einfach den keystream um, ansonsten teile den block zu 3 teilen auf und drehe die einzelnen teile rum.) Allerdings musst du natürlich auch noch substituieren. :)

wichtig ist, dass die permutation schlüsselabhängig ist, sonst kannst du sie den hasen geben. und zur blockimplementierung. Wenn dein Block 8 Zeichen lang ist, nehme 8 Zeichen, verschlüssele diese, und nehme die nächsten 8 Zeichen. Wenn keine 8 Zeichen mehr da sind, musst du unterscheiden:
gar keine zeichen mehr da: Ende.
zwischen 1 und 7 Zeichen da, fülle mit nullen oder randombytes den block bis auf 8 zeichen auf und verschlüssele wieder.
 
Zurück
Oben