K R Y P T O G R A F I E _ 1:
  • Schreiben mit unsichtbarer Tinte:
  • Die Nachrichten werden mit unsichtbarer Tinte
    (z. B. Zitronensäure) beschrieben.
    Um diese einfache Art der Kryptografie wieder sichtbar zu machen, wird mit Hilfe einer Kerze, das Blatt Papier erhitzt. Und schon kann man den verstecken Text lesen.
    "Wir treffen uns 00.00 Uhr hinter der Scheune"
  • Praktisch kann jeder diese Briefe lesen...
  • Sueton (C. Julius Caesar LVI):
    Exstant et [epistolae] ad Ciceronem, item ad familiares de rebus, in quibus, si qua occultius perferenda erant, per notas scripsit, id est sic structo litterarum ordine, ut nullum verbum effici posset; quae si qui investigare et persequi velit, quartam elementorum litteram, id est D pro A et perinde reliquas commutet.
  • Deutsch:
    Es existieren auch [Briefe von Caesar] an Cicero und an Bekannte über Dinge, in denen er, wenn etwas vertraulich übermittelt werden mußte, in Geheimschrift schrieb. D. h. er veränderte die Ordnung der Buchstaben derart, dass keine einziges Wort mehr ausgemacht werden konnte. Wenn jemand das entziffern und den Inhalt erkennen wollte, so mußte er den vierten Buchstaben des Alphabets, also D für A einsetzen und so mit den andern.
  • Klartext: a b c d e f g h i j k l m n o p q r s t u v w x y z
    Gecodet: D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
 
K R Y P T O G R A F I E _ 2:
  • Kodierung mit dem Vigenére-Quadrat:
    (Zur Vereinfachung des Verfahrens werden die Leerzeichen weggelassen)

    Nachricht: TODAYISGONNABETHEDAY
    Passwort: BCD

    Keyword : BCDBCDBCDBCDBCDBCDBC
    (Die Länge des Keywords ist abhängig von der Länge der zu kodierenden Nachricht.)

    Verfahren: (Kodierung)
    Der 1. Buchstabe des Keywords ist ein
    B und der 1. Buchstabe der Nachricht ist ein T, der 1. Buchstabe des kodierten Textes ist demzufolge der Buchstabe U. (X = B; Y = T)

    Der 2. Buchstabe des Keywords ist ein C und der 2. Buchstabe der Nachricht ist ein O, der 2. Buchstabe des kodierten Textes ist demzufolge der Buchstabe Q. (X = C; Y = O) usw.

    Gekodet : UQGBALTIROPDCGWIGGBA

    Verfahren: (DeKodierung)
    Der 1. Buchstabe des Keywords ist ein
    B und der 1. Buchstabe der kodierten Nachricht ist ein U, der 1. Buchstabe des dekodierten Textes ist demzufolge der Buchstabe T. (X = B; Y = U)

    Der 2. Buchstabe des Keywords ist ein C und der 2. Buchstabe der kodierten Nachricht ist ein Q, der 2. Buchstabe des kodierten Textes ist demzufolge der Buchstabe O. (X = C; Y = Q) usw.

    Dekodet : TODAYISGONNABETHEDAY

  • Vigenére-Quadrat:
  Keywordspalte - X
N
a
c
h
r
i
c
h
t
z
e
i
l
e

¦

Y
ABCDEFGHIJKLMNOPQRSTUVWXYZ
BCDEFGHIJKLMNOPQRSTUVWXYZA
CDEFGHIJKLMNOPQRSTUVWXYZAB
DEFGHIJKLMNOPQRSTUVWXYZABC
EFGHIJKLMNOPQRSTUVWXYZABCD
FGHIJKLMNOPQRSTUVWXYZABCDE
GHIJKLMNOPQRSTUVWXYZABCDEF
HIJKLMNOPQRSTUVWXYZABCDEFH
IJKLMNOPQRSTUVWXYZABCDEFHG
JKLMNOPQRSTUVWXYZABCDEFHGI
KLMNOPQRSTUVWXYZABCDEFHGIJ
LMNOPQRSTUVWXYZABCDEFHGIJK
MNOPQRSTUVWXYZABCDEFHGIJKL
NOPQRSTUVWXYZABCDEFHGIJKLM
OPQRSTUVWXYZABCDEFHGIJKLNN
PQRSTUVWXYZABCDEFHGIJKLMNO
QRSTUVWXYZABCDEFHGIJKLMNOP
RSTUVWXYZABCDEFHGIJKLMNOPQ
STUVWXYZABCDEFHGIJKLMNOPQR
TUVWXYZABCDEFHGIJKLMNOPQRS
UVWXYZABCDEFHGIJKLMNOPQRST
VWXYZABCDEFHGIJKLMNOPQRSTU
WXYZABCDEFHGIJKLMNOPQRSTUV
XYZABCDEFHGIJKLMNOPQRSTUVW
YZABCDEFHGIJKLMNOPQRSTUVWX
ZABCDEFHGIJKLMNOPQRSTUVWXY
 
Q U E L L C O D E:
  • {Pascal-Programm von Dipl.-Ing. Thomas Speiser}

    {Kryptographische nicht Lineare Verschiebung des zu kodierenden Textes}


    program Krypto;
    uses Crt, Dos;

    {Das Vigenére-Quadrat}
    const ABC: array[1..26,1..26] of char =
    (
    ('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'),
    ('B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A'),
    ('C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B'),
    ('D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C'),
    ('E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','D'),
    ('F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','D','E'),
    ('G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','D','E','F'),
    ('H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','D','E','F','G'),
    ('I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','D','E','F','G','H'),
    ('J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','D','E','F','G','H','I'),
    ('K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','D','E','F','G','H','I','J'),
    ('L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','D','E','F','G','H','I','J','K'),
    ('M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','D','E','F','G','H','I','J','K','L'),
    ('N','O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','D','E','F','G','H','I','J','K','L','M'),
    ('O','P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','D','E','F','G','H','I','J','K','L','M','N'),
    ('P','Q','R','S','T','U','V','W','X','Y','Z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O'),
    ('Q','R','S','T','U','V','W','X','Y','Z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P'),
    ('R','S','T','U','V','W','X','Y','Z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q'),
    ('S','T','U','V','W','X','Y','Z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R'),
    ('T','U','V','W','X','Y','Z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S'),
    ('U','V','W','X','Y','Z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T'),
    ('V','W','X','Y','Z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U'),
    ('W','X','Y','Z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V'),
    ('X','Y','Z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W'),
    ('Y','Z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X'),
    ('Z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y')
    );

    var i,a,s: integer;
    Quelle, Ziel, Passwort, Keyword: string;

    procedure keyword_create;
    begin
    keyword:='';
    repeat
    for i:=1 to length(passwort) do begin
    keyword:=keyword+passwort[i];
    if (length(keyword) = length(quelle)) then break; end;
    until (length(keyword) = length(quelle));
    writeLN('Keyword: ',keyword);
    end;

    procedure Kodieren;
    begin
    keyword_create;
    Ziel:='';
    for s:=1 to length(Quelle) do begin
    for i:=1 to 26 do
    for a:=1 to 26 do
    if (ABC[i,1] = Quelle[s]) and (ABC[1,a] = Keyword[s]) then Ziel:=Ziel+ABC[i,a];
    end;
    end;

    procedure DeKodieren;
    begin
    keyword_create;
    Quelle:=Ziel;
    Ziel:='';
    for s:=1 to length(Quelle) do begin
    for i:=1 to 26 do
    for a:=1 to 26 do
    if (ABC[i,a] = Quelle[s]) and (ABC[1,a] = Keyword[s]) then Ziel:=Ziel+ABC[i,1];
    end;
    end;

    begin
    Clrscr;
    writeLN('Vigenére-Quadrat verwendet von Thomas Speiser');
    writeLN;
    write('Zu kodierende Buchstaben eingeben: ');readLN(Quelle);
    for i:=1 to length(Quelle) do Quelle[i]:=Upcase(Quelle[i]);
    write('Passwort eingeben: ');readLN(Passwort);
    for i:=1 to length(Passwort) do Passwort[i]:=Upcase(Passwort[i]);
    Kodieren;
    writeLN('Der kodierte Text nach dem Vigenére-Quadrat ist: ',Ziel);
    DeKodieren;
    writeLN('Der dekodierte Text nach dem Vigenére-Quadrat ist: ',Ziel);
    ReadLN;
    end.
< Zurück > Homepage & Programme von Dipl.-Ing. Thomas Speiser Copyright MMX