Приветствую Вас Гость | RSS

Суббота, 29.06.2024, 08:15
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
21-22. Создание случайных чисел. Требования к случ. числам
BlofeldДата: Суббота, 16.01.2010, 15:20 | Сообщение # 1
Местный копирайтер
Группа: Администраторы
Сообщений: 583
Репутация: 2012
Статус: Offline
22. Требования к случайным числам. Случайность. Непредсказуемость. Источники случайных чисел. Генераторы псевдослучайных чисел. Криптографически созданные случайные числа

Два осн. требования:
Случайность. последовательность чисел является случайной:
1. Однородное распределение: частота появления каждого числа должна быть приблизительно одинаковой.
2. Независимость: ни одно значение в последовательности не должно зависеть от других.

Непредсказуемость. При "правильной" случайной последовательности каждое число статистически не зависит от остальных чисел и, следовательно, непредсказуемо. Однако правильные случайные числа на практике используются достаточно редко, чаще последовательность чисел, которая должна быть случайной, создается некоторым алгоритмом. В данном случае необходимо, чтобы противник не мог предугадать следующие элементы последовательности, основываясь на знании предыдущих элементов и используемого алгоритма.

Источники случайных чисел. Источники действительно случайных чисел найти трудно. По-настоящему случ.числа создаюся человеком. Созданные с пом.алгоритма - псевдослучайные числа.

Генераторы псевдослучайных чисел
Первой широко используемой технологией создания случайного числа был алгоритм, предложенный Лехмером, который известен как метод линейного конгруента. Этот алгоритм параметризуется четырьмя числами следующим образом:
Последовательность случайных чисел {Xn} получается с помощью следующего итерационного равенства: Xn+1 = (a Xn + c) mod m..Если m, а и с являются целыми, то создается последовательность целых чисел в диапазоне 0 Xn < m.Выбор значений для а, с и m является критичным для разработки хорошего генератора случайных чисел.

Существует три критерия, используемые при выборе генератора случайных чисел:
1. Функция должна создавать полный период, т.е. все числа между 0 и m до того, как создаваемые числа начнут повторяться.
2. Создаваемая последовательность должна появляться случайно. Последовательность не является случайной, так как она создается детерминированно, но различные статистические тесты, которые могут применяться, должны показывать, что последовательность случайна.
3. Функция должна эффективно реализовываться на 32-битных процессорах.

Криптографически созданные случайные числа
В криптографических приложениях целесообразно шифровать получающиеся случайные числа. Чаще всего используется три способа.

Циклическое шифрование

Режим Output Feedback DES
Режим OFB DES может применяться для генерации ключа, аналогично тому, как он используется для потокового шифрования. Заметим, что выходом каждой стадии шифрования является 64-битное значение, из которого только левые j битов подаются обратно для шифрования. 64-битные выходы составляют последовательность псевдослучайных чисел с хорошими статистическими свойствами.

Генератор псевдослучайных чисел ANSI X9.17
Один из наиболее сильных генераторов псевдослучайных чисел описан в ANSI X9.17. В число приложений, использующих эту технологию, входят приложения финансовой безопасности и PGP.

Алгоритмом шифрования является тройной DES. Генератор ANSI X9.17 состоит из следующих частей:
1. Вход: генератором управляют два псевдослучайных входа. Один является 64-битным представлением текущих даты и времени, которые изменяются каждый раз при создании числа. Другой является 64-битным начальным значением; оно инициализируется некоторым произвольным значением и изменяется в ходе генерации последовательности псевдослучайных чисел.
2. Ключи: генератор использует три модуля тройного DES. Все три используют одну и ту же пару 56-битных ключей, которая должна держаться в секрете и применяться только для генерации псевдослучайного числа.
3. Выход: выход состоит из 64-битного псевдослучайного числа и 64-битного значения, которое будет использоваться в качестве начального значения при создании следующего числа.

 
  • Страница 1 из 1
  • 1
Поиск: