a inleiding
In kringen van CIA, KGB, BVD en 007 gebruikt men geheimschrift voor het
overbrengen van berichten. De bekendste vorm van een gecodeerde boodschap
is het vervangen van elke letter door de letter die een vast aantal plaatsen
verder of terug in het alfabet voorkomt:
FKV KU VG OCMMGNKLM (C=A)
In wezen is de coderingsmethode die het onderwerp is van deze opgave vorm,
ook op deze manier van verplaatsen gebaseerd. Maar er is een aantal extra
complicerende bewerkingen toegevoegd. Daardoor is de boodschap zonder computer
bijna niet te decoderen.
b lettertabel
Een letter uit de boodschap wordt niet vervangen door de letter die
een bepaald aantal plaatsen terug in het alfabet voorkomt, maar door de letter
die een bepaald aantal plaatsen eerder voorkomt in een lettertabel. Die lettertabel
heeft 26 elementen en bevat de letters van het alfabet in deze volgorde:
Q W E R T Y U I O P A S D F G H J K L Z X C V B N M
Als de verplaatsing 2 bedraagt, dan stelt een T in werkelijkheid een E voor; een X is een L. De tabel wordt 'rondlopend' gedacht: het begin zit aan het eind vast. Vóór de Q komt dus de M. Een W in het geheimschrift stelt de letter M voor, als de verplaatsing 2 bedraagt.
c boodschap
Een gecodeerde boodschap bestaat uit zinnen van maximaal 80 tekens, waarin
de spaties tussen de woorden vervangen zijn door leestekens. In de boodschap
zelf komen leestekens niet voor. Elk zin is opgedeeld in drie gedeelten die
van elkaar gescheiden zijn door een scheidingsteken. Voorafgaand aan de decodering
moet eerst de volgorde van de drie delen (1, 2, 3) veranderd worden in 3,
2, 1.
d sleutel
Bij elke zin hoort een sleutel waarin op ingewikkelde manier informatie
is opgeslagen over de decoderingswijze van de bijbehorende zin. De sleutel
heeft een lengte van 18 posities. De eerste drie tekens hebben een bijzondere
betekenis. De resterende 15 posities zijn verdeeld in een onbelangrijk deel
dat verder geen rol speelt en een belangrijk deel.
Voorbeeld van een sleutel:
/ B A E A A K B C G A D A F H E P /
Aan deze sleutel kan de volgende informatie ontleend worden:
e decoderingsproces
Achtereenvolgens moet het volgende gebeuren:
f bestanden
g uitvoer
Op de printer komen telkens vier regels:
Indien bij het lezen van de sleutel het einde van het bestand wordt bereikt, dan moet het programma worden beëindigd nadat op het standaarduitvoermedium de volgende boodschap is geplaatst:
Oneven aantal records!
h voorbeelden van zinnen en hun bijbehorende sleutel
OTFTXKO+BDPCJDKNA=KWCOENLO+RPJTL=FT?CO NONONONONONONONOVI M/M7ESD;RRM5ATPPO2FRT7BZSQQR/JRRZ7DVJRBRMOMHR /DRIE.EENDEEIEREN. KCEZZQF4NSF5XFDZIC6FS7YSDWZFSI%BSIK%CS1UZCBZXFSI2AZDSI3 %?/-!/?//=///+//// Q+YAQGEQ+PQ+KOQ/MXAUT?ZOPUTETQ?XPTST EEN TEVREDEN KLANT HO;JPOHV5DR2XIP;ZIBHHP3LIOJ+IR%VIVIR7IBVH3NI%GHVPIR;XSR%VFL 3052+3057-5155=954 S0MH0SCT0PBS1EHK1MBTIS0AHZTKHIMH0NVZXKWBNKH IJKLJKKKKKKKKKKKKK FFP4XGKR?ICP;FFP+RFBLECPH!PPFP/RFXFRV6FP8!PLFHV?DFGB+MFGFB?BCP;HLFP%HL !!--!---!----!----
i programmastructuurdiagrammen
De werking van het programma is neergelegd in schema's.