- •Виды атак на криптографические алгоритмы. Понятие стойкости.
- •Шифры замены. Математическая модель. Примеры.
- •Шифры перестановки. Математическая модель. Примеры.
- •Шифры гаммирования. Математическая модель. Примеры.
- •Принципы построения блочных шифров. Схема Фейстеля.
- •Шифрование в ячейке Фейстеля Расшифрование в ячейке Фейстеля Формирование группы
- •Алгоритм симметричного шифрования des.
- •Алгоритм симметричного шифрования гост 28147-99.
- •Алгоритм симметричного шифрования Rijndael.
- •4.Добавление ключа.
- •Алгоритмы симметричного шифрования idea и Blowfish.
- •Режимы выполнения алгоритмов симметричного шифрования.
- •Поточные криптосистемы. Принципы построения. Классификация. Проблема синхронизации.
- •Линейные конгруэнтные генераторы. Линейные регистры сдвига.
- •Поточные шифры. Отличия от блочных. Стойкость. Методы анализа.
- •Примеры поточных шифров на основе lfsr.
- •Примеры поточных шифров, использующих аддитивные генераторы:
- •Примеры поточных шифров на основе fcsr.
- •Математические методы криптоанализа: метод опробывания, методы на основе теории статистических решений.
- •Линейный криптоанализ.
- •Разностный криптоанализ.
- •Атаки на функции хэширования.
- •Функция хеширования md5.
- •Функция хеширования sha-1.
- •Функция хеширования гост 3411-94.
- •Функция хеширования стб 1176.1-99.
- •Общие положения электронной цифровой подписи. Задачи. Требования.
- •Прямая и арбитражная цифровая подписи. Примеры.
- •Стандарт электронной цифровой подписи dss.
- •Цифровая подпись на основе алгоритмов с открытыми ключами. Схема Фиата-Шамира.
- •Цифровая подпись Эль-Гамаля. Схема rsa.
- •Стандарт электронной цифровой подписи dss.
- •Стандарт электронной цифровой подписи гост-р 34.10-94.
- •Стандарт электронной цифровой подписи стб 1176.2-99.
- •Применение эллиптических кривых в криптографии. Алгоритм шифрования на основе эллиптических кривых.
- •Алгоритмы обмена ключами и электронной цифровой подписи на основе эллиптических кривых.
- •Стеганографические методы защиты информации. Основные понятия и определения. Области применения.
- •Общая модель стеганосистемы. Проблема устойчивости. Стегоанализ.
- •Методы сокрытия информации в неподвижных изображениях.
- •Методы сокрытия информации в текстовых данных.
- •Протоколы аутентификации. Двусторонняя аутентификация.
- •Протоколы аутентификации. Односторонняя аутентификация.
Примеры поточных шифров на основе fcsr.
Сдвиговый регистр с обратной связью по переносу, или FCSR (feedback with carry shift register), похож на LFSR
В обоих есть сдвиговый регистр и функция обратной связи, разница в том, что в FCSR есть также регистр переноса.
Вместо выполнения XOR над всеми битами отводной последовательности эти биты складываются друг с другом и с содержимым регистра переноса.
Результат mod 2 и становится новым битом.
Результат, деленный на 2, становится новым содержимым регистра переноса.
Регистр переноса не бит, а число.
Максимальный период FCSR выше, чем LFSR. Любое начальное состояние приводит к одной из четырёх ситуаций. Во-первых, оно может быть частью максимального периода. Во вторых, оно может перейти в последовательность максимального периода после начальной задержки. В третьих, после начальной задержки оно может породить бесконечную последовательность нулей. В четвёртых, после начальной задержки оно может породить бесконечную последовательность единиц. Для определения, чем закончится конкретное начальное состояние, существует математическая формула, но намного проще проверить это опытным путём. Если выходной поток вырождается в бесконечную последовательность нулей или единиц за n битов , где n - длина FCSR, не используйте это начальное состояние. FCSR можно использовать в потоковых шифрах вместо LFSR, а можно комбинировать FCSR и LFSR ,например:
Каскад FCSR. Каскад Голлманна с FCSR вместо LFSR;
Каскад LFSR/ FCSR. Каскад Голлманна с генераторами, меняющими LFSR на FCSR и наоборот;
Генератор "стоп - пошёл " FCSR. Все регистры - CSR; объединяющая функция XOR.
Генератор "стоп - пошёл " FCSR/LFSR.Регистр-1 - CSR, а Регистр-2 и Регистр-3 - LFSR. Объединяющая функция - сложение с переносом
RC4
Поток ключей в этом алгоритме не зависит от открытого текста.
Используется S-блок размером 8*8: S(0),....,S(255)
Элементы представляют собой перестановку чисел от 0 до 255, а перестановка является функцией ключа переменной длины.
В алгоритме применяются два счётчика (i и j) с нулевыми начальными значениями.
Для генерации случайного байта выполняется следующее:
i = (i+1) mod 256 ; j = (i+ S(i))) mod 256;
меняем местами S(i) и S(j);
t = (S(i) + S(j)) mod 256; K = S(t).
Байт K используется в операции XOR с открытым текстом для получения шифротекста.
Шифрование выполняется примерно в 10 раз быстрее , чем DES.
Инициализация S блока.
Сначала заполним его линейно: S(0)=0;....;S(255)=255.
Затем заполним ключом другой 256-байтовый массив, при необходимости для заполнения всего массива повторяя ключ: K(0),...,K(255).
Установим j=0.
for(i=0;i<256;i++)
{
j=(j+S(i)+K(i)) mod 256 ;
меняем местами S(i) и S(j);
}
Утверждается, что алгоритм устойчив к дифференциальному и линейному криптоанализу, что в нём нет никаких коротких циклов, и что он в высокой степени нелинеен.
RC4 может находиться в 21700 возможных состояниях.
S-блок медленно изменяется при использовании: i обеспечивает изменение каждого элемента, а j - что элементы изменяются случайным образом.
Идею можно обобщить на S-блоки и слова больших размеров.
WAKE
Алгоритм WAKE(Word Auto Key Encryption) выдаёт поток 32-битных слов,которые с помощью XOR могут быть использованы для получения шифротекста.
Для генерации следующего слова ключа используется предыдущее слово шифротекста.
Это быстрый алгоритм.
Алгоритм также использует S блок из 256 32-битовых значений. Этот S-блок обладает одним особым свойством: старший байт всех элементов представляет собой перестановку всех возможных байтов, а 3 младших байта случайны.
Сначала по ключу сгенерируем элементы S-блока.
Затем проинициализируем четыре регистра с использованием того же или иного ключа: A(0),B(0),C(0) и D(0).
Для генерации слова потока ключей K(i): K(i)=D(i).
Слово шифротекста С(i) представляет собой XOR слова открытого текста P(i) c K(i).
Затем обновим четыре регистра:
A(i+1) = M(A(i),D(i)) ;
B(i+1) = M(B(i),A(i+1)) ;
C(i+1) = M(C(i),B(i+1)) ;
D(i+1) = M(D(i),C(i+1)), где M(x,y)= (x+y) >> 8 xor S((x+y)^255).
Самым ценным качеством WAKE является его скорость. Однако он чувствителен к вскрытию с выбранным открытым текстом или выбранным шифротекстом.
