Упражнения

Коды, исправляющие ошибки

1. Найти расстояние Хемминга между двумя последовательностями сигналов:
a) u=101010101010
v=000100100100
б) u=11111111
v=00000000

2. Составить 2 кодовых слова с расстоянием Хемминга между ними:
а) Рх=3
б) Рх=10

3. Пусть закодированы 2 слова "апельсин" -- 0000000, "банан"-- 1111111. Сколько ошибок может исправить декодирующее устройство, чтобы сообщение было принято правильно?

4. Закодировать "Саша" и "Петя" таким образом, чтобы декодирующее устройство могло исправить любые 3 ошибки.

5. Декодирующее устройство приняло сообщение "Приз". Мы знаем, что сообщение декодировано верно. Декодирующее устройство исправляет не более 2 ошибок. Какой последовательностью было закодировано слово "Приз", если декодирующее устройство приняло кодовое слово 11100?

Канал связи с подслушивающим устройством

6. Закодируйте :
а) 0
б) 1
При кодировании используйте необходимые правила.

7. Какое число (0 или 1) было закодировано последовательностью:
а) Y=10101111001111000111100001
б) Н=10100110100110110001100111

8. Известно, что канал связи ведущий к подслушивающему устройству, работает с вероятностью ошибки р0=0,5. Найти скорость передачи сообщения, при которой подслушивающий остается в полном неведении.

9. Известно, что мы можем передать сообщение с любой скоростью ниже 0,2 не опасаясь "утечки" информации. Какова вероятность ошибки подслушивающего устройства?

Традиционная криптография

10. Известен ключ -- 1001001110111101110. Закодировать последовательность 1001110011100111001 для передачи по каналу связи.

11. Известен ключ -- 1111001101110010110. Раскодировать последовательность 1001110011100111001, принятую по каналу связи.

12. Известна переданная последовательность 1111100000, известна принятая последовательность 0101010101. Найти ключ, при помощи которого было закодировано сообщение.

13. Составить любую последовательность и любой ключ. Последовательность закодировать и передать соседу вместе с ключом. Принятую от соседа, последовательность раскодировать при помощи полученного ключа. Правильность дешифровки проверить вместе с соседом.

Коды, обнаруживающие подлог

14. Получена лента на которой напечатано "Х=000101001111 Z=111111111111" мы знаем функцию Ф, которая прибавляет к последовательности Х ключ К=100011101100 без переноса в старший разряд. Проверить истинность сообщения Х.

15. Пусть мы имеем 10 сообщений и 36 различных ключей. Какова вероятность успешного подлога сообщения.

16. Сколько необходимо иметь ключей, чтобы вероятность успешного подлога не превышала 0.001?

Криптосистемы с общественным ключом

Односторонние функции

17. Пусть нам требуется передать сообщение Х=0011100111. Мы имеем одностороннюю функцию f (Х)=111111000010110+Х (сложение ведется по mod2 без переноса в старший разряд). Закодировать данное сообщение для передачи по каналу связи (использовать одностороннюю функцию f).

18. В памяти ЭВМ хранятся значения Р от паролей (односторонняя функция из задачи 17) Х1=111111111111111, Х2=110111001001001, Х3=111111110011001. Пользователь вводит пароль:
а) 0110001111,
б) 1110110000.
Имеет пользователь право доступа к ЭВМ или нет?

19. Предложить свою одностороннюю функцию и закодировать для передачи по каналу связи число 112 (представив его в нужной форме).

Функции с закрытыми дверями

20. Пусть нам известна функция Е(х)=000001110110101+х и обратная для нее D(x)=1110110101+х (используя эту функцию нужно предварительно отнять у числа 5 первых цифр). Закодировать произвольное сообщение и отдать соседу. Принятое сообщение декодировать, используя обратную функцию. Правильность дешифровки проверить в паре.

21. Мы приняли сообщение S=1010111001001001. Была использована при шифровке функция Е(х) или нет (сообщение принято верно)?

23. Предложить свои функции Е(х) и D(х) и закодировать любое сообщение.


Содержание