Hallo ich habe eine Aufgabe die ich zum Thema verschlüsseln nicht lösen kann: (aufgabe b):
In einer Schlange sind 100 zufällig generierte Zahlen gespeichert.
− Verschlüssele den nächsten Buchstaben des Wortes mit der ersten Zahl in der
Schlange analog zur Caesarverschlüsselung.
− Ist die Zahl eine gerade Zahl (x mod 2=0), so hänge die nachfolgende Zahl direkt
ans Ende der Schlange an und hänge anschließend die Zahl selbst an die Schlange
an.
− Ist die Zahl eine ungerade Zahl(x mod 2=1), so hänge das doppelte der Zahl an
das Ende der Schlange und hänge anschließend die Zahl selbst an die Schlange an.
− Wiederhole das Verfahren, bis der gesamte Text verschlüsselt ist.
Augabe a (hab ich geschafft):
Führe den beschriebenen Algorithmus an folgendem Beispiel aus: Klartext: „Hallo“
Queue: 3-4-9
Notiere nach jedem Verschlüsselungsdurchlauf die aktuelle Schlange.
Lösung:
H:3-4-9-6-3
a: 4-9-6-3-9-4
I: 9-6 -3 - 9-4-18-9
I: 6- 3- 9-4-18-9 - 3- 6
0:3-9-4-18-9 -3-6- 6-3
augabe b (wobei ich Hilfe brauche):
Schreibe die Methode „public String verschluesseln()“, die den
beschriebenen Algorithmus durchführt und den Chiffretext zurück gibt. Eine Implementierung der Klasse findest du im Anhang. Du darfst die Klasse Zahl wie die Klasse Integer betrachten.
anhang:
In einer Schlange sind 100 zufällig generierte Zahlen gespeichert.
− Verschlüssele den nächsten Buchstaben des Wortes mit der ersten Zahl in der
Schlange analog zur Caesarverschlüsselung.
− Ist die Zahl eine gerade Zahl (x mod 2=0), so hänge die nachfolgende Zahl direkt
ans Ende der Schlange an und hänge anschließend die Zahl selbst an die Schlange
an.
− Ist die Zahl eine ungerade Zahl(x mod 2=1), so hänge das doppelte der Zahl an
das Ende der Schlange und hänge anschließend die Zahl selbst an die Schlange an.
− Wiederhole das Verfahren, bis der gesamte Text verschlüsselt ist.
Augabe a (hab ich geschafft):
Führe den beschriebenen Algorithmus an folgendem Beispiel aus: Klartext: „Hallo“
Queue: 3-4-9
Notiere nach jedem Verschlüsselungsdurchlauf die aktuelle Schlange.
Lösung:
H:3-4-9-6-3
a: 4-9-6-3-9-4
I: 9-6 -3 - 9-4-18-9
I: 6- 3- 9-4-18-9 - 3- 6
0:3-9-4-18-9 -3-6- 6-3
augabe b (wobei ich Hilfe brauche):
Schreibe die Methode „public String verschluesseln()“, die den
beschriebenen Algorithmus durchführt und den Chiffretext zurück gibt. Eine Implementierung der Klasse findest du im Anhang. Du darfst die Klasse Zahl wie die Klasse Integer betrachten.
anhang:
Java:
import java.util.Random;
public class Verschluesselung{
private Queue<Zahl> key;
Random zufallsZahl;
String klartext;
public Verschluesselung(){
key = new Queue<Zahl>();
zufallsZahl = new Random();
klartext="Hallo";
for(int i=0;i<100;i++){
key.enqueue(new Zahl(zufallsZahl.nextInt(100)));
}
}
public String verschluesseln(){
//implementiere dein Verschlüsselungsverfahren
return null; //Bitte ändern!
}
Java:
public class Zahl {
}
private int x;
public Zahl(int pX){ x = pX;
public int getZahl(){ return x;
}
public void setZahl(int pX){ x=pX;
} }
Zuletzt bearbeitet: