Генераторы псевдослучайных последовательностей. Задания для дистанционного обучения.Последнее изменение: 29/04/2020 19:17:251. Линейные конгруэнтные генераторы. (23.03.2020)Упражнения.1.1. Привести пример линейного конгруэнтного генератора X[n+1]=(aX[n]+c) mod 10 такого, что X[0] появляется в последовательности только один раз. 1.2. Привести пример линейного конгруэнтного генератора X[n+1]=(aX[n]+c) mod m такого, что X[0]=X[6]. 1.3. Существуют ли a, c и m такие, что X[0]=X[3] для X[n+1]=(aX[n]+c) mod m и X[0]=X[2] для X[n+1]=(aX[n]-c) mod m. Если ответ положительный, привести пример. Дать обоснование в случае отрицательного ответа. Литература.Д. Кнут. Искусство программирования, Том 2. Вильямс, 2017. (Глава 3.2.1, 3.2.2) Б. Шнайер. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си. Москва: Издательство Триумф, 2002. (Глава 16.1) 2. Регистры сдвига с линейной обратной связью. (06.04.2020)Упражнения.2.1. Построить пример 4-битового РСЛОС с периодом 4. 2.2. Чему равен период 4-битового РСЛОС, заданного начальными значениями b[0]=0, b[1]=1, b[2]=0, b[3]=1. 2.3. Чему равен период 4-битового РСЛОС Галуа, заданного начальными значениями b[0]=0, b[1]=1, b[2]=1, b[3]=1. Литература.Б. Шнайер. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си. Москва: Издательство Триумф, 2002. (Глава 16.2) 3. Потоковые шифры на основе РСЛОС. (13.04.2020)Упражнения.3.1. Построить пример генератора Геффе с периодом 7. 3.2. Построить пример обобщенного генератора Геффе с периодом 3. 3.3. Построить пример генератора "старт-стоп" Бета - Пайпера с периодом 4. Литература.Б. Шнайер. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си. Москва: Издательство Триумф, 2002. (Глава 16.3, 16.4) 4. Закрепление тем 1 и 2. (20.04.2020)Упражнения.4.1. Существует ли серия линейных конгруэнтных генераторов X[n+1]=(aX[n]+c) mod m (с фиксированными a, c и m) такая, что для любого значения X[0] последовательность чисел одна и та же (возможно, начинающаяся с разных позиций). Если существует, то привести пример. Если не существует, то дать обоснование. 4.2. Существует ли серия линейных конгруэнтных генераторов X[n+1]=(aX[n]+c) mod m (с фиксированными a, c и m) такая, что для всех значений X[0] последовательности чисел различны. Если существует, то привести пример. Если не существует, то дать обоснование. 4.3. Существует ли набор начальных значений b[0], b[1], b[2], b[3] 4-битового РСЛОС такой, что для всех топологий отводов генерируется одна и та же последовательность чисел. Если существует, то привести пример. Если не существует, то дать обоснование. 5. Аддитивные генераторы. (27.04.2020)Упражнения.5.1. Привести пример аддитивного генератора с периодом строго меньше 2^n-1. 5.2. Для указанных Б. Шнайером генераторов А и В привести пример ключа, обеспечивающего один и тот же результат шифрования для Fish и Mush. 5.3. В книге Б. Шнайера утверждается, что генератор Pike быстрее Fish, так как в среднем для получения результата нужно 2.75 действия. Представить объяснение этому факту (учитывая, что количество действий всегда целое). Литература.Б. Шнайер. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си. Москва: Издательство Триумф, 2002. (Глава 16.9) 6.1. Множественные рекурсивные генераторы (Multiple recursive generators).Упражнения.6.1.1. Привести пример множественного рекурсивного генератора (m=3, k=4) такого, что X[0] появляется в последовательности только один раз. 6.1.2. Привести пример множественного рекурсивного генератора (m=3, k=4) такого, что X[0]=X[6]. Литература.Christophe Dutang and Diethelm Wuertz. A note on random number generation, 2009. (пункт 2.1.2.) 6.2. Вихрь МерсеннаУпражнения.6.2.1. Существует ли вихрь Мерсенна с периодом 3? Если существует, то привести пример. Если - нет, то дать обоснование. Литература.Christophe Dutang and Diethelm Wuertz. A note on random number generation, 2009. (пункт 2.1.3.) 7. Алгоритм М.Упражнения.7.1. Пусть X[n] - последовательность чисел, полученная при помощи алгоритма М, где prngA - линейный конгруэнтный генератор Y[n+1]=(3Y[n]+2) mod 5 такой, что Y[0]=1, prngB - линейный конгруэнтный генератор Z[n+1]=(2Z[n]+1) mod 3 такой, что Z[0]=2. Найти X[4]. 7.2. Пусть X[n] - последовательность чисел, полученная при помощи алгоритма М, где prngA - линейный конгруэнтный генератор Y[n+1]=(aY[n]+b) mod m такой, что Y[0]=1, prngB - линейный конгруэнтный генератор Z[n+1]=(cZ[n]+d) mod n такой, что Z[0]=1. Существуют ли значения a, b, m, c, d, n такие, что все энементы последовательности X[n] попарно различны. 7.3. Пусть X[n] - последовательность чисел, полученная при помощи алгоритма М, где prngA - линейный конгруэнтный генератор Y[n+1]=(aY[n]+b) mod m такой, что Y[0]=1, prngB - линейный конгруэнтный генератор Z[n+1]=(cZ[n]+d) mod n такой, что Z[0]=1. Существуют ли значения a, b, m, c, d, n такие, что X[2]=X[3], а остальные энементы последовательности X[n] попарно различны. Литература.Б. Шнайер. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си. Москва: Издательство Триумф, 2002. (Глава 16.11) |