block_ciphers
.pdfСимметричная криптография. Блочные шифры
Егор Никуленков
ВГУ
2013
Потоковые шифры
Основная идея: замена потока действительно случайных чисел на поток псевдослучайных чисел
G - генератор псевдослучайных чисел
Функция шифрования:
E(k; m) = m G (k)
Функция дешифрования:
D(k; c) = c G (k)
Может применяться к сообщениям произвольной длины
Недостатки потоковых шифров
Невозможность использования одинаковых значений ключа дважды
Невозможность проверки целостности сообщений
Состояние ГСЧ на обоих сторонах общения должно быть синхронизировано
Результат шифрования полностью определяется открытым текстом и используемым ключом
Определение
Блочный шифр (block cipher) функция шифрования, которая применяется к блокам текста фиксированной длины.
AES: n=128 bits, k = 128, 192, 256
Основные принципы работы
R(k; m) - раундовая функция
У AES-128 10 раундовых функций
Псевдослучайные функции и перестановки
Псевдослучайная функция (Pseudo Random Function, PRF) эффективно вычислимая функция, определенная на
(K ; X ; Y )
F : K X ! Y
.
Псевдослучайные функции и перестановки
Псевдослучайная перестановка (Pseudo Random Permutation, PRP) эффективно вычислимая функция, определенная на (K ; X )
E: K X ! X
иимеющая следующие свойства:
Существует эффективно вычислимый алгоритм для вычисления E(k; x)
Функция E (k; ) является однозначной
Существует эффективно вычислимый алгоритм для нахождения обратной функции D(k; y)
.
Безопасные PRF
Интуитивное определение безопасности PRF
F : K X ! Y - некоторая PRF
Определим:
Funs[X ; Y ] : множество всех возможных функций из X в Y SF = fF (k; ); k 2 K g Funs[X ; Y ]
Невозможно отличить случайно выбранную функцию из Funs[X ; Y ] от функции, случайно выбранной из SF
Безопасные PRF
Пример использования
F : K f0; 1gn ! f0; 1gn - безопасная PRF
Построим безопасный ГСЧ на основе F
G : K ! f0; 1gnt
G (k) = F (k; 0)jjF (k; 1)jj : : : jjF (k; t)
Основные принципы работы
R(k; m) - раундовая функция
У AES-128 10 раундовых функций