Opgave 10.3 Geheimschrift

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
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.

psd's

psd's

omslag 'Tijd voor COBOL Werkboek'

Serie: leerboeken informatica

Titel: Tijd voor COBOL 1 Werkboek

Auteur: Andree Hollander

naamlogo