Владение основами криптографии становится важным для ученых и инженеров, кто специализируется в области разработки современных средств защиты информации, в областях эксплуатации и проектирования информационных и телекоммуникационных систем. Изучив некоторые интересные методы шифрования информации, мы поставили перед собой задачу о применении данных методов в решении задачи, связанной с шифрованием дней рождений моих родственников.
Сформулируем задачу. Сообщение, подлежащее за шифрованию, представляет собой цифровую последовательность, составленную из дат рождения 6 моих родственников. Каждая дата представлена в виде последовательности из 8 цифр, первые две из которых обозначают день, следующие две - месяц, а остальные - год. Например, дата рождения великого математика Л. Эйлера 4 апреля 1707 года представляется в виде последовательности 04041707. Для зашифрования сообщения строится ключевая последовательность длины 48. Для ее построения все нечетные простые числа, меньшие 100, выписываются через запятую в таком порядке, что модуль разности любых двух соседних чисел есть та или иная степень числа 2. При этом каждое простое число выписано ровно один раз, а числа 3, 5 и 7 записаны в виде 03, 05 и 07 соответственно. Удалив запятые из записи этой последовательности, получим искомую ключевую последовательность. При зашифровании цифровой последовательности, представляющей сообщение, ее цифры почленно складываются с соответствующими цифрами ключевой последовательности, при этом каждая полученная сумма заменяется ее остатком от деления на 10.
В результате зашифрования сообщения получена последовательность: 150220994812266046355601463262326777921096749849
Решение: Я знаю, что эти родственники родились в ХХ веке. Отсюда сразу замечаем, что на 3, 7, 11, 15, 19 и 23 местах последовательности простых чисел расположены числа 11, 17, 47, 53, 83 и 89 соответственно.
Выясним, какие числа являются соседними с указанными шестью числами. Для этого составим таблицу их возможных "соседей". В соответствии с условием получим: