Иван написал Егору сообщение и закодировал, используя таблицу 1.
Таблица 1
№ |
символ |
код |
№ |
символ |
код |
№ |
символ |
код |
1 |
а |
010 |
12 |
к |
100 |
23 |
х |
110101 |
2 |
б |
000 |
13 |
л |
0111100 |
24 |
ц |
110110 |
3 |
в |
011000 |
14 |
м |
0111101 |
25 |
ч |
110111 |
4 |
г |
011001 |
15 |
н |
0111110 |
26 |
ш |
111000 |
5 |
д |
101 |
16 |
о |
0111111 |
27 |
щ |
111001 |
6 |
е |
011010 |
17 |
п |
110000 |
28 |
ъ |
111010 |
7 |
ё |
011011 |
18 |
р |
001 |
29 |
ы |
111011 |
8 |
ж |
0111000 |
19 |
с |
110001 |
30 |
ь |
111100 |
9 |
з |
0111001 |
20 |
т |
110010 |
31 |
э |
111101 |
10 |
и |
0111010 |
21 |
у |
110011 |
32 |
ю |
111110 |
11 |
й |
0111011 |
22 |
ф |
110100 |
33 |
я |
111111 |
В результате была получена последовательность бит открытого текстаO(i), i=1,…,33. Затем произвёл преобразование S(i) = (O(i) + S(i - 1)) mod 2,S(0)=0 (см. рис. 3).В результате чего была получена последовательность бит шифрованного текста S(i), i=0,…,33:
0011111110011000011001100000001100.
Какое сообщение Иван написал Егору?
Рис. 3. Схема преобразования закодированного сообщения
Согласно схеме шифрования i-ый бит исходного открытого сообщения O(i) равен сумме (S(i) +S(i-1)) mod 2 для i>0. Учитывая, чтоS(0) = 0 и S(1)= O(1) получаем последовательность бит открытого сообщения i=1,…,33
010000001010100010101010000001010.
Воспользуемся таблицей кодов. Ни один символ не закодирован 0 и 01. Последовательность бит 010 соответствует символу а. Последующие три бита 000 – символу б. Рассуждая аналогично получаем:
010 – а
000 – б
001 – р
010 – а
100 – к
010 – а
101 – д
010 – а
000 – б
001 – р
010 – а,
Таким образом, было закодировано слово абракадабра.