Тести до теми "Шифрування даних"

Про матеріал

Тести до теми шифрування даних.

Тести розраховані на знання мови Паскаль, її основних функцій, синтаксису та знань ширфів Цезаря, Віженера, Полібіанського квадрата.

Перегляд файлу

Клас_________

Прізвище ______________________

1. Заповніть значення функції delete яка використовується у контексті алгоритму Віженера: While i<=length(s) do If s[i]=’ ’ then delete() else i:=i+1;

 а) (s,1,i);

 б) (s,i,1);

 в) (1,s,i);

 г) (i,s,1).

2. Встановіть правильну послідовність для алгоритму Віженера:

 а) до коду символу який необхідно зашифрувати, додаємо відповідний код ключа, та «замикаємо» алфавіт у кільце;

 б) розмножуємо ключ до довжини тексту;

 в) переводимо код у зашифрований символ;

 г) видаляємо пропуски;

Відповідь:

3. Оберіть функцію, яка визначає «символ з порядковим номером х»:

 а) pred(x);

 б) succ(x);

 в) chr(x);

 г) ord(x).

4. Оберіть функцію, яка є оберненою до функції ord(x):

 а) pred(x);

 б) succ(x);

 в) chr(x);

 г) inc(x).

5. Якщо застосувати функцію inc(i), то змінна i набуде значення:

а) i:=i+1;

 б) i:=i-1;

 в) i:=i*(i+1);

 г) i:=i/(i+1);

6. Оберіть функцію, яка визначає «порядковий номер символу х»:

 а) pred(x);

 б) succ(x);

 в) chr(x);

 г) ord(x).

7. Шифр Цезаря може бути виражений формулою y= (x+k) mod n. Оберіть відповідні позначення:

а) кількість символів у алфавіті;     1) y;

б) ключ;        2) x;

в) код даного символу;      3) k;

г) код зашифрованого символу;     4) n;

Відповідь:

8. Користуючись позначеннями попереднього завдання оберіть формулу для розшифровки шифру Цезаря:

 а) x= (y-k-n) mod n;

 б) x= (y+k+n) mod n;

 в) x= (y-k+n) mod n;

 г) x= (y+k-n) mod n.

9. Установіть правильну послідовність для алгоритму Цезаря:

 а) до коду даного символу додаємо ключ;

 б) видаляємо пропуски;

 в) переводимо код символу в символ;

 г) замикаємо алфавіт у «кільце».

Відповідь:

10. Установіть відповідність:

а) до коду даного символу додаємо ключ; 1) s[i]:=chr(n);

б) видаляємо пропуски;    2)If n>ord(’z’) then n:=ord(’a’)+n-ord(’z’)-1;

в) переводимо код символу в символ;  3) n:=ord(s[i]+3;

г) замикаємо алфавіт у «кільце».   4) If s[i]= ’ ’ then delete …

Відповідь:

11. Що потрібно поставити на пропущеному місці?

For i:=1 to length(s) do begin

n:=ord(s[i])-(ord(s2[i])-ord(’a’))-1;

if ____then___________;

s[i]:=chr(n);

end;

 а) n>ord(’a’) then n:=ord(’z’)+(ord(’a’)-n) mod 26-1;

 б) n<ord(’a’) then n:=ord(’z’)-(ord(’a’)-n) mod 26-1;

 в) n>ord(’a’) then n:=ord(’z’)-(ord(’a’)-n) mod 26+1;

 г) n<ord(’a’) then n:=ord(’z’)-(ord(’a’)-n) mod 26+1;

12. Яку назву має алгоритм описаний в попередньому завданні, та яку дію описує програмний код?

 а) алгоритм Віженера для шифрування;

 б) алгоритм Цезаря для розшифрування;

 в) алгоритм Віженера для розшифрування;

 г) алгоритм Полібіанського квадрату для розшифрування.

13. Яким чином зашифровується символ в алгоритмі Полібіанський квадрат?

 а) символ замінюється на символ, який знаходиться на строку вище;

 б) символ замінюється на символ, який знаходиться на строку нижче;

 в) символ замінюється на символ, який знаходиться на одиницю праворуч;

 г) символ замінюється на символ, який знаходиться на одиницю ліворуч.

14. Що потрібно поставити на пропущеному місці?

   For k:=1 to length(s1) do

For i:=1 to n do

For j:=1 to m do

If s1[k]=A[i,j] then B[1,k]:=A[ ___ ,j];

а) (i mod n)+1;

б) (j mod n) +1;

в) (i mod n) -1;

г) (k mod n) +1;

15. Розшифруйте повідомлення, зашифроване шифром Цезаря із зсувом 5: «ХШЖНПУТ ФКХКОЙКТ». (В алфавіті Е=Ë)

 а) РУБИКОН ПЕРЕЙДЕН;

 б) РУБИКОН ПРОЙДЕНО;

 в) РУВИКОН ПЕРЕЙДЕН;

 г) РУВИКОН ПРОЙДЕНО.

16. Установіть правильну послідовність алгоритму Шенона-Фано:

 а) розбити стовбець ймовірності на дві частини, так щоб сумарні ймовірності кожної частини були найбільш близькими один до одного;

 б) до кодів першої частини приписати 0, а кодам другої 1;

 в) записати літери і ймовірності їх появлення в повідомлені, так щоб ймовірності були у спадному порядку;

 г) продовжувати до тих пір поки в кожній групі залишиться по одному символу.

Відповідь:

17. Знайдіть помилку:

 а) for i:=1 to length(s) div length(s) +1 do …;

 б) s[i]:=A[i,j];

 в) if s[i]=’ ’ then begin …;

 г) n:=ord(’z’)+2;

18. Розшифруйте повідомлення «ongcfgjpm», якщо це повідомлення було зашифровано Полібіанським квадратом, який заповнений англійським алфавітом і при шифруванні символ мав одне зміщення на строку вниз і одне зміщення на стовбець праворуч.

 а) Ihaveagod;

 б) Ihaveapen;

 в) Ihaveadog;

 г) Ihaveason.

docx
Додано
31 травня 2020
Переглядів
790
Оцінка розробки
Відгуки відсутні
Безкоштовний сертифікат
про публікацію авторської розробки
Щоб отримати, додайте розробку

Додати розробку