- •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.3.Многократное шифрование блоков
На первый взгляд представляется очевидным, что можно значительно повысить стойкость шифра, если криптограмму, полученную с помощью ключа 1 , зашифровать еще раз с помощью другого ключа 2 , т.е. реализовать процедуры шифрования и дешифрования следующим образом:
,
.
Здесь применяемые ключи указываются как нижние индексы у функций шифрования/дешифрования.
Пусть длина используемых ключей одинакова и равна N , а криптоанализ криптограммы выполняется с полным перебором всех возможных пар ключей 2 и 1.
Сначала
выбирают первого кандидата на ключ
2
и производят дешифрование криптограммы
.
Полученный результат дешифруют
раз,
перебирая
возможных кандидатов на ключ
1 ,
в надежде получить читаемое сообщение.
При неудаче производят дешифрование
исходной криптограммы с помощью второго
кандидата на ключ
2
и снова дешифруют полученный результат,
перебирая
возможных кандидатов на ключ
1
и т.д. Поскольку число возможных кандидатов
на ключ
2
также составляет
,
может показаться, что верхняя граница
необходимого числа расшифровок при
переборе двух ключей должна быть
.
Однако
можно показать, что это не
так. Если длина ключей равна N,
то верхняя граница необходимого числа
операций для криптоанализа двукратного
шифрования равна только
.и
двукратное шифрование не является
эффективным.
В силу сказанного для повышения стойкости шифрования используют не двойное, а трехкратное шифрование на трех различных ключах, т.е. формируют криптограмму по следующему правилу
,
.
Доказывается, что в этом случае наилучший метод криптоанализа при помощи тотального перебора ключей потребует 22N шагов, т.е. стойкость шифра существенно увеличивается.
В более простом способе повышения криптостойкости блоковых шифров с использованием трех ключей два ключа применяют для маскировки
=
3
,
=
1
.
Длина маскирующих ключей 1 и 3 может не совпадать с длиной ключа 2 .
5.4.Модифицированные алгоритмы блоковых шифров
При формировании криптограммы из сообщения один и тот же алгоритм шифрования может быть использован в различных модификациях. До сих пор рассматривалось применение блокового шифрования в виде электронной кодовой книги (Electronic Code Book, ECB). В этом случае сообщение разбивается на блоки одинаковой длины, заданной алгоритмом шифрования, после чего каждый блок независимо от других преобразуется в блок криптограммы. Данная модификация имеет существенные недостатки:
В течение всего времени действия ключа одни и те же блоки сообщения всегда преобразуются в одни и те же блоки криптограммы. Это может быть использовано оппонентом для получения некоторой информации о сообщении даже без знания ключа (так, определив вид криптограммы для некоторого сообщения один раз, можно, встретив эту же криптограмму в другой раз, безошибочно утверждать без знания ключа, что передавалось то же самое сообщение).
Данная модификация допускает подмену зашифрованного сообщения на какое-либо другое, т.е. навязывание злоумышленником без знания ключа ложного сообщения. Факт подмены может быть не обнаружен после дешифрования.
В качестве примера рассмотрим нападение со вставкой на сообщение о денежном переводе. Сообщение, состоящее из отдельных фрагментов, может выглядеть так, как это показано в верхней строке таблицы. В нижней строке таблицы указано местоположение и размеры блоков, отведенных под отдельные фрагменты.
|
Время отправления |
Имя банка отправителя |
Имя банка получателя |
Имя вкладчика |
Номер счета |
Размер вклада |
|
1 |
2 |
3 |
4 |
5 |
6 |
|
6 байт |
12 байт |
12 байт |
48 байт |
16 байт |
8 байт |
Фрагменты сообщения в столбцах 4 и 5 можно заменить в чужом переводе, и это не будет замечено при дешифровании.
Злоумышленник сначала переводит некоторую сумму на свой счет, что позволяет ему получить криптограмму своего имени и счета, а затем, в последующих переводах банка, заменяет криптограмму имени и счета любого вкладчика на криптограмму своего имени и счета.
Для устранения указанных недостатков используют модифицированные алгоритмы (моды) блокового шифрования.
Одна из модификаций, модификация с зацеплением блоков (Cipher Block Chaining, CBC) показана на рис. 11.
В этом случае сообщение также разбивается на блоки длины n, после чего соответствующие блоки криптограммы формируются по правилу
.
Рис. 11. Шифрование с зацеплением блоков |
Для дешифрования используется зависимость
i = 1, 2,…, S. В двух последних соотношениях E0 = IV, где IV – некоторые начальные данные (Initial Value), представляющие собой блок длины n из двоичных символов, которые выбираются случайно и не являются секретными, однако обновляются при каждом новом сеансе шифрования. Данная модификация предусматривает, что каждый блок открытого текста «маскируется» сложением по модулю 2 с предыдущим блоком криптограммы. А это означает, что каждый блок криптограммы является функцией ключа, вектора начальных |
данных и каждого бита предыдущих блоков открытого текста.
Легко видеть, что изменение любого блока сообщения приводит к изменению не только соответствующего блока криптограммы, но и всех последующих блоков. В результате появляется бессмысленный, нечитаемый текст и нападение со вставкой оказывается неэффективным.
Однако следует заметить, что сказанное справедливо лишь для текстов обладающих внутренними связями, которые присущи естественным языкам и корректирующим кодам, т.е. для текстов обладающих той или иной избыточностью. Эти тексты обладают имитостойкостью, под которой понимают сложность навязывания ложной информации. В отсутствие избыточности нападение со вставкой окажется незамеченным.
Кроме данной модификации часто используются и такие как
Модификация с обратной связью по криптограмме (Cipher Feed Back, CFB)
Модификация с обратной связью по гамме (Output Feed Back, OFB)
