Szyfr Vigenère'a

Najważniejsze informacje dotyczące szyfrowania oraz deszyfrowania wiadomości za pomocą szyfru Vigenère'a oraz jego implementacji w języku Java znajdziesz w następujących e‑materiałach:

W tej sekcji rozwiniesz – przygotowany wcześniej – projekt o nową funkcję. Będzie nią możliwość zaszyfrowania wiadomości za pomocą szyfru Vigenère'a. Implementacja nowej funkcji odbędzie się w dwóch etapach – w ramach dwóch osobnych ćwiczeń. Pierwsze z nich dotyczy utworzenia poprawnej tablicy Vigenère'a – jak na rysunku poniżej. Natomiast drugie – implementacji osobnej funkcji, wykorzystującej utworzoną tablicę do szyfrowania za pomocą szyfru Vigenère'a.

Ponieważ dotychczasowe funkcje szyfrowania i deszyfrowania operują na wielkich literach, szyfrowanie za pomocą szyfru Vigenère'a również będzie się na nich opierać. W związku z tym tablica szyfrowania ma składać się z wielkich liter.

RYAW9oNbiThQB
Źródło: Contentplus.pl Sp. z o.o., Tablica Vigenère'a, licencja: CC BY-SA 3.0.
11
Pokaż ćwiczenia:
21
Ćwiczenie 1

Do istniejącego programu dopisz wnętrze funkcji wypelnijTabele(), tak aby wypełniła tablicę tabela (o wymiarach 26 na 26), zgodnie z tablicą Vigenère'a. Przetestuj działanie, wypisując zawartość kolejnych wierszy tabeli.

Specyfikacja:

Wynik:

Program na standardowe wyjście wypisuje zawartość kolejnych wierszy tabeli Vigenère'a (każdy od nowej linii).

Rus9nBwJKOUjj
Wybierz jedno nowe słowo poznane podczas dzisiejszej lekcji i ułóż z nim zdanie.
31
Ćwiczenie 2

Wykorzystując zaimplementowaną wcześniej tablicę, napisz funkcję, która będzie dokonywała szyfrowania zadanego słowa dla wprowadzonej wartości klucza, przy użyciu algorytmu Vigenère'a. Wyjście programu powinno się zgadzać z przedstawionym wyjściem. Komentarze „brakujący kod” sugerują, gdzie mają zostać dokonane zmiany. Działanie programu przetestuj, szyfrując słowo „PROGRAM” dla klucza „KLUCZ”.

Specyfikacja:

Dane:

  • kluczVigenere – klucz, którym zaszyfrowana zostanie zmienna tekst; ciąg znaków

  • tekst – słowo do zaszyfrowania; ciąg znaków

Wynik:

Program na standardowe wyjście wypisuje zaszyfrowane słowo.

Przykładowe wyjście:

Linia 1. Jaką operację chcesz wykonać otwórz nawias okrągły wybierz odpowiednią liczbę 1 minus 3 zamknij nawias okrągły znak zapytania. Linia 2. 1 kropka Szyfrowanie. Linia 3. 2 kropka Deszyfrowanie. Linia 4. 3 kropka Zakończ program. Linia 5. Wybrana operacja dwukropek 1. Linia 6. Wybierz algorytm. Linia 7. 1 kropka Szyfr Cezara. Linia 8. 2 kropka Szyfr płotkowy. Linia 9. 3 kropka Szyfr Vigenere apostrof a. Linia 10. Wybrany algorytm dwukropek 3. Linia 11. Slowo do zaszyfrowania dwukropek PROGRAM. Linia 12. Ciąg znaków pełniący rolę klucza szyfrującego dwukropek KLUCZ. Linia 13. ZCIIQKX.
R3wLdhFLoW1fh
Wybierz jedno nowe słowo poznane podczas dzisiejszej lekcji i ułóż z nim zdanie.