Открыть сервис

3DES

3DES (Triple Data Encryption Standard, тройной стандарт шифрования данных) — это симметричный блочный шифр, разработанный на основе более раннего алгоритма DES (Data Encryption Standard). Он применяется для защиты данных путём последовательного шифрования каждого блока информации три раза с использованием двух или трёх независимых ключей. 3DES был создан как временное решение для повышения криптостойкости DES, который к концу 1990-х годов стал уязвим для атак полным перебором.

История

Предпосылки создания

Стандарт DES, принятый Национальным институтом стандартов и технологий США (NIST) в 1977 году, использовал 56-битный ключ. К началу 1990-х годов развитие вычислительной техники сделало возможным подбор ключа методом полного перебора. В 1997 году был взломан DES-зашифрованный текст в рамках открытого конкурса, а в 1998 году организация Electronic Frontier Foundation (EFF) с помощью специализированного устройства «Deep Crack» продемонстрировала возможность взлома DES за 56 часов. Это потребовало разработки более стойкого алгоритма.

Разработка и стандартизация

Концепция тройного шифрования была предложена Уолтером Тачменом (Walter Tuchman) в 1978 году. В 1999 году NIST опубликовал стандарт FIPS PUB 46-3, в котором 3DES был официально признан временной заменой DES. Алгоритм также был включён в международный стандарт ISO/IEC 18033-3. В течение 2000-х годов 3DES широко применялся в финансовых системах (банкоматы, платёжные терминалы), протоколах SSH и TLS.

Вывод из эксплуатации

С развитием криптоанализа и появлением более эффективных атак (например, атака на основе связанных ключей) 3DES перестал считаться безопасным. В 2016 году NIST рекомендовал прекратить использование 3DES к 2023 году. В 2018 году NIST объявил о полном выводе алгоритма из эксплуатации, рекомендовав перейти на AES (Advanced Encryption Standard). С 2024 года 3DES не поддерживается в большинстве современных криптографических библиотек и протоколов.

Алгоритм работы

Основные параметры

3DES является блочным шифром, работающим с блоками данных фиксированного размера — 64 бита (8 байт). Размер ключа зависит от режима:

Процесс шифрования

Алгоритм выполняет три последовательные операции:

  1. Шифрование первого блока открытого текста с использованием ключа K1 (функция DES).
  2. Дешифрование результата с использованием ключа K2 (функция DES-1).
  3. Шифрование полученного результата с использованием ключа K3 (функция DES).

Режим EDE (Encrypt-Decrypt-Encrypt) обеспечивает совместимость с DES: если все три ключа одинаковы, 3DES эквивалентен однократному DES.

Режимы работы

3DES поддерживает стандартные режимы блочных шифров:

Криптостойкость

Атаки на 3DES

Сравнение с AES

Параметр3DESAES
Размер блока64 бита128 бит
Размер ключа112 или 168 бит128, 192 или 256 бит
Скорость шифрования~3-5 МБ/с (программная реализация)~50-100 МБ/с
Стойкость к квантовым атакамУязвим (алгоритм Гровера снижает стойкость до 56 бит)Более устойчив

Применение

Финансовый сектор

До середины 2010-х годов 3DES был основным алгоритмом в банковских системах:

Протоколы передачи данных

Недостатки и критика

Малый размер блока

64-битный блок делает 3DES уязвимым для атаки Sweet32 (2016 год). После шифрования ~32 ГБ данных (2^32 блоков) коллизии блоков становятся вероятными, что позволяет восстановить открытый текст.

Низкая производительность

Программные реализации 3DES в 10-20 раз медленнее AES из-за трёхкратного выполнения операций DES. Аппаратные реализации (например, в банкоматах) также уступают AES по скорости.

Устаревшая архитектура

DES был спроектирован для аппаратной реализации 1970-х годов. Его S-блоки и перестановки оптимизированы под 8-битные микропроцессоры, что снижает эффективность на современных 64-битных архитектурах.

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →