A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre. A középkorban használt titkosítási eljárások egyike a Cardano-rács. A titkosítandó szöveget ebben az esetben négyzet alakban rendezik el, a szöveg rejtjelezése és visszafejtése pedig az erre illeszkedő, megfelelő helyeken kivágott rostély ablakain keresztül történik. A szövegből a rácsban csak a betűk szerepelnek, az írásjelek és szóközök nem. A rostély egy-egy helyzetében a látható betűket sorfolytonosan kiolvassuk, a rostély háromszori körbefordításával a négyzet minden betűje felhasználásra kerül. (A dupla betűket két karakterrel kódoljuk, például GY helyett G és Y.) A módszer bemutatása az I. 201. feladatban szerepelt, érdemes belenézni a kitűnő mintamegoldásokba (https://www.komal.hu/feladat?a=feladat&f=I201&l=hu). Készítsünk programot, amely a Cardano-ráccsal történő rejtjelezést és visszafejtést végzi el:
1. | Olvassuk be és tároljuk el a Cardano-rácsot tartalmazó cardano.txt állományt, amely egy -os rostélyt tartalmaz. Az átlátszó rácspontokban 0 szerepel, a nem átlátszókban 1. |
2. | Készítsünk eljárást Forgat néven, amely lehetővé teszi a Cardano-rács fokos (vagyis az óramutató járásával egyező irányú) elforgatását. |
3. | Írassuk ki a képernyőre a megadott Cardano-rácsot, valamint annak fokos elforgatását. A két rács egymás alatt jelenjen meg. |
4. | A fenti mintán látható szöveget a titkos.txt fájl tartalmazza -os rácsokra bontva. Olvassuk be a fájl tartalmát, fejtsük vissza azt a megadott Cardano-rács segítségével a Forgat eljárás felhasználásával, majd a megfejtést sorfolytonosan írassuk ki a képernyőre. |
Ha a titkosítandó szöveg ,,egy négyzetnél'' hosszabb, akkor azt több négyzetre kell bontani. Ha nem tesz ki a szöveg utolsó része egy teljes négyzetet, akkor azt véletlenszerű karakterekkel töltik fel. A Cardano-rács alkalmazásával találkozhatunk Jules Verne: Sándor Mátyás c. könyvében is. A könyvben szereplő titkosítandó szöveget a nyilt.txt UTF-8 kódolású állomány tartalmazza. A könyvben a titkosítást két lépésben végezték, az alábbiakban ezt kell végrehajtani:
5. | Olvassuk be a nyilt.txt fájl tartalmát, majd fordítsuk meg a szöveget. A beolvasott, illetve a megfordított szöveget egyaránt írassuk ki a képernyőre. |
6. | A felcserélt karakterekből álló szöveget rejtjelezzük a megadott Cardano-rács alkalmazásával, és az eredményt -os rácsban ‐ a minta szerint ‐ írassuk ki a sandormatyas.txt fájlba. |
Beküldendő egy i504.zip tömörített állományban a program forráskódja és egy rövid leírás, ami megadja, hogy a forrásállomány melyik fejlesztői környezetben fordítható. Letölthető fájlok: cardano.txt, titkos.txt, nyilt.txt. |