MezData-Logo Creative Commons License 209 Lösungen Button :PI-BLUEJ: SecretBox

 Geheimnis-Box

Eine Geheimnis-Box soll entwickelt werden:

SecretBox
- key: Text
- info: Text
+SecretBox(k:Text, i:Text)
+getInfo(k:Text):Text
public class SecretBox{
  private String key,info;  // key und info sind nur innerhalb der Klasse zugreifbar
  public SecretBox(String k, String i){ // Konstruktor kann jeder aufrufen
    key = k;
    info = i;
  }
  public String getInfo(String k){  // get-Methode kann jeder aufrufen
    if (key.equals(k)) return info; // wenn key = k
    return "Falscher Schluessel";
  }
}

Ein SecretBox-Objekt hat einen Schlüssel-Text und die geheime Information. Nur wenn der Parameter k bei getInfo(k:Text) mit dem gespeicherten Schlüssel key übereinstimmt wird die Info zurück gegeben.

Implementieren und testen Sie die Klasse.

Caesar-Kryptographie

Um die Information zu schützen soll sie verschlüsselt werden mit der Caesar-Verschlüsselung.
Dabei wir die Information "abba" z.B. um drei Buchstaben verschoben zu "deed"

Entwickeln Sie die Hilfs-Operation -c-krypt(s:Text):Text die verschlüsselt (+3 Zeichen).

Entwickeln Sie die Hilfs-Operation -c-dekrypt(s:Text):Text die den Text wieder entschlüsselt.

Kryptographie mit Umordnung

Kryptographie mit Buch (One-Time-Pad)