Программная реализация криптоалгоритмов типа RSA значительно сложнее и менее производительна, чем реализации классических криптоалгоритмов тина DES. Вследствие сложности реализации операций модульной арифметики криптоалгоритм RSA обычно используют только для шифрования небольших объемов информации, например для рассылки классических секретных ключей или в алгоритмах цифровой подписи, а основную часть пересылаемой информации шифруют с помощью симметричных алгоритмов.
В табл. 24.1 приведены некоторые сравнительные характеристики классического криптоалгоритма DES и криптоалгоритма RSA
Таблица 24.1. Сравнительные характеристики алгоритмов шифрования |
---|
Характеристика | DES | RSA |
Скорость шифрования | Высокая | Низкая |
Используемая функция шифрования | Перестановка и подстановка | Возведение в степень |
Длина ключа | 56 бит | Более 500 бит |
Наименее затратный криптоанализ (его сложность определяет стойкость алгоритма) | Перебор по всему ключевому пространству | Разложение числа на простые множители |
Время генерации ключа | Миллисекунды | Минуты |
Тип ключа | Симметричный | Асимметричный |
Односторонние функции шифрования
Во многих базовых технологиях безопасности используется еще один прием шифрования — шифрование с помощью односторонней функции (one-way function), называемой также необратимой функцией, хэш-функцией (hash function) или дайджест-функцией (digest function).
Эта функция, примененная к шифруемым данным, дает в результате значение, называемое дайджестом, которое состоит из фиксированного сравнительно небольшого и не зависящего от длины шифруемого текста числа байтов.
Подчеркнем, знание дайджеста не позволяет и даже не предполагает восстановления исходных данных. Для чегбже нужны односторонние функции шифрования (ОФШ)?
Для ответа на этот вопрос рассмотрим несколько примеров. Пусть требуется обеспечить целостность сообщения, передаваемого по сети. Отправитель и получатель договорились, какую ОФШ и с каким значением параметра — секретного ключа — они будут использовать для решения этой задачи. Прежде чем отправить сообщение, отправитель вычисляет для него дайджест и отправляет его вместе с сообщением адресату (рис. 24.13, а). Адресат, получив данные, применяет ОФШ к переданному в открытом виде исходному сообщению. Если значения вычисленного локально и полученного по сети дайджестов совпадают, значит, содержимое сообщения не было изменено во время передачи.
| Получатель |
ОтправительПередача по сети |
|
Передача по сетиРис. 24.13. Использование односторонних функций шифрования для контроля целостности |
Таким образом, хотя знание дайджеста не дает возможности восстановить исходное сообщение,