Алиса и Боб любят шпионское кино, и они решили придумать шифр, благодаря которому они смогут кодировать свои сообщения, чтобы никто не узнал, о чем они говорят. Друг Алисы и Боба, Чак узнал, как работает шифр Алисы и Боба, и узнал, какой ключ используется. Ключом является 44-значное число, записанное в десятичной системе счисления. Чак знает ключ, который будет в момент времени 00:0000:00. Каждые 1515 минут ключ меняется по следующему правилу:
Пусть XX – ключ в момент времени суток 00:0000:00, через 1515 минут новый ключ
NEW_X = (X + 2764)(X+2764) MOD 1000010000
Операция AA MOD BB вычисляет остаток от деления числа AA на число BB
Ещё через 1515 минут за XX будет взят действующий ключ и произведена та же операция с ключом.
Как происходит кодирование сообщений:
Исходный ключ, состоящий из 44 цифр – ABCDABCD – делится на 22 пары цифр: ABAB и CDCD, образующих два новых числа.
Затем из каждого числа получается одно число: AA’ = ABAB MOD 2626, BB’ = CDCD MOD 2626
Полученные два числа соответствую двум буквам латинского алфавита (нумерация букв в алфавите идет с нуля по возрастанию).
Далее к исходному сообщению применяется шифр, в ходе которого буква из алфавита под номером AA’ заменяется на букву из алфавита под номером BB’, буква под номером AA’+1+1 заменяется на букву под номером BB’+1+1, и так далее. Если окажется, что номер очередной буквы больше, чем 2525, то из него вычитается 2626.
Пример: В 00:0000:00 ключ равен 17031703, через 1515 минут ключ поменяется на 44674467.
AA’ == 4444 MOD 2626 == 1818, BB’ == 6767 MOD 2626 == 1515
Пусть исходное сообщение было ABACABAABACABA, тогда зашифрованное сообщение будет записано как XYXZXYXXYXZXYX.
В 00:0000:00 ключом является число 17031703, а в 01:4001:40 Чак перехватил сообщение Алисы с одним словом:
gtsotzw
Чаку стало интересно, что же Алиса написала Бобу Чаку расшифровать данное сообщение. В ответе укажите только слово прописными латинскими буквами.
Объяснение:
Если и считать всё в двоичной системе, то надо сначала все числа перевести в неё.
Перевод из шестнадцатеричной в двоичную- каждая шестнадцатеричная цифра заменяется на четыре двоичных, затем незначащие нули спереди- отбрасываются:
10₁₆ = 00010000₂ = 10000₂
Перевод из восьмеричной в двоичную- каждая восьмеричная цифра заменяется на три двоичных, затем незначащие нули спереди- отбрасываются:
10₈ = 001000₂ = 1000₂
Получаем в итоге пример:
10000₂ + 1000₂ + 10₂* 10000₂ = 10000₂ + 1000₂ + 100000₂ =
= 111000₂
<html>
<head>
<meta charset="utf-8">
<title>Задание</title>
<style type="text/css">
TABLE {
width: 400px; /* Ширина таблицы */
height: 500px; /* Высота таблицы */
border: 3px solid #2e8b57; /* Рамка вокруг таблицы */
}
TD, TH {
padding: 3px; /* Поля вокруг содержимого ячеек */
text-align: center; /* Выравнивание по центру */
}
.lc {
font-weight: bold; /* Жирное начертание текста */
text-align: left; /* Выравнивание по левому краю */
}
</style>
</head>
<body>
<table border="1">
<caption>Расписание</caption>
<tr>
<td>Номер урока</td>
<td>Название урока</td>
<td>Номер кабинета</td>
<td>Преподаватель</td>
</tr>
<tr>
<td></td><td></td><td></td><td></td>
</tr>
<tr><td></td><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td><td></td></tr>
</table>
</body>
</html>
Объяснение:
Частичные пояснения есть в коде.