SZUKAJ NA TYM BLOGU

Zadanie 2. Szyfr kolumnowy (0–6) ()

Szyfrowanie kolumnowe jest jedną z metod szyfrowania przestawieniowego, polegającego na zmianie kolejności znaków w szyfrowanym tekście. W tej metodzie jest wykorzystywana tabela o dodatniej liczbie wierszy równej k. Liczba k jest nazywana kluczem. Wiersze i kolumny tabeli są numerowane liczbami naturalnymi, począwszy od 1. Znaki tekstu, który ma być zaszyfrowany, wpisujemy do kolejnych kolumn tabeli, zaczynając od jej lewego górnego rogu. W kolumnach nieparzystych znaki wpisujemy od góry do dołu, a w parzystych od dołu do góry. Puste miejsca w ostatniej rozpoczętej kolumnie wypełniamy znakiem „_” oznaczającym spację. Następnie odczytujemy kolejne wiersze od góry do dołu (każdy z nich od lewej do prawej), w wyniku czego uzyskujemy szyfrogram.

Przykład: dla klucza k=3 i tekstu MATURA_Z_INFORMATYKI budujemy tabelę:

 M  A  _  F  O  Y  K 
 A R Z N R T I
 T U _ I M A _

i otrzymujemy szyfrogram MA_FOYKARZNRTITU_IMA_.

Zadanie 2.1. (0–2)

Do zaszyfrowania pewnego 40-znakowego cytatu z wypowiedzi Juliusza Cezara użyto metody szyfru kolumnowego o kluczu 10. Otrzymano szyfrogram:

NKI_ATE_USGACYOKZZ_YYSJTCWEKI_SAEMTRLE_P

Rozszyfruj ten cytat.

Odpowiedź: ..................................................................................................

Zadanie 2.2. (0–4) 

W wybranym przez siebie języku programowania, w pseudokodzie lub w postaci listy kroków, napisz algorytm deszyfrujący tekst, który został zakodowany szyfrem kolumnowym. 

Specyfikacja:
 Dane:
  k – klucz, liczba całkowita większa od 0
  n – liczba znaków w tekście zaszyfrowanym, n jest wielokrotnością k
  S[1..n] – ciąg znaków (tekst do odszyfrowania)
 Wynik:
  T[1..n] – ciąg znaków (tekst odszyfrowany) 

Algorytm: 

1.

2.1

Za poprawne odszyfrowanie – 2 punkty
Za odpowiedź z jednym błędem - 1 punkt
Odpowiedź:
NAUCZYCIELEM_WSZYSTKIEGO_JEST_PRAKTYKA

2.2

Za poprawny algorytm – 4 punkty,
w tym:
− za poprawne przestawianie wskaźnika elementu początkowego dla pętli wewnętrznych (po wykonaniu pętli wewnętrznej +1) – 1 punkt
− za poprawne indeksowanie komórek przy nieparzystej iteracji (zwiększanie o P) – 1 punkt
− za poprawne indeksowanie komórek przy nieparzystej iteracji (zmniejszanie o P) – 1 punkt
− za poprawny kierunek indeksowania pętli odczytujących – 1 punkt 

Przykładowe rozwiązanie:
P←n/k;
W←0;z←P;
 dla i=1, ..., P wykonuj
 W←W+1;
 dla j=1 ... k wykonuj
  T←T+S[W]; W←W+z;
 W←W-z;
 z←z*(-1);

Źródła:

Arkusz: https://egzamin-informatyka.blogspot.com/2021/07/arkusz-min-r11p-193.html

Zasady oceniania: https://egzamin-informatyka.blogspot.com/2019/07/zasady-oceniania-min-r11p-193-i-min.html