- •1.Основы защиты информации
- •1.1.Общие вопросы информационной безопасности
- •1.2.Правовые методы обеспечения информационной безопасности
- •1.3.Административные методы защиты информации
- •1.4.Преступления в сфере компьютерной информации
- •Глава 28. Преступления в сфере компьютерной информации
- •1.5.Программно-аппаратные методы защиты информации
- •2.Краткая история развития криптографии
- •2.1.Криптография в Древнем мире
- •2.2.Основные этапы развития криптографии
- •3.Идеи и методы криптографии
- •3.1.Модели шифрования/дешифрования дискретных сообщений
- •3.2.Идеально стойкие криптосистемы
- •3.3.Необходимое условие теоретической недешифруемости
- •3.4.Расстояние единственности
- •3.5.Вычислительно стойкие криптосистемы
- •4.Способы формирования криптограмм
- •4.1.Блоковые и потоковые шифры
- •4.2.Маскираторы аналоговых сообщений
- •5.Блоковое шифрование
- •5.1.Симметричные блоковые шифры
- •5.2.Структура Файстеля
- •5.3.Многократное шифрование блоков
- •5.4.Модифицированные алгоритмы блоковых шифров
- •5.5.Параметры современных блоковых шифров Зарубежные блоковые шифры
- •Государственный стандарт шифрования Российской Федерации
- •6.Потоковые шифры
- •6.1.Аддитивные потоковые шифры
- •6.2.Применение линейных рекуррентных регистров для потокового шифрования
- •6.3. Рис. 15. К обсуждению применимости лрр для потокового шифрования Потоковые режимы применения блочных шифров
- •7.Асимметричные криптосистемы
- •7.1.Особенности асимметричных криптосистем
- •8.Краткие сведения из теории чисел
- •7.2.1. Модульная арифметика
- •7.2.2. Возведение в степень
- •8.1.Вычисление дискретного логарифма
- •8.2.Разложение на множители
- •8.3.Вычисление наибольшего общего делителя
- •8.4.Обращение элементов по модулю n
- •8.5.Тесты на простоту
- •9.Основы построения асимметричных систем
- •7.4. Критосистема rsa
- •10.Гибридная система шифрования
- •11.Цифровая подпись
- •11.1.Цифровая подпись в системах шифрования с открытым ключом
- •11.2.Хеширование
- •12.Обеспечение безопасности электронных платежей
- •12.1.Основные методы электронных платежей
- •12.2.Пластиковые карты
- •12.3.Магнитные карты
- •12.4.Интеллектуальные карты
- •12.5.Основные преимущества смарт-карт
- •12.6.Надежность и безопасность пластиковых карт
- •13.Электронные платежи в Интернет
- •13.1.Электронные платежи с использованием пластиковых карт
- •13.2.Протокол set
- •13.3.Цифровая наличность
- •13.4.Цифровая подпись вслепую
- •13.5.Протокол анонимных платежей
5.Блоковое шифрование
5.1.Симметричные блоковые шифры
Еще в работе Шеннона «Теория связи секретных систем» были сформулированы следующие основные принципы преобразования сообщений, которые могут обеспечить высокую стойкость блокового шифрования (рис. 9):
подстановка (нелинейное преобразование, зависящее от ключа), ставит на место одних символов другие как функцию символов сообщения и ключа, создает сложную зависимость между сообщением и шифртекстом;
2) перестановка выполняет перепутывание, перемешивание символов, скрывает частоту появления устойчивых сочетаний символов;
3) итерирование (повторение двух предыдущих пунктов многократно) распространяет (рассредоточивает, рассеивает) влияние отдельных символов открытого текста и отдельных символов ключа на значительное число символов шифртекста.
Рис.
9. Принцип построения блоковых шифров
Достаточно сложно задать общее нелинейное преобразование на блоках большой длины n. В то же время, если выбирать блоки короткими, то в криптограмме сохранится статистика сообщения. Статистику сообщения оппонент может использовать для эффективного криптоанализа, как это реализуется, например, при криптоанализе шифра простой замены. Для разрешения указанного противоречия обычно выбирается умеренная длина блоков. Сообщение разбивается на блоки одинаковой длины n. Затем к каждому блоку многократно применяются нелинейное преобразование и перестановка символов в пределах блока.
Простейшим способом задания нелинейного преобразования является табличный способ, когда сначала двоичный блок преобразуется в число, затем это число по таблице преобразуется в другое число, которое в свою очередь снова преобразуется в двоичный блок. Например, если шифруются блоки длиной n = 3, пусть им сопоставляются некоторые числа:
000 ® 0, 001 ® 1, 010 ® 2,..., 111 ® 7,
а таблица подстановок следующим образом задается ключом:
{0, 1, 2, 3, 4, 5, 6, 7}®{4, 2, 6, 7, 0, 5, 1, 3} .
Это означает, что, например, входной блок 011 будет преобразован в выходной блок 111. Сложность такого преобразования равна 2n , т.е. равна числу возможных двоичных слов длиною n, где n – длина блока.
Нелинейные преобразования определяются секретным ключом. При выполнении каждой итерации обычно используется новый ключ. Для его получения производят специальные преобразования секретного ключа. Совокупность применяемых ключей (текущих ключевых элементов) называют расширенным ключом. Расширенный ключ вырабатывается из секретного ключа, например, при помощи циклических сдвигов символов исходного ключа. Определенные последовательности бит расширенного ключа применяют как текущие ключи.
5.2.Структура Файстеля
Многие современные блоковые шифры реализуются на основе так называемой структуры Файстеля. Для этого предварительно из секретного ключа = 0 при помощи заданного детерминированного преобразования, входящего в описание алгоритма шифрования, формируется последовательность текущих ключей i , i = 1, 2,..., d, где d – число итераций.
Сама структура Файстеля предполагает следующий способ преобразования блоков. Сначала каждый блок сообщения, образованный последовательностью двоичных символов. длиною n , разбивается пополам на подблоки длиною n0 = n / 2 (рис. 10). Для этого n должно быть четным
Шифрование каждого блока выполняется отдельно с использованием рекуррентного соотношения
Рис. 10. Подготовка блока для шифрования на основе структуры Файстеля |
Здесь f ( , ) – открытая нелинейная детерминированная функция, i – текущие ключевые элементы, сформированные детерминированным образом из основного секретного ключа данной криптосистемы. Криптограмма образуется на заключительной итерации (i = d ) и имеет вид блока |
= ( d , d +1)
длиною n. Этот блок также составлен из последовательно записанных друг за другом подблоков, но теперь уже d и d +1 .Отметим, что примененное объединение подблоков в единый блок называется конкатенация.
Преимущества структуры Файстеля состоят в том, что, во-первых, для нее выполняется принцип перемешивания подблоков и, во-вторых, хотя функция f ( , ) может и не иметь обратную f –1( , ), весьма просто реализуется алгоритм дешифрования при ключе, известном законному пользователю.
Имеется много различных блоковых шифров, основанных на структуре Файстеля, которые отличаются выбором функции f и способом формирования текущих ключевых элементов i , i = 1, 2,…, d, из секретного ключа .
