Тройният DES (Triple DES/TDEA) — как работи, ключове и сигурност
Научете как работи Тройният DES (TDEA), какви ключове използва, реалната му сигурност и приложения в банки и плащания — практичен преглед за специалисти и админи.
В криптографията тройният DES е блоков шифър, създаден от шифъра Data Encryption Standard (DES) чрез трикратното му използване. Triple DES е известен също като TDES или по-стандартно TDEA (Triple Data Encryption Algorithm).
Как работи TDES
TDES обикновено се използва в режим Encrypt‑Decrypt‑Encrypt (EDE): първо се криптира с ключ k1, след това полученият резултат се декриптира с ключ k2, и накрая се криптира с ключ k3. Формално:
C = E_{k3}(D_{k2}(E_{k1}(P)))
Тази схема позволява обратима съвместимост със старите реализации на DES: когато k1 = k2 = k3, резултатът е еквивалентен на единичен DES. Съществуват и други варианти (например EEE), но EDE е най-разпространен, тъй като поддържа съвместимост с единичен DES при еднакви ключове.
Ключови опции и битове за паритет
- 3-ключов TDES (к1, к2, к3): теоретично дължина на ключа 168 бита (три 56-битови DES ключа). Тъй като всеки DES ключ е 64 бита с всеки осми бит за паритет, физическото място за съхранение е 192 бита.
- 2-ключов TDES (к1 = к3): използват се два независими 56‑битови ключа, обща дължина 112 бита (паметно 128 бита с паритет). Този режим е широко използван в индустрии с наследени стандарти (напр. разплащателни системи).
- 1-ключова конфигурация: ако всички три ключа са еднакви, TDES е просто еквивалентен на един DES (съответно с всички негови слабости).
Сигурност и известни атаки
Количеството „теоретични“ битове ключ за 3-ключов TDES е 168, но поради атаката meet-in-the-middle ефективната трудност за прекратяване на ключа пада и се оценява приблизително до 112 бита — т.е. сигурността не е равна на 168 бита. При 2-ключовия режим (к1 = к3) ефективният защитен уровень е още по-нисък; различни анализи и стандарти (включително NIST) разглеждат 2‑ключовия TDES като осигуряващ много по-малко от 112 бита сигурност и в практиката оценяват неговата „еквивалентна“ сигурност на около 80 бита поради комбинация от meet-in-the-middle и други атаки (особено ако нападателят има възможността да използва избрани или известни текстове).
Допълнително, тъй като DES/TDES работят с блок от 64 бита, съществува и риск от сблъсъци (birthday attacks) при големи обеми данни, шифрирани с един и същ ключ. Това налага лимитиране на количеството данни, обработвани под един ключ (виж по-долу).
Ограничения на конструкцията
- Малък блоков размер: 64‑битовият блок води до по-рано появяване на колизии при големи количества обработени блокове (birthday bound). Поради това съвременните системи предпочитат алгоритми с 128‑битови блокове (напр. AES).
- Производителност в софтуер: DES и TDES са сравнително бавни при софтуерни реализации, тъй като са проектирани предимно за хардуер. Това е една от основните причини за преминаване към AES, който е оптимизиран и за софтуерни изпълнения.
- Ограничения в употребата: поради горните фактори и развитието на криптоанализата, стандартите постепенно изваждат TDES от одобрените опции за нови разработки и препоръчват миграция към по‑сигурни алгоритми като AES.
Практически бележки и препоръки
- За нови проекти и системи се препоръчва използването на AES (или друг модерен, одобрен блоков шифър) вместо TDES поради по-висока сигурност, по-голям блоков размер (128 бита) и по-добра производителност в софтуер.
- Ако TDES все пак се използва (често поради наследена съвместимост), следвайте практики за ограничаване на риска: използвайте 3-ключов режим с независими ключове, сменяйте ключовете редовно и ограничете количеството данни, шифрирани с един ключ (ограничение поради 64‑битовия блок; често препоръката е да не се превишава приблизително 2^32 блока, в зависимост от използвания режим на работа и приложението).
- Използвайте модерни режими на работа и подходящи механизми за автентикация (например AEAD конструкции като GCM при AES), тъй като самият TDES в традиционни режими (CBC/ECB) не осигурява автентикация.
Приложения и текущ статус
TDES постепенно изчезва от обща употреба и е широко заменен от Advanced Encryption Standard (AES). Въпреки това, едно голямо изключение е секторът на електронните разплащания, където 2‑ключовият TDES все още се прилага широко и за него продължават да се поддържат и развиват стандарти (например EMV, стандартът за взаимодействие на IC карти, наричани още "чип карти", и POS терминали и банкомати, поддържащи IC). Това означава, че TDES ще остане в употреба като наследен криптографски стандарт поне в определени индустрии, но за нови системи и продукти преходът към AES е задължителен.
Заключение
Тройният DES е практична интервенция в ерата след откриването на слабостите на единичния DES и е позволил продължителна употреба на познати инфраструктури. Въпреки това архитектурните му ограничения (64‑битов блок, паритетни битове, относително ниска ефективна сигурност и лоша софтуерна производителност) и развитието на атаките правят TDES неадекватен за повечето съвременни приложения. За нови разработки се препоръчва преминаване към AES и други съвременни криптографски алгоритми; при поддържане на TDES в наследени системи — използвайте правилно ключови опции, чести смени на ключове и ограничаване на обема данни, обработвани с един и същи ключ.

Действието на тройния DES, където M е обикновеният текст, C е шифърният текст, а {k1, k2, k3} е наборът от трите ключа за криптиране.
Свързани страници
- DES-X
- Стандарт за криптиране на данни (DES)
- Разширен стандарт за шифроване (AES)
Въпроси и отговори
В: Какво представлява Triple DES?
О: Triple DES (TDES или TDEA) е блоков шифър, създаден от шифъра Data Encryption Standard (DES), като го използва три пъти. Той е създаден, за да увеличи пространството за ключове и да предотврати атаките "среща в средата", които са ефективни срещу двойното DES шифроване.
Въпрос: Колко голяма е дължината на ключа на TDES с 3 ключа?
О: Дължината на ключа на 3-ключовия TDES е 168 бита, с три 56-битови DES ключа и битове за четност за обща дължина на паметта от 192 бита.
В: Колко е дължината на ключа на TDES с 2 ключа?
О: Дължината на ключа на TDES с 2 ключа е 112 бита, с два 56-битови DES ключа и битове за равенство за обща дължина на паметта от 128 бита.
В: Какъв тип атака може да се използва срещу 2TDES?
О: 2TDES може да бъде използван чрез определени атаки от типа "избран чист текст" или "известен чист текст". Поради това NIST го разглежда като защитен само с 80 бита.
В: Triple DES по-подходящ ли е за софтуерни или хардуерни реализации?
О: По замисъл Triple DES страда от бавна производителност в софтуера, така че е по-подходящ за хардуерни реализации.
В: Широко използван ли е Triple DES днес?
О.: Въпреки че Triple DES до голяма степен е заменен от Advanced Encryption Standard (AES), той остава активен криптографски стандарт в сектора на електронните разплащания, където продължава да се разработват и разпространяват стандарти, базирани на него.
В: Какво означава EMV във връзка с Triple DES?
О: EMV е съкращение от Europay Mastercard Visa, което представлява стандарт за взаимодействие между IC карти ("чип карти") и POS терминали и банкомати, поддържащи IC, който широко използва 2TDES.
обискирам