Скорость исчерпывающего поиска ключей по сравнению с DES после 1990 года стала вызывать дискомфорт среди пользователей DES. Однако пользователи не хотели заменять DES, поскольку для изменения алгоритмов шифрования, которые широко применяются и встроены в крупные архитектуры безопасности, требуется огромное количество времени и денег.
Прагматичный подход заключался не в полном отказе от DES, а в изменении способа использования DES. Это привело к измененным схемам Triple DES (иногда их называют 3DES).
Кстати, есть два варианта Triple DES, известные как Triple DES с 3 ключами (3TDES) и Triple DES с 2 ключами (2TDES).
3-KEY Triple DES
Перед использованием 3TDES пользователь сначала генерирует и распространяет ключ 3TDES K, который состоит из трех разных ключей DES K 1 , K 2 и K 3 . Это означает, что фактический ключ 3TDES имеет длину 3 × 56 = 168 бит. Схема шифрования иллюстрируется следующим образом:
Процесс шифрования-дешифрования выглядит следующим образом:
-
Зашифруйте блоки открытого текста, используя один DES с ключом K 1 .
-
Теперь расшифруйте вывод шага 1, используя один DES с ключом K 2 .
-
Наконец, зашифруйте вывод шага 2, используя один DES с ключом K 3 .
-
Результатом шага 3 является зашифрованный текст.
-
Расшифровка зашифрованного текста является обратным процессом. Пользователь сначала расшифровывает с помощью K 3, затем шифрует с помощью K 2 и, наконец, дешифрует с помощью K 1 .
Зашифруйте блоки открытого текста, используя один DES с ключом K 1 .
Теперь расшифруйте вывод шага 1, используя один DES с ключом K 2 .
Наконец, зашифруйте вывод шага 2, используя один DES с ключом K 3 .
Результатом шага 3 является зашифрованный текст.
Расшифровка зашифрованного текста является обратным процессом. Пользователь сначала расшифровывает с помощью K 3, затем шифрует с помощью K 2 и, наконец, дешифрует с помощью K 1 .
Благодаря такому дизайну Triple DES как процесса шифрования-дешифрования-шифрования можно использовать реализацию 3TDES (аппаратную) для одного DES, задав для K 1, K 2 и K 3 одинаковое значение. Это обеспечивает обратную совместимость с DES.
Второй вариант Triple DES (2TDES) идентичен 3TDES за исключением того, что K 3 заменяется на K 1 . Другими словами, пользователь шифрует незашифрованные блоки с помощью ключа K 1, затем дешифрует с помощью ключа K 2 и, наконец, снова шифрует с помощью K 1 . Следовательно, длина ключа 2TDES составляет 112 бит.
Системы Triple DES значительно более безопасны, чем один DES, но они, очевидно, намного медленнее, чем шифрование с использованием одного DES.