Як працює шифрування з симетричним ключем і чому AES замінив DES

1

Як працює симетричне шифрування і чому AES замінив DES

Це по суті секретний потиск рук для машин.

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

Вам потрібно знати, які пристрої спілкуються один з одним, перш ніж ви зможете встановити цей ключ на обох кінцях. Це наперед розподілений секрет. Подумайте про це як про дитячу гру, де ви домовилися, що “A” стає “C”, а “B” стає “D”. Якщо ваш друг має той самий аркуш з правилами («Зрушення на 2»), він зможе прочитати вашу записку. Якщо ж сторонній перехопить пакет, він побачить лише нісенітницю.

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

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

Чому? Тому що закон Мура не дбає про ваше шифрування.

56-бітний ключ пропонує 72 квадрильйони можливих комбінацій. Це звучить як багато, поки ви не зрозумієте, що сучасне обладнання може перебирати ці комбінації при атаках грубою силою за час, необхідний для заварювання кави. DES фактично зламаний. Він був замінений на розширений стандарт шифрування (AES), який, ймовірно, ви використовуєте прямо зараз.

AES використовує 128-, 192- або 256-бітові ключі. Математика стає астрономічною. В одному 128-бітному ключі міститься більше комбінацій, ніж піщин на всіх пляжах Землі. Більшість експертів згодні з тим, що AES буде надійним ще дуже довго. Але справа не лише у числах. Справа в архітектурі.

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

Симетричне шифрування відрізняється. Це не просто заміна букв. Це математичний процес, який перемішує весь пакет даних. Ключ визначає перестановку. Без цього конкретного ключа дані залишаються замкненими.

Але є каверза.

Найбільший біль голови з системами симетричного шифрування — це саме шифрування. Це розподіл ключів. Як безпечно доставити цей секретний ключ до іншого комп’ютера? Якщо ви відправите ключ відкритим текстом, ви вже програли. Якщо ви використовуєте відкритий канал, ключ може бути перехоплений. Саме тому існує асиметричне шифрування для вирішення проблеми обміну ключами. Але для самої передачі? Симетричне шифрування, як і раніше, є королем. Воно швидше. Воно легше. Йому не потрібне важке обчислювальне навантаження, характерне для криптографії з відкритим ключем.

Тому ви використовуєте обидва. Асиметричний для обміну симетричним ключем. Симетричне для надсилання самих даних.

Це гібридний підхід. Ефективний. Безпечний. Стандартний.

Але не невразливий.

Постійно з’являються нові атаки. Квантові обчислення нависають на горизонті, обіцяючи зламати поточні стандарти, вирішуючи завдання факторизації цілих чисел та дискретного логарифмування за секунди. Ми вже працюємо над постквантовими алгоритмами. Але поки що? AES 256-біт – це золотий стандарт. Він надійний. Він набув значного поширення. Він працює.