| |
|
|
p.specht
| Vigenère ist im wesentlichen eine Caesar-Verschlüssellung, bei der die Rotationsweite aber vom zugeordneten Schlüsselbuchstaben bestimmt wird. War früher unknackbar, solange der Schlüssel mindestens so lang ist wie der zu verschlüsselnde Text, und auch nie mehr wiederverwendet wird. Dann wird er zum sog. One-pad Schlüssel - aber wie überträgt man dann den Schlüssel abhörsicher? Der müsste lange lange im Voraus bereits verteilt worden sein!
Windowstyle 24:Windowtitle "For your eyes only, Vigenere!":cls
declare a$,b$,c$,d$
'Schlüssel:
c$="Der kleine Vigenere!"
'a$="For your eyes only! 0123456789+-*: ?"
a$="":whileloop 0,255:a$=a$+chr$(&Loop):endwhile
Start:
font 2:print "\n Zu verschlüsselnde Botschaft: ":font 0:print a$
b$=""
whileloop len(a$)
b$=b$+chr$( (ord(mid$(a$,&Loop,1)) + ord(mid$(c$,(&Loop mod len(c$))+1,1))) mod 256)
endwhile
font 2:print "\n Chiffre: ":font 0:print b$
clearclip:putclip b$
font 2:print " ==> Zwischenablage!"
d$=""
whileloop len(b$)
d$=d$+chr$( (ord(mid$(b$,&Loop,1)) - ord(mid$(c$,(&Loop mod len(c$))+1,1))) mod 256)
endwhile
font 2:print "\n Dechiffriert: "
font 0:print d$
print
if a$<>d$:font 2:print "\n *** ERROR ***"
sound 2000,200:waitinput 100
sound 2000,200:waitinput 100
sound 2000,200:waitinput
else
print "\n OK."
endif
waitinput
cls
print "\n Ihre Geheimbotschaft: ";
Input a$:case a$="":end
goto "Start"
|
|
|
| XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 25.05.2021 ▲ |
|
|
|