Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Коды и шифры.DOC
Скачиваний:
62
Добавлен:
18.08.2019
Размер:
2.07 Mб
Скачать

Зацепление

Поскольку DES-алгоритм шифрует текст короткими блоками (всего по 64 бита), возникает резонный вопрос: как зашифровать сообщение большей длины? Самое простое - разбить сообщение на блоки по 8 знаков (=64 бита) и зашифровать их последовательно на одном и том же 64-разрядном ключе. Это будет означать, что все 64-разрядные шифрованные сообщения окажутся одноключевыми, однако данное свойство, которое было бы фатальным для линейных видов шифрования, ничего или почти ничего не дает криптоаналитику благодаря нелинейной природе DES-преобразования. Однако есть более надежный способ: менять ключ для каждого 8‑символьного блока, сделав его зависящим как от начального ключа, так и от части (или от всего) открытого текста предыдущих блоков. Легальный получатель расшифрует открытый текст первого блока, так как ему известен начальный ключ; далее он может вычислить ключ для второго блока, а затем расшифровать его. Теперь у него есть открытый текст второго блока, и он может вычислить ключ для расшифрования третьего блока, и так далее. Если противнику удалось прочесть часть сообщения (например, из-за повторений стандартного текста), он не сможет продвинуться далее, так как без знания всех предыдущих блоков открытого текста он не сможет вычислить другие ключи. Если бы для всех блоков использовался один и тот же ключ, он смог бы дешифровать все сообщение целиком.

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

Реализации des-алгоритма

Хотя написать программу зашифрования/расшифрования по DES‑алгоритму совсем не трудно, никакая его реализация в программном виде не может быть официально одобрена, в частности, потому что программу легко изменить. К тому же, программные версии работают гораздо медленнее аппаратных, выполненных на специально разработанных микросхемах. Вскоре после официального одобрения DES-алгоритма различными производителями были разработаны и предложены к использованию устройства, в состав которых входили микросхемы, осуществлявшие преобразование согласно DES-алгоритму. Такие устройства могут зашифровывать и расшифровывать со скоростью сто тысяч знаков в секунду и даже больше.

Совместное использование алгоритмов rsa и des

В системах с открытым ключом, таких как RSA, алгоритм зашифрования/расшифрования обычно требует большого объема вычислений, и поэтому может потребовать большого времени. В то же время в блочных системах шифрования, подобных DES-алгоритму, процессы зашифрования/расшифрования могут выполняться гораздо быстрее (возможно, даже в тысячу раз быстрее). Однако, если отправитель

  1. зашифрует ключ DES-алгоритма по методу RSA и пошлет его получателю, а затем

  2. зашифрует сообщение на ключе DES-алгоритма,

то он сможет значительно уменьшить объем вычислений, не снижая стойкости системы в целом. Если применяется "зацепление", то RSA нужно будет применить только один раз, для зашифрования начального ключа DES-алгоритма.

Полезное замечание

С позиции метода "грубой силы" шифры простой замены, имеющие более 1026 возможных вариантов, вскрыть гораздо труднее, чем сообщения, зашифрованные с помощью DES-алгоритма, так как в нем число вариантов меньше 1017. Этот факт вновь показывает, сколь обманчивы могут быть рассуждения с позиции метода "грубой силы".