H
H@ckinTosh
Gast
Hi,
wir haben im SEP-Kurs die Aufgabe erhalten eine Datei per RC4 zu verschlüsseln. Dabei sollen wir eine Klasse namens "RC4" verwenden, die eine Funktion zur Initialisierung der S-Box und eine zum Verschlüsseln eines Datenbytes enthält. Alle Dateioperationen sollen im Hauptprogramm erledigt werden. Alles was ich habe sind die S-Box als Pseudocode:
Der Algorithmus soll ein int-Array S der Größe 256 verwenden, lng steht für die Passwortlänge, mod für den Modulo-Operator.
Die Verschlüsselung als Pseudocode:
Im Hauptprogramm soll man nun Passwort und die Namen der Quell- und Zieldatei einlesen (die Datei liegt im Projektordner). Zum Lesen der Bytes soll eine Funktion get(), zum Schreiben eine Funktion put() verwendet werden. n und m sind Instanzvariablen der Klasse und sollen in der Initialisierungsfunktion auf 0 gesetzt werden.
Nun habe ich leider nahezu keinen Schimmer wie ich das alles in ein funktionierendes Programm bringen soll und wäre daher für tatkräftige Unterstützung sehr dankbar
Danke schonmal!
wir haben im SEP-Kurs die Aufgabe erhalten eine Datei per RC4 zu verschlüsseln. Dabei sollen wir eine Klasse namens "RC4" verwenden, die eine Funktion zur Initialisierung der S-Box und eine zum Verschlüsseln eines Datenbytes enthält. Alle Dateioperationen sollen im Hauptprogramm erledigt werden. Alles was ich habe sind die S-Box als Pseudocode:
Code:
Für i=0 bis 255
S[i] = 1
Setze j = 0
Für i=0 bis 255
j = (j + S[i] + Passwort[i mod lng]) mod 256
Vertausche S[i] und S[j]
Der Algorithmus soll ein int-Array S der Größe 256 verwenden, lng steht für die Passwortlänge, mod für den Modulo-Operator.
Die Verschlüsselung als Pseudocode:
Code:
Setze n = 0 und m = 0
Wiederhole für alle Nachrichten des Datenstroms
n = (n+1) mod 256
m = (m + S[n]) mod 256
Vertausche S[n] und S[m]
Zufallsbyte = S[(S[n] + S[m]) mod 256]
Verschlüsseltesbyte = Zufallsbyte XOR Datenbyte
Im Hauptprogramm soll man nun Passwort und die Namen der Quell- und Zieldatei einlesen (die Datei liegt im Projektordner). Zum Lesen der Bytes soll eine Funktion get(), zum Schreiben eine Funktion put() verwendet werden. n und m sind Instanzvariablen der Klasse und sollen in der Initialisierungsfunktion auf 0 gesetzt werden.
Nun habe ich leider nahezu keinen Schimmer wie ich das alles in ein funktionierendes Programm bringen soll und wäre daher für tatkräftige Unterstützung sehr dankbar
Danke schonmal!