Асимметричные (двух ключевые) криптосистемы
Асимметричный алгоритм реализован таким образом, что для работы с ним используется пара взаимосвязанных ключей. Для шифрования сообщения используется один («открытый») ключ, известный всем желающим, а для расшифровки – другой («закрытый»), существующий только у получателя. Асимметричная криптография позволила решить обе проблемы симметричной: проблему распространения ключей шифрования для обмена зашифрованной информацией и проблему их хранения.
Эта область криптографии очень молода по сравнению с симметричной криптографией. Первая схема, имевшая прикладную значимость, была предложена в начале 80-х годов ХХ века. За это время асимметричная криптография превратилась в одно из основных направлений криптологии – науки о шифрах, и используется в современном мире также часто, как и симметричные схемы.
Асимметричная криптография изначально задумана как средство защиты при передаче сообщений от одного объекта к другому (а не для конфиденциального хранения информации, которое должны обеспечивать симметричные алгоритмы). Открытый ключ используется для шифрования и для верификации цифровой подписи, а закрытый - для расшифровки и выработки цифровой подписи (цифровая подпись будет рассмотрена ниже).
Кроме того, процедура шифрования такова, что она необратима даже по известному ключу шифрования. То есть, зная ключ шифрования и зашифрованный текст, невозможно восстановить исходное сообщение – прочесть его можно только с помощью второго ключа – ключа дешифрования. А раз так, то ключ шифрования для отправки писем какому-либо лицу можно вообще не скрывать – зная его все равно невозможно прочесть зашифрованное сообщение.
Примеры асимметричных (двух ключевых) криптосистем:
RSA | Самая распространенная система асимметричного шифрования. Алгоритм RSA стоит у истоков асимметричной криптографии. Он был предложен тремя исследователями-математиками Рональдом Ривестом (R.Rivest) , Ади Шамиром (A.Shamir) и Леонардом Адльманом (L.Adleman) в 1977-78 годах. В 1993 г. метод RSA принят в качестве стандарта. Стойкость зависит от сложности факторизации больших целых чисел. |
ECC (криптосистема на основе эллиптических кривых) | Является конкурентом по отношению к другим асимметричным алгоритмам шифрования, так как при эквивалентной стойкости использует ключи меньшей длины и имеет большую производительность. |
Эль-Гамаль | Алгоритм, основанный на трудности вычисления дискретных логарифмов в конечном поле. Схема была предложена Тахером Эль-Гамалем в 1984 году. Эль-Гамаль усовершенствовал систему Диффи-Хеллмана и получил два алгоритма, которые использовались для шифрования и для обеспечения аутентификации (цифровой подписи). В отличии от RSA алгоритм Эль-Гамаля не был запатентован и, поэтому, стал более дешевой альтернативой, так как не требовалась оплата взносов за лицензию. |
ГОСТ Р 34.10-2012 | Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи. Новый стандарт отличается наличием требований к параметрам шифрования соответствующим длине секретного ключа 512 бит (ГОСТ Р 34.10-2001 – длина секретного ключа 256 бит) [7]. (Принят и введён в действие Приказом Федерального агентства по техническому регулированию и метрологии от 7 августа 2012 года № 215-ст взамен ГОСТ Р 34.10-2001) |
Асимметричное шифрование имеет свои недостатки:
- генерация больших простых чисел, для вычисления пары ключей, требует много времени на проверку простоты;
- процедуры шифрования информации громоздки и длительны.
Как следствие – быстродействие симметричных систем более чем в 100 раз выше.
Комбинированный метод
Операции возведения в степень больших чисел достаточно трудоемки, даже если они производятся по оптимизированным по времени алгоритмам. Вследствие этого потребительские характеристики программного обеспечения, использующего асимметричные криптоалгоритмы, были слабыми в связи с большим временем шифрования файлов. Поэтому, для увеличения скорости обработки защищаемой информации был предложен комбинированный метод. Суть его в том, что весь текст сообщения кодируется симметричным блочным шифром (намного более быстрым), с использованием сеансового ключа, сгенерированного для данного сеанса связи, а вот сам ключ сеанса шифруется как раз асимметричным алгоритмом с помощью открытого ключа получателя.
То есть, предлагается асимметричное шифрование применять только для передачи сеансового ключа симметричной системы по открытому каналу, а передачу сообщений вести с симметричным шифрованием.
Комбинированный метод (пример):
Рис. 23. Схема комбинированного метода
Если «А» хочет передать «В» сообщение М, он:
- генерирует случайный секретный ключ KS (сеансовый);
- зашифровывает на нем М, и получает зашифрованное сообщение С;
- зашифровывает KS на открытом ключе KВо асимметричной системы и добавляет его в сообщение;
- передает сообщение по открытому каналу.
«В» приняв сообщение:
- расшифровывает на своем секретном ключе KВс сеансовый ключ KS;
- с помощью KS расшифровывает С и получает М.