Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
RAS_GRAF_RAB.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
657 Кб
Скачать
☆

Алгоритмы генерации ключевого материала и оказии

Генератор Лемера

Самым популярным алгоритмом для генерирования псевдослучайных чисел является алгоритм, предложенный Лемером (Lehmer) и называемый методом линейного сравнения. Этот алгоритм имеет четыре следующих параметра.

т

модуль сравнения

т > 0

а

множитель

0 < а < т

с

приращение

0 < с < т

Х0

начальное или порождающее число

0 < Х0 < т

Последовательность случайных чисел {Х0} получается с помощью итераций следующего соотношения:

.

При этом если т, а, с и Х0 являются целыми, то будет получена последовательность целых чисел из диапазона .

Выбор значений для а, с и т оказывается очень важным с точки зрения раз­работки хорошего генератора случайных чисел. Рассмотрим, например, случай . Порождаемая при этом последовательность очевидно не будет удовле­творительной. Теперь рассмотрим значения . В этом случае генерируется последовательность {7, 17, 23, 1, 7, ...}, которая также оче­видно не будет удовлетворительной. Из 32 возможных значений здесь оказыва­ется задействованными только 4 (в данном случае говорят, что последователь­ность имеет период 4). Если же, оставив другие значения прежними, изменить значение а и положить а=5, то результирующей последовательностью будет {1, 5, 25, 29, 17, 21, 9, 13, 1, ...} и ее период будет уже равен 8.

Генератор BBS

Один из популярных подходов к генерированию псевдослучайных последовательностей заключается в использовании генератора Блюма-Блюма-Шуба (Blum-Blum-Shub, BBS), названный так в честь его разработчиков. Доказательство его криптографической надежности является, пожалуй, наиболее строгим из опубликованных. Заложенная в его алгоритм процедура выглядит следующим образом. Сначала выбирается два больших простых числа, и , дающих при делении на 4 в остатке 3, т.е.

.

Это просто означает, что . Например, для простых чисел 7 и 11 мы как раз имеем 7=11=3(mod 4). Пусть теперь . Выберем слу­чайное число , взаимно простое с — в данном случае это означает, что ни , ни не являются делителями . Тогда генератор BBS порождает последователь­ность битов , в соответствии со следующим алгоритмом.

for to

Таким образом, на каждой итерации выбирается младший бит. В табл. 1 показан пример последовательности, полученной в результа­те использования алгоритма BBS. Здесь, =192649=383×503 и начальное значение =101355.

Таблица 1.

Пример генерации псевдослучайных значений согласно с алгоритмом ВВS

i

Xi

Bi

i

Xi

Bi

0

20749

1

11

137922

0

1

143135

1

12

123175

1

2

177671

1

13

8630

0

3

97048

0

14

114386

0

4

89992

0

15

14863

1

5

174051

1

16

133015

1

6

80649

1

17

106065

1

7

45663

1

18

45870

0

8

69442

0

19

137171

1

9

186894

0

20

48060

0

10

177046

0

Варианты индивидуальных заданий

Номер варианта

Схема системы

Алгоритм шифрования

Алгоритм хэширования

1

1

1

1

2

2

2

1

3

3

3

1

4

1

4

1

5

2

1

1

6

3

2

1

7

1

3

1

8

2

4

1

9

3

1

1

10

1

2

1

11

2

3

2

12

3

4

2

13

1

1

2

14

2

2

2

15

3

3

2

16

1

4

2

17

2

1

2

18

3

2

2

19

1

3

2

20

2

4

2

21

3

1

3

22

1

2

3

23

2

3

3

24

3

4

3

25

1

1

3

26

2

2

3

27

3

3

3

28

1

4

3

29

2

1

3

30

3

2

3

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