Шифрование
с открытым ключом
Криптография — это
наука о защите данных. Алгоритмы криптографии с помощью математических методов
комбинируют входной открытый текст и ключ шифрования, в результате чего получаются
зашифрованные данные. Применение криптографии обеспечивает надежную передачу
данных и предотвращение их получения несанкционированной стороной. Применяя
хороший алгоритм шифрования, можно сделать практически невозможным, с точки
зрения необходимых вычислительных и временных ресурсов, взлом защиты и получения
открытого текста подбором ключа. Для быстрого выполнения подобного преобразования
необходим расшифровывающий ключ.
В традиционном шифровании
с секретным ключом (secret key) (симметричное шифрование) зашифровывающий
и расшифровывающий ключи, совпадают. Стороны, обменивающиеся зашифрованными
данными, должны знать общий секретный ключ. Процесс обмена информацией о секретном
ключе представляет собой брешь в безопасности вычислительной системы.
Фундаментальное отличие
шифрования с открытым ключом (асимметричное шифрование) заключается в
том, что зашифровывающий и расшифровывающий ключи не совпадают. Шифрование информации
является односторонним процессом: открытые данные шифруются с помощью зашифровывающего
ключа, однако с помощью того же ключа нельзя осуществить обратное преобразование
и получить открытые данные. Для этого необходим расшифровывающий ключ, который
связан с зашифровывающим ключом, но не совпадает с ним. Подобная
технология шифрования предполагает, что каждый пользователь имеет в своем распоряжении
пару ключей — открытый ключ (public key) и личный или закрытый
ключ (private key). Свободно распространяя открытый ключ, вы даете возможность
другим пользователям посылать вам зашифрованные данные, которые могут быть расшифрованы
с помощью известного только вам личного ключа. Аналогично, с помощью личного
ключа вы можете преобразовать данные так, чтобы другая сторона убедилась в том,
что информация пришла именно от вас. Эта возможность применяется при работе
с цифровыми или электронными подписями. Шифрование с открытым
ключом имеет все возможности шифрования с закрытым ключом, но может проходить
медленнее из-за необходимости генерировать два ключа. Однако этот метод безопаснее.
Появление пары "личный ключ/открытый
ключ" привело к возникновению нескольких новых технологий, наиболее важными
из которых являются цифровые подписи, распределенная аутентификация, соглашение
о секретном ключе, достигаемое с применением открытого ключа, и шифрование больших
объемов данных без предварительного соглашения о секретном ключе. Существует
несколько хорошо известных алгоритмов шифрования с открытым ключом. Некоторые
из них, например RSA (Rivest-Shamir-Adelman) и шифрование с помощью
эллиптической кривой (Elliptic Curve Criptography, ECC), являются алгоритмами
общего употребления в том смысле, что они поддерживают все упомянутые выше операции.
Другие алгоритмы поддерживают только некоторые операции. К ним относятся: алгоритм
цифровой подписи (Digital Signature Algorithm, DSA), используемый только
для работы с цифровыми подписями, и алгоритм DiJfie-Hetlman (D-H), применяемый
только для соглашений о секретных ключах. Алгоритмы шифрования, используемые
безопасностью IP (IP Security), подробнее описаны в данной главе в разделе "Безопасность
IP".
Ниже кратко
рассмотрены основные области применения шифрования с открытым ключом.
Содержание раздела
|