[Veranschaulichung des Public-Key-Verfahrens]

KRYPTOLOGIE

Einstiegsaufgabe Lösung Aufgabe 4

[Veranschaulichung des Public-Key-Verfahrens]

Lösung Aufgabe 4:

public class CaesarOO {
 public static void main(String[] args) {
   Satz satz = new Satz();
   String codewort = "";

   System.out.println
    ("Caesar-Ver-/Entschlüsselung");
   satz.einlesen();
   satz.verschluesseln("2");
   System.out.println("Verschlüsselt:     ");
   satz.ausgeben();
   satz.entschluesseln("2");
   System.out.println("Entschlüsselt:     ");
   satz.ausgeben();
   }
 }

 class Satz {
  private String satz;

  public Satz() {
    this.satz = "Startsatz";
  }

  public void einlesen() {
   System.out.println
    ("Bitte Satz eingeben:");
   this.satz =
    System.console().readLine();
   }

  public void ausgeben() {
   System.out.println(this.satz);
  }

  public void verschluesseln
              (String codewort) {
   char buchstabe;
   int asciizahl;
   int stelle = 0;
   int versatz =
    (int)codewort.charAt(0) - 48;
   String verschluesselter_satz = "";

   while (stelle < this.satz.length()) {
    buchstabe =
     this.satz.charAt(stelle);
    asciizahl = (int)buchstabe;
    asciizahl = asciizahl + versatz;
    buchstabe = (char)asciizahl;
    verschluesselter_satz =
     verschluesselter_satz + buchstabe;
    stelle = stelle + 1;
    }

   this.satz = verschluesselter_satz;
   }

  public void entschluesseln
              (String codewort) {
   char buchstabe;
   int asciizahl;
   int stelle = 0;
   int versatz =
    (int)codewort.charAt(0) - 48;
   String entschluesselter_satz = "";

   while (stelle < this.satz.length()) {
    buchstabe =
     this.satz.charAt(stelle);
    asciizahl = (int)buchstabe;
    asciizahl = asciizahl - versatz;
    buchstabe = (char)asciizahl;
    entschluesselter_satz =
    entschluesselter_satz + buchstabe;
    stelle = stelle + 1;
    }

  this.satz = entschluesselter_satz;
  }
 }
 

Lösung Aufgabe 4:

	
public class CaesarOO {

 public static void main(String[] args) {
   Satz satz = new Satz();

   String codewort = "";

   System.out.println("Caesar-Ver-/Entschlüsselung");
   satz.einlesen();
   satz.verschluesseln("2");
   System.out.println("Verschlüsselt:     ");
   satz.ausgeben();
   satz.entschluesseln("2");
   System.out.println("Entschlüsselt:     ");
   satz.ausgeben();
   }
 }

 class Satz {
  private String satz;

  public Satz() {
    this.satz = "Startsatz";
  }

  public void einlesen() {
   System.out.println("Bitte Satz eingeben:");
   this.satz = System.console().readLine();
   }

  public void ausgeben() {
   System.out.println(this.satz);
  }

  public void verschluesseln(String codewort) {
   char buchstabe;
   int asciizahl;
   int stelle = 0;
   int versatz = (int)codewort.charAt(0) - 48;
   String verschluesselter_satz = "";

   while (stelle < this.satz.length()) {
    buchstabe = this.satz.charAt(stelle);
    asciizahl = (int)buchstabe;
    asciizahl = asciizahl + versatz;
    buchstabe = (char)asciizahl;
    verschluesselter_satz = verschluesselter_satz + buchstabe;
    stelle = stelle + 1;
    }

   this.satz = verschluesselter_satz;
   }

  public void entschluesseln(String codewort) {
   char buchstabe;
   int asciizahl;
   int stelle = 0;
   int versatz = (int)codewort.charAt(0) - 48;
   String entschluesselter_satz = "";

   while (stelle < this.satz.length()) {
    buchstabe = this.satz.charAt(stelle);
    asciizahl = (int)buchstabe;
    asciizahl = asciizahl - versatz;
    buchstabe = (char)asciizahl;
    entschluesselter_satz = entschluesselter_satz + buchstabe;
    stelle = stelle + 1;
    }

  this.satz = entschluesselter_satz;
  }
 }