Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекци ИБ (з.о для СсО).doc
Скачиваний:
122
Добавлен:
23.08.2019
Размер:
4.62 Mб
Скачать

2.2.1.3. Комбинированные шифры

При комбинированном шифровании реализуются принципы как блоч­ного, так и поточного шифрования. При этом возможно использование блочного шифра в поточном режиме (гаммирование, шифрование с обрат­ной связью) и поточного шифра в блочном режиме (шифрование блоков).

Комбинированное шифрование применяется на практике в различных режимах стандартов шифрования ГОСТ 28147-89 и DES.

Одноключевые криптографические алгоритмы наиболее хорошо извес­тны в огромном мире криптографии. Сравнительные характеристики неко­торых из них представлены в табл. 5.1.

Все приведенные в табл. 1 одноключевые алгоритмы используют слож­ный режим шифрования с обратной связью CFB американского федераль­ного стандарта шифрования данных DES.

2.3. Двухключевые криптографические системы

Двухключевые криптографические системы характеризуются на исполь­зовании двух ключей: открытого (несекретного) и закрытого (секретного). Особенность двухключевых систем состоит в возможности получения двух разновидностей шифрования в зависимости от вариантов применения от­крытого и секретного ключей.

Рис. 5.24. Система шифрования с открытым ключом

Так, если открытый ключ используется для шифрования, а секретный ключ — для расшифрования, то имеет место система шифрования с откры­тым ключом. В этом случае каждый владелец открытого ключа может за­шифровать текст, а расшифровать его сможет только владелец секретного ключа. Этот способ используется, например, в системах сотовой подвиж­ной связи стандарта GSM. Структурная схема системы шифрования с от­крытым ключом представлена на рис. 5.24.

Процесс шифрования и расшифрования для систем с открытым ключом, проиллюстрированный на рис. 5.24, может быть представлен выражениями:

Y=Ezo(X), X=Dzc(Y)=Dzc(Ezo(X)),

где X — открытый текст;

Y — зашифрованный текст;

ZQ — открытый ключ;

Zc — секретный ключ;

Ezo — функция шифрования;

Dzc — функция расшифрования.

Если же секретный ключ используется для шифрования, а открытый для рас­шифрования, то имеет место система электронной цифровой подписи (ЭЦП). В данном случае только владелец секретного ключа может правильно зашифро­вать текст, то есть подписать его, а проверить подпись (расшифровать текст) может любой пользователь, имеющий в своем распоряжении открытый ключ. Реализацию процесса шифрования и расшифрования для системы ЭЦП можно представить с помощью следующих выражений:

Y=Ezc(X), X=Dzo(Y)=Dzo(Ezc(X)),

где X — открытый текст;

Y — зашифрованный (подписанный) текст;

Zo — открытый ключ;

Zc — секретный ключ;

Ezc — функция шифрования ЭЦП;

Dz0 — функция расшифрования ЭЦП.

При этом для взаимной однозначности выражений, описывающих про­цессы шифрования и расшифрования с открытым и секретным ключами, необходимо выполнение условия

EzoDzc=EzcDzo=e,

где е — единичное преобразование.

2.3.1. Криптографические системы с открытым ключом

В криптосистемах с открытым (общедоступным) ключом используют­ся некоторые аналитические преобразования и два различных, но взаимо­связанных друг с другом ключа — один (открытый — доступный любому лицу) для шифрования, другой (секретный — доступный только одному лицу) для дешифрирования.

Стойкость криптосистем с открытым ключом определяется вычислитель­ной сложностью алгоритмов. В этом случае предполагается, что даже при на­личии всей доступной информации для дешифрирования сообщения оно не сможет быть восстановлено за требуемое время из-за чрезвычайно большого объема необходимых вычислений.

В криптосистемах с открытым ключом, в алгоритмах шифрования и рас­шифрования используются разные ключи, каждый из которых не может быть получен из другого (с приемлемыми затратами).

Желательно, чтобы методы шифрования обладали минимум двумя свой­ствами:

• Законный получатель сможет выполнить обратное преобразо­вание и расшифровать сообщение

• Злоумышленник или криптоаналитик противника, перехвативший сообщение, не сможет восстановить по нему исходное сообще­ние без таких затрат времени и средств, которые сделают эту работу нецелесообразной.

Один ключ используется для шифрования, другой — для расшифрова­ния. Односторонние функции не могут быть непосредственно использова­ны в качестве криптосистемы, так как даже законный получатель не смо­жет расшифровать полученное сообщение. Односторонняя функция долж­на иметь «потайную дверь (лазейку)», то есть должен существовать эффективный способ ее вычисления в обоих направлениях, при этом зна­ние прямого преобразования не позволяет легко найти обратное преобра­зование. Двухключевые системы (рис. 5.25), в основном, используют блоч­ные методы шифрования и основаны на применении односторонних (нео­братимых) функций с потайным ходом (лазейкой). Эти функции обладают важным свойством: при заданном значении х относительно просто вычис­лить значение функции f(x). Однако, если известна функция y=f(x), то для вычисления х очень трудно рассчитать значение обратной функции l / f(y).

Рис. 5.25. Двухключевые криптографические системы

Односторонние функции с потайной две­рью (лазейкой) являются теоретической ос­новой криптосистем с открытым ключом. Примером подобной функции является пере­множение простых чисел (простое число, как известно из школьной программы, — это це­лое число, которое делится без остатка толь­ко на единицу и на само себя). Например, сравнительно несложно перемножить два простых 100-значных числа, однако для раз­ложения на множители получившегося 200-значного числа потребуется десятки лет не­прерывной работы мощного компьютера. Примером криптоалгоритма на основе умно­жения простых чисел является широко известный алгоритм RSA (Райвест, Шамир, Адлеман). Криптостойкость алго­ритма RSA находится в прямой зависимости от сложности разложения простых чисел на множители.

Вычисление ключей в таких системах осуществляется получателем сооб­щений, который оставляет у себя тот ключ, который он будет потом исполь­зовать для расшифрования, то есть секретный ключ. Другой ключ — откры­тый, он высылает отправителю сообщений любым доступным способом, не опасаясь его огласки. Используя этот открытый ключ, любой пользователь может зашифровать свой открытый текст и послать его получателю, кото­рый сформировал данный открытый ключ (рис. 5.26). Все используемые алгоритмы этого процесса являются общедоступными. Особенность этого метода заключается в том, что функции шифрования и расшифрования явля­ются обратимыми только тогда, когда они обеспечиваются с помощью стро­го определенной пары ключей (открытого и секретного), причем открытый ключ должен представлять собой необратимую функцию от секретного ключа.

Рис. 5.26. Пример реализации системы с открытым ключом

В результате исследований односторонних (необратимых) функций с использованием решений определенных классов математических задач по­явились следующие направления в построении двухключевых криптогра­фических алгоритмов:

• Умножение простых чисел

• Дискретное возведение в степень

• Задача об укладке (упаковки) рюкзака (ранца)

• Использование кодовых конструкций, исправляющих ошибки.

Недостатком этих систем является то, что в системах с открытым клю­чом, также как и в блочных шифрах, необходим большой размер шифруе­мого блока, хотя, возможно, и не больше чем в алгоритме DES. А это пре­пятствует, наряду с низкой скоростью шифрования, использованию алго­ритмов с открытым ключом в потоковых шифрах. На настоящий момент высокоэффективные системы с открытым ключом пока не найдены. Почти повсеместно принято ограничение использования криптосистем с откры­тым ключом — только для управления ключами и цифровой подписи.