Последовательности, функции и их кодирование на Верченко
Ошибка.
Попробуйте повторить позже
a) перестановка чисел задана таблицей:
0 | 1 | 2 | 3 | 4 | 5 | 6 | |
3 | 2 | 4 | 0 | 5 | 6 | 1 | |
Например, . Найдите две различные перестановки и такие, что для всех выполняется
b) перестановка задана на чётном количестве чисел таблицей:
0 | 1 | 2 | .. | |||
.. | ||||||
Здесь - перестановка чисел .
Докажите, что не существует перестановок и таких, что для всех выполняется
Источники:
Пункт а, подсказка 1
Просто пытаться найти перестановки функции перебором очень тяжело. Однако можно заметить, что если мы домножим каждое значение перестановки f(x) на число взаимно простое с 7 и возьмём от получившихся чисел остатки при делении на 7, то мы получим перестановку. Попробуйте найти такие перестановки, подходящие под условие.
Пункт а, подсказка 2
Нужно взять два числа, взаимно простых с 7, чтобы их сумма имела остаток 1 при делении на 7. Тогда, умножив f(x) на эти числа, мы получим перестановки g(x) и h(x). Они подходят под условие.
Пункт b, подсказка 1
Мы почти ничего не знаем про расположение элементов перестановки. Однако точно знаем, чему равна сумма значений перестановки. Ведь её значения - 0,1,...,2n-1. То же самое можно сказать про перестановки g(x) и h(x). Попробуйте доказать требуемое от противного, записав условие через сумму перестановки.
Пункт b, подсказка 2
Суммы значений всех трёх перестановок равны (2n+1)*n. Тогда, используя условие пункта b, получаем, что (2n+1)*n = (2n+1)*n+(2n+1)*n(mod 2n). Попробуйте получить противоречие, рассматривая по модулю 2n.
а) Так как то и являются перестановками. Но тогда, например, и выполняется
b) Из условия получим
С другой стороны, если указанное условии пункта b) представление существует, то
а это доказывает невозможность указанного представления.
Ошибка.
Попробуйте повторить позже
Имеется устройство, которое строит последовательность чисел следующим образом: первые два члена и мы задаем самостоятельно, а последующие члены устройство вычисляет так: Здесь — – некоторая фиксированная ключевая последовательность. При этом все числа и являются целыми, лежащими в пределах от 0 до 32 включительно. (Если в процессе вычислений получится число, превосходящее 32, то результат будет заменен его остатком от деления на 33; например, С помощью этого устройства построили две последовательности и по первым членам и Верно ли, что найдётся ключевая последовательность и некоторое целое большее 0, такие, что выполняются условия:
a)
б)
Решение обоснуйте.
Источники:
Пункт а), подсказка 1
У вас есть равенство двух членов одной последовательности двум другим. А как можно выразить, например предыдущий член последовательности через два соседних? Попробуйте так прийти к противоречию)
Пункт б), подсказка 1
Мы понимаем, что последовательности устроены одинаковым образом, так еще и ключевая последовательность у них одинаковая. Что можно сделать, чтобы вообще исключить эту последовательность?
Пункт б), подсказка 2
Вычесть одну последовательность из другой! По факту, в этой последовательности тогда нужно будет понять, есть там единица, или нет. В таком случае посмотрите на первые члены и на то, по какому модулю у нас все происходит и придите к противоречию)
а) Для всех
Поэтому, если , то , что противоречит условию.
б) Удобно перейти к разностям полублоков (везде далее действия с полублоками (умножение, сложение и вычитание) производятся по модулю ) и выяснить, может ли 1 появиться в . Из уравнения шифрования
получаем после вычитания
что последовательность разностей не зависит от ключа . По условию , поэтому все члены последовательности будут делиться на , и единицы там не будет.
а) нет
б) нет
Ошибка.
Попробуйте повторить позже
Дана последовательность , состоящая из и Пусть — количество чисел от до таких, что и Докажите, что число последовательностей указанного вида, для которых нечетно, находится по формуле
Источники:
Подсказка 1
В задаче есть параметр k, учитывая который строятся последовательности. Увеличив k, несложно построить новую последовательность, не "сломав" старую. Попробуем решить задачу индукцией по k! Докажем, что если утверждение выполняется при k-1, но оно выполняется и при k.
Подсказка 2
Если последовательность из 2k элементов удовлетворяет условию, то какой тогда будет эта последовательность без последнего пары a_k, b_k? Что будет с четностью N?
Подсказка 3
Нам подходят такие последовательности длины 2(k-1), где N четно, а_k = 0 и b_k = 1. А если N нечетно, то какой может быть пара (a_k;b_k)?
Применим метод математической индукции по параметру . При формула очевидна. Докажем, что если она верна при , то верна и при
Искомое число равно числу последовательностей
(1) |
в которых количество таких, что и четно (в этом случае пара может быть только плюс количество последовательностей вида (1) в которых количество чисел таких, что и нечетно, умноженному на 3 (так как пара может быть любой из пар В итоге по предположению индукции нужное число последовательностей будет удовлетворять равенству
Ошибка.
Попробуйте повторить позже
На вход устройства подается лента с записанными на ней нулями и единицами:
За один такт устройство считывает с ленты с позиций (на первом такте ) три значения . Если то устройство на новой ленте печатает 1 , иначе — 0 . Затем устройство сдвигается на одну позицию вправо, и процедура повторяется. Найдите разности и если известно, что а на новой ленте было напечатано следующее: (для примера на рисунке изображен случай
Источники:
Подсказка 1
Да, можно и перебрать d_1 и d_2, но это будет долго) Попробуем сократить перебор! Что мы вообще умеем делать? Мы умеем брать конкретные элементы ленты и считать их сумму, если расстояния между ними это d_1 и d_2. Какие "удобные" элементы хочется взять?
Подсказка 2
Рассмотрим систему неравенств, которая соответствует выходных знакам вида 1...1 на расстоянии d_1. С помощью нее мы сможем дать ограничения на элементы, находящиеся на расстоянии d_1. Таким образом мы сможем перебрать и методом "пристального взгляда на ленту" найти d_1. Аналогично с d_2!
Число возможных вариантов и , можно для каждого варианта проверять, что соответствие входных и выходных символов, а можно предложить более быстрый способ, заключающийся в нахождении сначала (максимум 10 вариантов), а затем . Для этого достаточно заметить следующее.
Если рассмотреть систему, соответствующую выходным знакам на расстоянии вида в произвольном такте работы
то если , то
Это позволяет отбраковать опробуемый вариант Устанавливаем, что
Аналогично, если рассмотреть систему, соответствующую выходным знакам на расстоянии вида в произвольном такте работы
тогда если то
Это позволяет отбраковать опробуемый вариант (с учётом найденного ранее Находим
Ошибка.
Попробуйте повторить позже
Знаками открытого и шифрованного текстов являются пары целых от 0 до 31. Для зашифрования используется секретный ключ (целое число от 0 до 31), заданная таблично функция а также функция которая паре целых чисел ставит в соответствие пару (причем если число или превышает 31 , то их заменяют остатком от деления на 32 Знак шифрованного текста получается из знака открытого текста путем 128-кратного применения функции
Известно, что знак открытого текста преобразовался в знак зашифрованного текста знак преобразовался в — в и, наконец, в Найдите ключ
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | |
9 | 1 | 30 | 4 | 24 | 12 | 8 | 23 | 18 | 7 | 16 | 15 | 21 | 26 | 10 | 17 | 19 | 22 | 13 | 28 | 14 | |
21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
11 | 2 | 29 | 3 | 6 | 27 | 0 | 5 | 25 | 31 | 20 |
Источники:
Подсказка 1
Применять 128 раз одну и ту же функцию очень сложно...поэтому было бы хорошо, если мы сразу могли понимать, а что у нас получается на каждой итерации? Может ли в итоге у двух разных пар получиться один и тот же знак?
Подсказка 2
Если две пары отличаются одним применением функции, то и их знаки тоже отличаются одним применением функции. Как это связать с условием?
Подсказка 3
Попробуем найти такие пары чисел, которые удовлетворяют утверждению из подсказки 2. Теперь мы знаем, какие пары отличаются применением функции g! Несложно найти k)
Необходимо заметить, что из равенств
следует равенство
Необходимым условием выполнения равенств являются равенства Среди приведенных в задаче пар знаков открытого и шифрованного текстов есть знаки, удовлетворяющие этому условию: одна пара и вторая пара То есть
Из условия задачи возможность найти ключ — воспользоваться равенствами
Убедимся, что при этих условиях оба равенства дают одинаковое значение ключа
Получаем, что
Ошибка.
Попробуйте повторить позже
Целое число может быть преобразовано следующим образом. Пусть, например, Представим его в двоичной системе счисления пятизначным числом: Теперь выберем какое-нибудь целое число и сдвинем получившуюся строку циклически на позиций влево. Например, при получится строка 10010, представляющая собой двоичную запись числа 18. Значит, сдвигом на одну позицию из числа 9 получается число будем это записывать так:
(Если сдвинуть влево на две позиции, то получится то есть )
Итак, — это число, получившееся сдвигом числа на позиций влево.
Для зашифрования осмысленного слова выбирается секретный ключ — набор из чисел
Затем с каждой буквой слова (по отдельности) проделывается следующее.
Букву заменяют числом по таблице
и последовательно вычисляют
Исходную букву затем заменяют на букву, соответствующую числу
(Если в процессе вычислений получается число, превышающее то оно заменяется остатком от деления на Так, сумму следует заменить на )
В результате зашифрования получился набор букв ЯГКЫНИ.
Найдите исходное слово, если известно, что при зашифровании на этом ключе буква Ъ переходит в букву Ь, а буква П — в Е.
Подсказка 1
В таких задачах, где идёт сложный процесс, хорошей идеей будет посмотреть на первые несколько шагов. Вдруг обнаружится цикличность, или можно будет заметить явную закономерность и вывести общую формулу. Попробуйте посмотреть, как меняется для чисел, которые записываются в виде пяти знаков (может быть с нулями в начале) в двоичной системе счисления, значение при операции левого циклического сдвига (то есть при с=1).
Подсказка 2
Заметим, что s « 1 = 2s (mod 31) (для этого надо разобрать два случая, чему равна первая цифра в двоичной системе счисления). Тогда s « c = 2^c * s (mod 31). А это значит, что мы стали чуть больше понимать, как работает процесс. Однако, все ещё не представляется возможным решить задачу, потому что даже сейчас непонятно, как явным образом ввести ограничения на k_i и c_i. Каким свойством обладает преобразование s « c? А что будет, если сделать не s « c, а (k + n) « c? Чему равно такое выражение?
Подсказка 3
Преобразование линейно, а значит и композиция преобразований тоже линейна. Значит оно записывается в виде kx + b. Что тогда можно сказать про k и b, если у нас есть значения на двух разных аргументах?
Покажем, что
Заметим, что достаточно доказать для Пусть Если , то равенство ( очевидно. Если то
Тогда
и равенство доказано. Следовательно,
То есть, на одном шаге шифрования — линейное преобразование числа Так как композиция линейных преобразований есть линейное преобразование, то , где и — неизвестные.
Воспользуемся тем, что на этом ключе буква Ъ переходит в букву Ь, а буква П — в Е:
Вычитая из первого равенства второе, получим: Отсюда Тогда
и, следовательно, Окончательно получили:
Тогда
Последовательно подставляя буквы шифрованного текста ЯГКЫНИ, получим исходное слово МОСКВА.
МОСКВА
Ошибка.
Попробуйте повторить позже
Устройство принимает на вход и выдает на выход наборы из битов (причем ). Поданный на вход набор преобразуется в выходной набор
где — стандартная операция сложения битов: .
Подав теперь этот набор на вход, получим на выходе набор , который вновь подадим на вход и получим и т.д.
Докажите, что если все наборы
оказались различными, то .
Заметим, что для всех вектор содержит четное число единиц, так как
Значит, в рассматриваемой последовательности
все векторы, начиная со второго, имеют четное количество единиц. Количество всех векторов, имеющих четное количество единиц, равно . Поэтому претендентом на самое большое количество различных векторов является последовательность (*), начинающаяся с вектора, содержащего нечетное количество единиц и продолжающаяся всеми векторами с четным количеством единиц. Количество векторов в такой последовательности будет Таким образом,
Для получения оценки рассмотрим отдельно случай когда среди векторов последовательности (*) нет нулевого вектора и когда он есть.
Если в последовательности (*) нет вектора , то она содержит не более векторов и
Пусть теперь последовательность (*) содержит вектор ( ). Рассмотрим два случая.
1) Если — нечетное число, то
и других векторов, переходящих в нулевой нет. При этом не существует векторов таких, что
Таким образом в этом случае последовательность (*) содержит максимум два вектора и
2) Если — четное число, то
и найдутся два вектора
содержащие четное число единиц такие, что
Последовательность (*) не может содержать одновременно векторы и , поэтому в этом случае она содержит не более векторов, так что