Je land is in oorlog en je vijanden maken gebruiken van gecodeerde boodschappen om met elkaar te communiceren. Je bent er echter in geslaagd om volgende boodschap te onderscheppen:
:mmZ\dxZmx]Zpgy
Deze boodschap is duidelijk gecodeerd aan de hand van de geheime code van je vijanden. Je spionnen hebben ontdekt dat deze geheime code gebruik maakt van de ASCII tabel en coderings algoritme. Meer specifiek worden de boodschappen geencrypteerd door gebruik te maken van het volgende algoritme:
IF(orgineelKararakter + sleutel > 126) versleuteldKarakter = 32 + ((orgineelKararakter + sleutel) -127) ELSE versleuteldKarakter = (orgineelKararakter + sleutel)
Schrijf een programma dat je kan gebruiken voor het decoderen van een boodschap. Je weet enkel dat er een sleutel wordt gebruikt tussen 1 en 100. Je mag er van uitgaan dat de originele boodschap enkel bestaat uit ASCII codes die kunnen worden uitgeprint. Je programma zal de gecodeerde boodschap proberen decoderen aan de hand van alle mogelijke sleutels. Uit de gegenereerde lijst zal blijken welke sleutel werd toegepast en zal je bijgevolg ook de gedecodeerde boodschap kunnen afleiden.
In dit voorbeeld gebruiken we de geheime boodschap Ro$ wat Hey is met sleutel 10.
Geef de geheime code: Ro$
Hierbij nog wat uitleg over de Dodona-testen voor deze oefening: