next up previous contents
Nächste Seite: Buchstabenhäufigkeiten aus Textdateien ermitteln Aufwärts: Verschlüsseln und Entschlüsseln von Vorherige Seite: Verschlüsseln und Entschlüsseln von   Inhalt

Einen Klartext mit Verschiebechiffre verschlüsseln

Im Beispiel wird der Klartext aus einer Textdatei zeilenweise gelesen. Diese Zeile wird verschlüsselt und als Chiffretext in eine weitere Textdatei geschrieben.

import java.io.*;

public class caesar2 {

    static File klar;
    static File chiffre;
    static DataOutputStream chiffretext;

    public static void main (String args[]) throws IOException{

        String zeile;

        klar = new File(args[0]);
        chiffre = new File(args[1]);
        String verschiebung = args[2];
        try { 
            FileReader dateneingabestrom = new FileReader(klar);
            BufferedReader klartext = new BufferedReader(dateneingabestrom);
            FileOutputStream datenausgabestrom = new FileOutputStream(chiffre);
            chiffretext = new DataOutputStream(datenausgabestrom);
            zeile = klartext.readLine();
            while (zeile != null) {
                verschluessle(zeile, verschiebung);
                zeile = klartext.readLine();
            }
        }
        catch (IOException e) {
            System.err.println(e.toString());
        }
    }

    public static void verschluessle (String s, String a) {
        byte geheim[] = new byte[256];

        geheim = s.getBytes();
        for (int i=0;i<geheim.length;i++) {
            if (geheim[i]>90) geheim[i]-=32;
            geheim[i]+=Integer.parseInt(a);
            if (geheim[i]>=90) geheim[i]-=26;
        }
        try {
            for (int i=0; i<geheim.length; i++) chiffretext.write(geheim[i]);
            chiffretext.write('\n');
        }
        catch (IOException e) {
            System.err.println(e.toString());
        }
    }
}

Damit erhalten wir aus der Klartextdatei mit dem Inhalt

Dies ist ein Test: Informatik ist schön, sagt ein Informatiklehrer - und Lehrer lügen nicht, sagt der Lehrer.

die Chiffretextdatei mit dem folgenden Inhalt:

GLHV#LVW#HLQ#WHVW=#LQIRUPDWLN#LVW#VFKùQ/#VDJW#HLQ#LQIRUPDWLNOHKUHU#0#XQG#OHKUHU#OÿJHQ#QLFKW/#VDJW#GHU#OHKUHU1

Mit welcher Verschiebung wurde die Verschlüsselung durchgeführt?



Alfred Nussbaumer 2003-02-10