Vigenère-kód

Már a XVI. században komoly titkosítási módszereket találtak ki az üzenetek elrejtésére. A század egyik legjobb kriptográfusának Blaise de Vigenère-nek a módszerét olvashatja a következőkben. A kódoláshoz egy táblázatot és egy ún. kulcsszót használt.

A tábla adatai a vtabla.txt fájlban találhatók.
ABCDEFGHIJKLMNOPQRSTUVWXYZ
BCDEFGHIJKLMNOPQRSTUVWXYZA
CDEFGHIJKLMNOPQRSTUVWXYZAB
...
Készítsen programot kodol néven a következő feladatok végrehajtására!
- A program megírásakor a felhasználó által megadott adatok helyességét, érvényességét nem kell ellenőriznie.
- A képernyőre írást igénylő részfeladatok eredményének megjelenítése előtt írja a képernyőre a feladat sorszámát!
- Ha a felhasználótól kér be adatot, jelenítse meg a képernyőn, hogy milyen értéket vár!
- Az ékezetmentes kiírás is elfogadott.
- Kérjen be a felhasználótól egy maximum 255 karakternyi, nem üres szöveget! A továbbiakban ez a nyílt szöveg.
1. feladat:
Nyílt szöveg: Ez a próba szöveg, amit kódolunk!
- Alakítsa át és írja ki a képernyőre az átalakított nyílt szöveget, hogy a későbbi kódolás feltételeinek megfeleljen! A kódolás feltételei:
- A magyar ékezetes karakterek helyett ékezetmenteseket kell használni. (Például á helyett a; ő helyett o stb.)
- A nyílt szövegben az átalakítás után csak az angol ábécé betűi szerepelhetnek.
- A nyílt szöveg az átalakítás után legyen csupa nagybetűs.
2. feladat:
Szöveg átalakítása: EZAPROBASZOVEGAMITKODOLUNK
- Kérjen be a felhasználótól egy maximum 5 karakteres, nem üres kulcsszót! A kulcsszó a kódolás feltételeinek megfelelő legyen! Alakítsa át a kulcsszót csupa nagybetűssé!
3. feladat:
Kulcsszó: auto
Kulcsszó nagybetűssé alakítása: AUTO
- A kódolás első lépéseként fűzze össze a kulcsszót egymás után annyiszor, hogy az így kapott karaktersorozat (továbbiakban kulcsszöveg) hossza legyen egyenlő a kódolandó szöveg hosszával! Írja ki a képernyőre az így kapott kulcsszöveget!
4. feladat:
Kulcsszöveg: AUTOAUTOAUTOAUTOAUTOAUTOAU
- A kódolás második lépéseként a következőket hajtsa végre! Vegye az átalakított nyílt szöveg első karakterét, és keresse meg a vtabla.txt fájlból beolvasott táblázat első oszlopában! Ezután vegye a kulcsszöveg első karakterét, és keresse meg a táblázat első sorában! Az így kiválasztott sor és oszlop metszéspontjában lévő karakter lesz a kódolt szöveg első karaktere. Ezt ismételje a kódolandó szöveg többi karakterével is!
- Írja ki a képernyőre és a kodolt.txt fájlba a kapott kódolt szöveget!
6. feladat:
Kódolt szöveg: ETTDRIUOSTHJEATAINDCDIEINE