Розуміння симетричного шифрування та причини смерті DES

1

Комп’ютерам, які спілкуються один з одним через мережу, потрібний спільний секрет. Подібно двом спартанським полководцям, яким потрібний абсолютно однаковий код для передачі наказів, пристрої, що використовують симетричне шифрування, повинні мати ідентичні ключі для захисту своїх даних.

Цей метод простий. Один комп’ютер бере пакет інформації та спотворює його за допомогою секретного ключа перед відправкою по мережі. Комп’ютер-одержувач, що має той самий ключ, розшифровує дані. Якщо ви не знаєте, хто здійснюватиме зв’язок, ви не можете заздалегідь встановити ключ. Вся система ґрунтується на припущенні, що код залишається лише між двома кінцевими точками.

Уявіть простий шифр підстановки. Ви кажете другу, що кожну літеру у вашому повідомленні слід зрушити на дві позиції вниз за абеткою. “A” стає “C”. “B” стає “D”. Ви надсилаєте спотворений текст. Ваш друг зрушує його назад. Для будь-якого іншого, який перехопив пакет, це просто шум.

Комп’ютери роблять те саме. Але замість зсуву на дві літери використовують величезні ключі. Першим великим алгоритмом, розробленим у США, був стандарт шифрування даних (DES), затверджений у 1970-х роках. Він використав 56-бітний ключ.

Це було нормально, поки процесори не стали швидшими. Наразі фахівці з безпеки вважають DES небезпечним. 56-бітний ключ пропонує 70 квадрильйонів комбінацій. Це звучить як багато, поки у вас не з’явиться сучасний комп’ютер, який намагається перебрати кожну з них. Атака грубою силою може зламати DES протягом короткого часу. По суті він уже зламаний.

DES було замінено на стандарт шифрування AES (Advanced Encryption Standard). AES використовує ключі довжиною 128, 192 чи 256 біт. Більшість експертів вважають, що AES залишатиметься достатнім протягом дуже довгого часу. 128-бітний ключ забезпечує більше 300 ундециліонів можливих комбінацій. Зламати його грубою силою сьогодні неможливо. Завтра? Можливо. Але не найближчим часом.

Це не нове. Юлій Цезар використовував подібну техніку підстановки понад дві тисячі років тому. Він зрушував літери на три позиції вгору за абеткою. Щоб відправити “CROSSING THE RUBICON”, він написав “FURVV LQJWK HUXEL FRQ”. Він також розбивав текст на групи парної довжини, щоб приховати розміри слів. Симетричне шифрування це просто шифр Цезаря в масштабі, який ви ледве можете усвідомити.