Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MOZI.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
2.55 Mб
Скачать

Задачи для самостоятельного решения

  1. Составить полную таблицу неприводимых многочленов поля вычетов GF(q(х)) по модулю неприводимого многочлена g(x)=х4+х+1 над числовым полем GF(2).

  2. Составить полную таблицу неприводимых многочленов поля вычетов GF(q(х)) по модулю неприводимого многочлена g(x)=х2+1 над числовым полем GF(3).

Примечание. Данный многочлен является неприводимым, но не является порождающим многочленом. Исходным порождающим многочленом поэтому надо выбрать другой неприводимый многочлен, например, х2+х+1. Еще необходимо помнить, что представителями классов вычетов по модулю 3 могут быть как числа 0,1,2, так и числа -1,0,1. Отсюда возникают две формы записи неприводимых многочленов: х8+2 и х8-1.

  1. Составить полную таблицу неприводимых многочленов поля вычетов GF(q(х)) по модулю неприводимого многочлена g(x)=3х2+2х+1 над числовым полем GF(5).

  2. Составить полную таблицу неприводимых многочленов поля вычетов GF(q(х)) по модулю неприводимого многочлена g(x)=х3+2х+1 над числовым полем GF(3).

  3. Приводим ли многочлен f(x)=x2+x+1 над полями GF(2), GF(3), GF(4)?

7.3.Генераторы псевдослучайных последовательностей

7.3.1.Понятие псевдослучайной последовательности чисел

Подавляющее большинство современных криптографических систем используют либо поточные, либо блочные алгоритмы, базирующиеся на различных типах шифрах замены и перестановки. Основу функционирования поточных криптосистем составляют генераторы случайных или псевдослучайных последовательностей.

Математическое моделирование случайности и генерация случайных последовательностей осуществляется в виде программ для ЭВМ или специализированных устройств. Эти программы и устройства хотя и называются генераторами случайных чисел, на самом деле генерируют детерминированные последовательности, которые не являются статистически случайными. Источниками по-настоящему случайных величин могут быть только внешние объекты, например, человек. Тем не менее, если алгоритм хороший, полученная последовательность будет проходить много тестов на случайность и называются псевдослучайными последовательностями. Криптографически стойкие генераторы псевдослучайных последовательностей или гаммы должны удовлетворять трём основным требованиям:

1. Период гаммы должен быть достаточно большим для шифрования сообщений различной длины (он определяет возможное число ключей криптосистемы. Чем эта длина больше, тем сложнее подобрать ключ).

2. Гамма должна быть трудно предсказуемой. Это значит, что если известны тип генератора и кусок гаммы, то невозможно предсказать следующий за этим куском бит гаммы или предшествующий этому куску бит гаммы.

3. Генерирование гаммы не должно быть связано с большими техническими и организационными трудностями.

7.3.2.Практические методы получения псевдослучайных чисел

1. Два наиболее часто применяемых метода создания случайных последовательностей с помощью человека основаны на вводе с клавиатуры. В обоих случаях пользователя просят, не задумываясь, понабирать на клавиатуре бессмысленные сочетания букв.

По первому методу над самими введенными значениями производятся действия, повышающие случайность выходного потока. Так, например, обязательно удаляются верхние 3 бита введенного ASCII символа, часто удаляются еще один верхний и еще один нижний биты. Затем, объем полученной последовательности уменьшается еще в три раза наложением первого и второго бита на третий операцией XOR. Это, в принципе, генерирует достаточно случайную последовательность бит.

По второму методу на введенные символы алгоритм не обращает никакого внимания, зато конспектирует интервалы времени, через которые произошли нажатия. Запись моментов производится по отсчетам быстрого системного таймера (частота 1,2 МГц) или внутреннему счетчику процессора, появившемуся в процессорах, начиная с Intel Pentium (частота соответствует частоте процессора). Так как верхние и младшие биты имеют определенную корреляцию между символами (первые из-за физических характеристик человека, вторые из-за особенностей операционной системы), то они отбрасываются (обычно удаляются 0-8 старших бита и 4-10 младших).

Как более редко встречающиеся варианты можно встретить 1) комбинацию обоих клавиатурных методов и 2) метод, основанный на манипуляторе "мышь" - он выделяет случайную информацию из смещений пользователем указателя мыши.

2. Одним из первых математических методов получения последовательности был метод, предложенный в 1946 году Д. фон Нейманом. Этот метод базировался на том, что каждое последующее число в псевдослучайной последовательности формировалось возведением предыдущего числа в квадрат и отбрасыванием цифр с обоих концов. Однако этот метод оказался ненадежным, и от него быстро отказались.

3. Другим методом является так называемый конгруэнтный способ. Его математическое выражение имеет вид: gn+1=kgn+c (mod m)

Здесь каждое последующее случайное число gn+1 получается умножением предыдущего числа gn+1 на k сложением с c и взятием остатка от деления на m. Главной проблемой здесь было подобрать хорошие значения коэффициентов k, c, m. Исследования показали, что более эффективно вести вычисления в целых числах. Для них, в частности, было показано, что при c = 0, m=2n наибольшей период составит m/4 при k = 3+8j или k = 5+8j и нечетном начальном числе. При этом при достаточно больших к последовательность производит впечатление случайной. Дальнейшие исследования показали, что если c нечетно, то период можно увеличить до числа m=2n. После долгих поисков числа k исследователи остановились на значениях k = 69069 и k = 71365.

4. Интересный класс генераторов псевдослучайных последовательностей основан на использовании последовательностей Фибоначчи. Классический пример такой последовательности {0,1,1,2,3,5,8,13,21,34 …} - за исключением первых двух ее членов, каждый последующий член равен сумме двух предыдущих.

Если брать только последнюю получающуюся в результате суммирования цифру, то получим {0,1,1,2,3,5,8,3,1,4 …} Если ввести в схему Фибоначчи «бит переноса», который может иметь начальные значения 0 или 1, то можно построить генератор сложения с переносом, который по своим свойствам превосходит конгруэнтные генераторы.

5. И, наконец, построение псевдослучайных последовательностей с гарантированно хорошими для криптографии свойствами (максимальная длина периода, равномерный спектр) возможно путем использования аппарата и результатов теории линейных рекуррентных последовательностей над конечными полями, о которых речь пойдет в следующем параграфе.

Получаемые при помощи рассмотренных методов псевдослучайные последовательности, используются в поточных криптосистемах для игнорирования сообщений путем использования различных типов шифров замены. Например, для шифрования сообщений может быть использована та или иная модификация известной уже вам системы Вернама: c=mk, где k - псевдослучайная последовательность чисел, определяемая секретным ключом k.

Примерами стандартизованных алгоритмов блочных криптосистем являются американский стандарт DES (режим электронной кодовой книги ЕСВ) и российский стандарт ГОСТ 28147-89 (режим простой замены).

6. В мощных криптосистемах военного применения используются действительно случайные генераторы чисел, основанные на физических процессах. Они представляют собой платы, либо внешние устройства, подключаемые к ЭВМ через порт ввода-вывода. Два основных источника белого Гауссовского шума – высокоточное измерение тепловых флуктуаций и запись радиоэфира на частоте, свободной от радиовещания.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]