Исходное сообщение, состоящее из букв русского алфавита  
и знака пробела (-) между словами, преобразуется в  
цифровое сообщение заменой каждого его символа парой цифр  
согласно следующей таблице:  
 


 
 
Для зашифрования полученного цифрового сообщения используется  
отрезок некоторой последовательности с периодом  
1 4 7 6 5 6 3 6 9 0 1 6 3 6 5 6 7 4 9 0 (при этом неизвестно, 
с какого места начинается последовательность).  
При зашифровании каждая цифра сообщения складывается  
с соответствующей цифрой отрезка и  
заменяется последней цифрой полученной суммы.  
Восстановите сообщение:  
2339867216458160670617315588 
  
(Задача с сайта www.cryptography.ru.)


			
Для того, чтобы найти исходное сообщение, найдем сначала  
цифровое сообщение, полученное из него с помощью таблицы замены.  
Согласно этой таблице на нечетных местах цифрового образа  
исходного сообщения могут быть только цифры 0, 1, 2 и 3.  
Последовательно рассматривая эти значения для каждого  
нечетного места цифрового сообщения с использованием  
соответствующей цифры шифрованного сообщения,  
найдем соответствующие варианты значений цифр  
шифрующего отрезка. Для этого вычислим остатки от деления  
разностей цифр шифрованного и варианта цифрового сообщений:  


порядковый номер места1357911
1315171921232527
шифрованное сообщение S(k) 2  3  8  7 
 1  4  8  6  6  0  1  3 
 5  8 
 вариант 0 для Г(k)  2  3  8  7  1
 4  8  6  6  0  1  3 
 5  8 
вариант 1 для Г(k)  1  2  7  6  0 
 3  7  5  5  9  0   2 
 4  7
вариант 2 для Г(k)  0  1  6  5  9 
 2  6  4  4  8  9  1 
 3  6 
 вариант 3 для Г(k)  9   0  5  4  8 
 1   5  3  3  7  8  0 
 2   5

 
По условию последовательность, из которой выбран  
шифрующий отрезок, является периодической с периодом 20.  
Из таблицы вариантов значений цифр шифрующего отрезка  
видим, что 5-я его цифра может быть  
равна 5, 6, 7 или 8, а его 25-я цифра - 2, 3, 4 или 5.  
Отсюда получаем, что Г5=Г25=5.  
На периоде последовательности, из которой выбран шифрующий отрезок,  
есть две цифры 5: C5 и C15 
(на 5-ом и 15-ом местах).  
Поэтому рассмотрим два случая.  
Если Г5=C5, то Г7=C7=3.  
Это противоречит таблице вариантов значений цифр шифрующего отрезка,  
в которой Г7 может быть равна 4, 5, 6 или 7.  
Если же Г5=С15,  
то соответствующий шифрующий отрезок:  
1636567490147656369016365674 хорошо согласуется с  
таблицей вариантов значений его цифр.  
Вычитая цифры найденного отрезка из соответствующих  
цифр шифрованного сообщения и заменяя разности их  
остатками от деления на 10, получим по таблице  
замены пар цифр на буквы исходное сообщение:  
 

шифрованное сообщение
 23  39  86  72 16 45 81 60 67 06 17 31 55 88
шифрующий отрезок 
 16  36  56  74  90  14  76  56  36 90  16 36  56  74 
 цифровое сообщение 
 17  03  30  08  26  31  15  14  31  16 01 05 09 14
 исходное сообщение 
 С  В  Я З  Ь  -  П  О  -  Р  А  Д  И  О


Теория алгоритмов (прочее) Ребусы Криптография