• Для зашифрования сообщения используется неизвестная последовательность целых чисел. 

    Каждую букву сообщения предварительно заменили ее порядковым номером в алфавите (А на 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 

    Найдите исходное сообщение. 

    Ответ вводите прописными буквами

Ответы 1

  • Обозначим номер зашифрованной буквы в русском алфавите через 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 таково: РАСПИСАНИЕКЛЮЧЕЙ

     

    Была бы такая возможность, - с удовольствием написал бы это и прописными буквами :-)

    • Автор:

      sasha83
    • 7 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years