Слайд 6
Генераторы
физические
табличные
Слайд 7
Генераторы
физические
табличные
алгоритмические
Слайд 8
Первые алгоритмы
«Всякий, кто питает слабость к арифметическим методам
получения случайных чисел, грешен вне всяких сомнений»
Джон фон Нейман
Слайд 9
Первые алгоритмы
Метод серединных квадратов
Слайд 10
Первые алгоритмы
Метод серединных квадратов
Слайд 11
Первые алгоритмы
Метод серединных квадратов
Слайд 12
Первые алгоритмы
Метод серединных квадратов
Метод серединных произведений
R0 × R1
Слайд 13
Первые алгоритмы
Метод серединных квадратов
Метод серединных произведений
R0 × R1
Слайд 14
Первые алгоритмы
Метод серединных квадратов
Метод серединных произведений
R0 × R1
R2
R1 × R2
R3
Слайд 15
Первые алгоритмы
Метод серединных квадратов
Метод серединных произведений
Метод перемешивания
Слайд 16
Первые алгоритмы
Метод серединных квадратов
Метод серединных произведений
Метод перемешивания
3
4
5
6
7
8
1
2
5
6
7
8
1
2
3
4
Слайд 17
Первые алгоритмы
Метод серединных квадратов
Метод серединных произведений
Метод перемешивания
3
4
5
6
7
8
1
2
5
6
7
8
1
2
3
4
1
2
3
4
5
6
7
8
Слайд 18
Первые алгоритмы
Метод серединных квадратов
Метод серединных произведений
Метод перемешивания
3
4
5
6
7
8
1
2
5
6
7
8
1
2
3
4
1
2
3
4
5
6
7
8
+
Слайд 20
Линейная конгруэнция
Ri+1 = (K * Ri + B)
Слайд 21
Линейная конгруэнция
Ri+1 = (K * Ri + B)
% M
B и M взаимно простые
Слайд 22
Линейная конгруэнция
Ri+1 = (K * Ri + B)
% M
B и M – взаимно простые
K – 1
кратно любому простому
делителю M
Слайд 23
Линейная конгруэнция
Ri+1 = (K * Ri + B)
% M
B и M – взаимно простые
K – 1
кратно любому простому
делителю M
K – 1 кратно 4, если М кратно 4
Слайд 25
Датчик Фибоначчи
Ri = Ri - a – Ri
Слайд 26
Датчик Фибоначчи
Ri = Ri - a – Ri
- b
a, b – лаги
Слайд 27
Датчик Фибоначчи
Ri = Ri - a – Ri
- b
a, b – лаги
циклическая очередь значений
Слайд 28
Датчик Фибоначчи
Ri = Ri - a – Ri
- b
a, b – лаги
циклическая очередь значений
T = (2max{a,
b} – 1) · 2l
Слайд 30
LFSR
Ri = (c1 × Ri-1) ⊕ (c2 ×
Ri-2) ⊕ …
⊕ (cL × Ri-L)
C(x) = 1
+ c1x + c2x2 + … + cLxL
Слайд 31
LFSR
x3 + x + 1
0
1
0
1
1
1
0
1
0
0
1
1
1
0
1
0
0
7
Слайд 32
Стоп-пошел
LFSR – 1
LFSR – 2
LFSR – 3
⊕ =
Слайд 33
Каскад Голлмана
LFSR – 1
LFSR – 2
LFSR – 3
LFSR
– 4
Слайд 34
Пороговый генератор
LFSR – 1
LFSR – 2
LFSR – 3
LFSR
– K
…
Слайд 36
Тестирование
NIST
DIEHARD
pLab Project
CRYPT-X
TEST-U01
Dieharder
ENT
Knuth’s
Слайд 37
Тестирование
NIST
DIEHARD
pLab Project
CRYPT-X
TEST-U01
Dieharder
ENT
Knuth’s
Слайд 40
NIST
Частотный побитовый тест
Частотный блочный тест
Слайд 41
NIST
Частотный побитовый тест
Частотный блочный тест
Последовательность одинаковых бит
Слайд 42
NIST
Частотный побитовый тест
Частотный блочный тест
Последовательность одинаковых бит
Самая длинная
последовательность единиц в блоке
Слайд 44
NIST
Ранговый тест
Спектральный тест
Слайд 45
NIST
Ранговый тест
Спектральный тест
Тест на шаблоны
Слайд 46
NIST
Ранговый тест
Спектральный тест
Тест на шаблоны
Тест на пересекающиеся шаблоны
Слайд 47
NIST
Ранговый тест
Спектральный тест
Тест на шаблоны
Тест на пересекающиеся шаблоны
Тест
Маурера
Слайд 49
NIST
Тест на линейную сложность
Тест на периодичность
Слайд 50
NIST
Тест на линейную сложность
Тест на периодичность
Тест приблизительной энтропии
Слайд 51
NIST
Тест на линейную сложность
Тест на периодичность
Тест приблизительной энтропии
Тест
кумулятивных сумм
Слайд 54
DIEHARD
Тест на парковку
Тест сжатия
Слайд 55
DIEHARD
Тест на парковку
Тест сжатия
Тест игры в кости
Слайд 57
Криптостойкость
Генерация ключей
Слайд 58
Криптостойкость
Генерация ключей
Одноразовые случайные числа
Слайд 59
Криптостойкость
Генерация ключей
Одноразовые случайные числа
Одноразовые шифроблокноты
Слайд 60
Криптостойкость
Генерация ключей
Одноразовые случайные числа
Одноразовые шифроблокноты
Генерация соли
Слайд 61
Криптостойкость
Тест на следующий бит
Слайд 62
Криптостойкость
Тест на следующий бит
На основе блочного шифра
Слайд 63
Криптостойкость
Тест на следующий бит
На основе блочного шифра
На основе
хеш-функции
Слайд 64
Криптостойкость
Тест на следующий бит
На основе блочного шифра
На основе
хеш-функции
Алгоритм Блюма — Блюма — Шуба
xn+1 = xn2 mod
M
Слайд 65
Криптостойкость
Тест на следующий бит
На основе блочного шифра
На основе
хеш-функции
Алгоритм Блюма — Блюма — Шуба
Алгоритм Блюма — Микали
Слайд 68
Аппаратные генераторы
Lavarand
Чипы в процессоре (3 Гб/сек)
Слайд 71
ПО
gLib – вихрь Мерсена
Java – Random, SecureRandom
Слайд 72
ПО
gLib – вихрь Мерсена
Java – Random, SecureRandom
C# -
Random, Cryptography.RNG
Слайд 73
ПО
gLib – вихрь Мерсена
Java – Random, SecureRandom
C# -
Random, Cryptography.RNG
RFC 1750