[Veranschaulichung des Public-Key-Verfahrens]

KRYPTOLOGIE

in der Sekundarstufe I

[Veranschaulichung des Public-Key-Verfahrens]

Pseudocode des
Vigenère - Verfahrens

Damit ergibt sich aus dem Pseudocode des Caesar-Verfahrens durch eine relativ kleine Erweiterung der Pseudocode des Vigenère - Verfahrens:


PROZEDUR verschluesseln
	  (satz, codewort)
  buchstabe <-- ""
  codebuchstabe <-- ""
  asciizahl <-- 0
  codeasciizahl <-- 0
  verschluesselter_satz <-- ""
  
  stelle <-- 0
  codestelle <-- 0
  WIEDERHOLE SOLANGE 
   stelle < satzlaenge IST
    buchstabe <-- satz[stelle]
    codebuchstabe <-- 
       codewort[codestelle]

    asciizahl <-- 
     ASCII-Zahl des Buchstabens
    codeasciizahl <-- 
     ASCII-Zahl des Codebuchstabens

    asciizahl <-- 
      asciizahl + codeasciizahl-64
    buchstabe <-- 
      Zeichen gemäss ASCII-Zahl

    verschluesselter_satz <-- 
       verschluesselter_satz 
		   + buchstabe

    stelle <-- stelle + 1
    codestelle <-- codestelle + 1
    
    FALLS 
     codestelle=Länge des Codeworts  
     DANN codestelle <-- 0
    ENDE von FALLS

  ENDE von WIEDERHOLE
  
  satz <-- verschluesselter_satz
ENDE der PROZEDUR verschluesseln

Pseudocode des Vigenère - Verfahrens


PROZEDUR verschluesseln(satz, codewort)
  buchstabe <-- "" ;  codebuchstabe <-- ""
  asciizahl <-- 0 ;  codeasciizahl <-- 0
  verschluesselter_satz <-- ""
  
  stelle <-- 0
  codestelle <-- 0
  WIEDERHOLE SOLANGE stelle < satzlaenge IST
    buchstabe <-- satz[stelle]
    codebuchstabe   codewort[codestelle]

    asciizahl <-- ASCII-Zahl des Buchstabens
    codeasciizahl <-- ASCII-Zahl des Codebuchstabens

    asciizahl <-- asciizahl + codeasciizahl - 64
    buchstabe <-- Zeichen gemäss ASCII-Zahl

    verschluesselter_satz <-- verschluesselter_satz + buchstabe

    stelle <-- stelle + 1
    codestelle <-- codestelle + 1

    FALLS codestelle = Länge des Codeworts  
      DANN codestelle <-- 0
    ENDE von FALLS
  
  ENDE von WIEDERHOLE
  
  satz <-- verschluesselter_satz
ENDE der PROZEDUR verschluesseln

Die Entschlüsselungsroutine unterscheidet sich nur durch eine Subtraktion der Code-ASCII-Zahl von der ASCII-Zahl von der Verschlüsselungsprozedur.