Архив задач

2020 [11] Сеть LOR в1

Один студент решил создать свою анонимную сеть с шифрованием и виртуальными тоннелями и назвал её LOR.

 3в1_1.png

Рисунок. Схема сети LOR

 

Нод – узел сети LOR, способный принимать данные, расшифровывать и передавать их.

Чтобы отправить данные, клиент три раза шифрует их особым методом. Далее зашифрованная информация передается входному ноду, который расшифровывает её один раз. После этого данные отправляются на промежуточный нод, который так же расшифровывает их один раз. Далее промежуточный нод отправляет данные выходному ноду, который расшифровывает их третий раз, получая данные уже в открытом виде. После этого данные в открытом виде отправляются получателю.

Используемая функция шифрования:

E(x) = (ax + b) mod m,         где

x – номер шифруемого символа (см. таблицу),

a и b – ключи, при этом a и m должны быть взаимно простыми (НОД(a, m) = 1, a < m),

m – количество символов в алфавите (m = 30).

 

A

B

C

D

E

F

G

H

I

J

K

L

M

0

1

2

3

4

5

6

7

8

9

10

11

12

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

13

14

15

16

17

18

19

20

21

22

23

24

25

.

,

(пробел)

 

 

 

 

 

 

 

 

 

26

27

28

29

 

 

 

 

 

 

 

 

 

 

При первом шифровании ключ a выбирается так, чтобы a и m были взаимно простыми (НОД(a, m) = 1, a < m).

При втором и третьем шифровании ключ a равен номеру первого зашифрованного символа сообщения, полученного после применения шифрования. Если номер первого зашифрованного символа не является взаимно простым к m, то в качестве ключа a берется ближайшее большее число, удовлетворяющее правилу. Если такого числа нет (например, номер символа равен 30), то в качестве ключа используется значение 1.

 

Для расшифрования используется другая функция:

D(x) = a-1(E(x) - b) mod m,  где

a-1 – число, обратное a по модулю m (a * a-1 = 1 mod m). При этом, число a-1 так же удовлетворяет условию: НОД(a-1, m) = 1, a-1 < m.

 

Расшифруйте отправленное клиентом сообщение, если известно, что b = 5 на всех нодах, а исходное сообщение заканчивается символом “.”. В ответе укажите исходное сообщение, а также ключи шифрования входного, промежуточного и выходного нода.

 

Перехваченное сообщение от клиента:

YMXNDXNDYMJDJS L