Для зашифрования сообщения используется неизвестная последовательность целых чисел. каждую букву сообщения предварительно заменили ее порядковым номером в алфавите (а на 1, …, я на 33). затем прибавляли к нему
очередной член последовательности и, наконец, выписывали остаток от деления этой суммы на 33. получилось вот что: 30 11 7 24 29 11 15 18 15 32 9 3 10 1 26 24 если бы при зашифровании того же самого сообщения вместо сложения с членами
последовательности производили вычитание, то получилось бы 6 24 31 10 24 27 20 12 5 13 15 23 21 16 19 31 найдите исходное сообщение. ответ вводите прописными буквами
Ответы на вопрос:
обозначим номер зашифрованной буквы в алфавите через n, a очередной член последовательности - через a[k].
тогда в первом массиве a на соответствующем i-м месте находится элемент a[i] = (n + a[k]) mod 33, а во втором массиве b - на i-м месте находится элемент b[i] = (n - a[k]) mod 33.
складывая почленно оба массива и учитывая, что x mod m + y mod m = (x + y) mod m, получим на i-m месте нового массива суммы ab: ab[i] = a[i] + b[i] = (n + a[k]) mod 33 + (n - a[k]) mod 33 = ((n + a[k]) + (n - a[k])) mod 33 = 2n mod 33, для всех индексов i в массиве ab. то есть, неизвестные нам члены последовательности a[k] взаимно уничтожаются при формировании массива ab.
стало быть, ab[i] = 2n mod 33, и нужно найти n[i] для каждого индекса i в массиве ab.
находим n[i] для каждого индекса i следующим образом:
если ab[i] - четное, то n[i] = ab[i]/2, в противном случае - n[i] = (ab[i] + 33)/2.
полученное таким образом число n[i] будет меньше, чем 33.
т.е. для нахождения исходного сообщения m нужно для каждого порядкового номера n[i] найти соответствующую ему букву s[n[i]] в алфавите, т.е. m[i] = s[n[i]] для каждого индекса i в массиве.
окончательно получим для нашего случая:
исходные массивы:
a = 30 11 7 24 29 11 15 18 15 32 9 3 10 1 26 24
b = 6 24 31 10 24 27 20 12 5 13 15 23 21 16 19 31
массив a + b:
ab = 36 35 38 34 53 38 35 30 20 45 24 26 31 17 45 55
массив (a + b) mod 33:
ab mod 33 = 3 2 5 1 20 5 2 30 20 12 24 26 31 17 12 22
массив n[i]:
n = 18 1 19 17 10 19 1 15 10 6 12 13 32 25 6 11
алфавит s с соответствующей ему нумерацией букв:
а-1, б-2, в-3, г-4, д-5, е-6, ё-7, ж-8, з-9, и-10, й-11, к-12, л-13, м-14, н-15, о-16, п-17, р-18, с-19, т-20, у-21, ф-22, х-23, ц-24, ч-25, ш-26, щ-27, ъ-28, ы-29, ь-30, э-31, ю-32, я-33.
итак, исходное сообщение m таково: расписаниеключей
была бы такая возможность, - с удовольствием написал бы это и прописными буквами : -)
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Математика
-
Max74910.02.2023 18:28
-
Rovz05.07.2022 19:53
-
герман12334444412.11.2020 04:55
-
tiomashash12.02.2021 23:31
-
blinovaa01.04.2021 04:57
-
инкар0320.10.2021 17:37
-
anyasaveleva218.09.2020 09:37
-
Auebandit133723.02.2021 14:56
-
дильназ15210.06.2020 21:57
-
TASHER228YMM16.05.2022 00:13
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.