/ categories / Бизнес и стартапы / @alexlitreev_channel / post #1034
10.08K

AES-128 или AES-256? Минутка истории и математики.

Многие из вас, скорее всего, замечали, что различный софт, использующий шифрование, как правило, использует самый распространенный и общепринятый симметричный алгоритм блочного шифрования AES с ключами в 128- и 256-бит. Наш VPN-сервис Connecto VPN использует AES с 128-битным ключом, в то время, как некоторые другие VPN-провайдеры предлагают шифрование аналогичным алгоритмом, но с 256-битным ключом. Давайте разберёмся, почему так и зачем.

AES изначально предлагает три стандартных варианта длины ключа шифрования (128, 192 и 256 бит). Многие люди, опираясь на это, убеждены, что чем больше ключ — тем безопаснее (особенно учитывая тот факт, что AES-256 примерно на 40% медленнее чем AES-128). На самом деле, для того, чтобы понять, почему у AES есть 3 варианта длины ключа, стоит обратиться к истории.

Алгоритм шифрования AES был выбран в качестве государственного, федерального алгоритма США для защиты данных правительством Соединенных Штатов, в т.ч., данных армии, ФБР и АНБ. Армия и спецслужбы США имеют довольно большую и долгую историю использования различных методов шифрования (еще до появление AES) и так сложилось исторически, что внутренние требования их ведомств предписывают иметь три уровня защиты (такие предписания появились еще до появления AES, да и вообще, компьютеров в целом).

Исходя из этих требований законодательных и иных регуляторов, NIST (Национальный Институт Стандартов и Технологий США) решили формально последовать требованиям бюрократов и сделали три варианта длины ключа шифрования, при этом, самый первый уровень, AES-128, всё равно не может быть взломан с использованием современных технологий. Просто предложить 256-битные ключи было проще, чем изменять нормативы.

Что касается нашего выбора — мы выбрали AES-128. Давайте представим, что нам удалось использовать всю доступную в атмосфере земли энергию солнца в размере 174000 TW (тераватт) и мы запитали с их помощью огромное количество NVIDIA GTX 1080, производительность которых близка к 52000 MFLOPS/W. Взяв 1000 FLOPS за стоимость одной итерации перебора ключа к AES-128 по радужной таблице (это еще я очень оптимистично смотрю на вещи) при энергоэффективности равной 10^3, мы переберем 2^128 комбинаций вариантов ключей чуть менее чем за:
(2^128/((52∗10^3∗174∗10^15)/1000))/60/60/24/365 = 1.19*10^6 = 1.2 миллиона лет

1200000 лет перебора значений при использовании актуальных сегодня технологий. Пиздец, да?

Ну и даже если предположить, что я обосрался с вычислениями (а по-любому обосрался где-то), и допустить, что я ошибся на один знак после запятой — наша планета до этого момента времени уже десять раз станет необитаемой, уже не говоря о том, что и сами вы сдохнете.

При этом, по сравнению с 256-битным ключом, выбранный нами 128-битный ключ предлагает гораздо большее быстродействие (примерно на 40% быстрее), при этом он так же предоставляет достаточный уровень защиты данных, который нельзя взломать с помощью современных средств.

Поэтому, мораль такая: хоть AES-256 сильнее, это вовсе не означает, что AES-128 не достаточно безопасен. Большинство компаний, заявляющих, что они используют AES-256 вместо AES-128, делают это исключительно из маркетинговых целей, предполагая, что пользователь не будет разбираться в вопросе детально. Практического смысла в использование 256-битного ключа до появления квантовых компьютеров нет. И после появления. Потому что один хер взломают.


23:11 15.10.19
@alexlitreev_channel
19.07K -5

Авторский канал Александра Литреева о безопасности в интернете и прочих радостях жизни. www.litreev.com VPN: https://veesecurity.com TG: @alexlitreev 💸 litreev.com/donate Я не несу ответственности за содержимое рекламных публикаций с тегом #реклама