Криптография среднего уровня: в криптовойне вашим новым излюбленным оружием станет ChaCha20.

  • Автор темы Автор темы LeSh1y777
  • Дата начала Дата начала

LeSh1y777

Пользователь
Регистрация
25/9/25
Сообщения
5,682
Репутация
49
Лайки
153
Депозит
-8.95$
Для печати, в формате PDF и по электронной почте
Добро пожаловать обратно, мои начинающие кибервоины!
Криптография, то есть сокрытие данных, — один из основополагающих навыков кибербезопасности. Без криптографии все наши данные были бы раскрыты во всех наших коммуникациях и хранилищах данных. Криптография используется для хранения наших паролей (хеширование), обмена симметричными ключами (асимметричная криптография), а также шифрования потоков данных (TLS) и хранилищ данных. Чтобы эффективно работать в нашей области кибербезопасности, необходимо понимать основы криптографии, но чем больше вы знаете, тем дальше и быстрее вы будете продвигаться.
В последние годы в сфере кибербезопасности начали набирать популярность новые симметричные шифры. Большинство симметричных шифров являются блочными, то есть они шифруют блок (байты) данных за раз. Это отлично подходит для хранения данных, но неидеально для потоковой передачи. В результате ChaCha20 становится всё более популярным, когда речь идёт о безопасных и быстрых потоках данных.
Давайте посмотрим на ChaCha20!

Что такое ChaCha20?

ChaCha20 — это симметричный потоковый шифр , то есть он шифрует и расшифровывает данные, используя один и тот же 256-битный ключ. Разработанный Дэниелом Дж. Бернстайном в 2008 году, он является духовным преемником Salsa20, обладая улучшенной диффузностью и устойчивостью к криптоанализу. ChaCha20 создан для скорости, безопасности и простоты , что делает его популярным везде: от VPN (например, WireGuard) до TLS 1.3 и мобильных приложений.

Как работает ChaCha20?

Забудьте о блочных шифрах вроде AES. ChaCha20 шифрует данные как непрерывный поток . Вот схема работы ChaCha20:
  1. Генерация ключей:
    • Начните с предоставленного пользователем 256-битного ключа и случайно сгенерированного 96-битного одноразового номера (числа, используемого один раз).
  2. Инициализация:
    • Внутреннее состояние шифра устанавливается с помощью ключа, одноразового номера и 32-битного счетчика блоков.
    • Это состояние представляет собой матрицу 4×4 из 32-битных слов:
      • Первая строка: Константная строка («расширить 32-байтовый k»)
      • Следующие две строки: 256-битный ключ
      • Последняя строка: 32-битный счетчик + 96-битный одноразовый код.
  3. Генерация ключевого потока:
    • ChaCha20 генерирует 512-битный (64-байтовый) блок псевдослучайного ключевого потока для каждой итерации.
    • Каждый блок уникален — благодаря счетчику, который увеличивается с каждым раундом.
  4. Шифрование:
    • Открытый текст подвергается операции XOR с ключевым потоком для получения шифротекста.
    • Расшифровка выполняется по тому же принципу: выполняется операция XOR над зашифрованным текстом и тем же ключевым потоком.
  5. Выход:
    • Результатом является поток зашифрованных данных, не содержащий шаблонов, которые могли бы использовать злоумышленники.

Почему эксперты по кибербезопасности его любят!

  • Скорость: высокая степень распараллеливания, молниеносная скорость даже на маломощных устройствах (например, телефонах и устройствах Интернета вещей)
  • Безопасность: Устойчив к известным атакам (дифференциальный, линейный криптоанализ) и позволяет избежать атак по времени, поскольку не использует таблицы поиска.
  • Простота: отсутствие сложных S-блоков и зависимостей от оборудования — простота аудита и внедрения.
  • Гибкость: работает в режиме счетчика, поэтому может шифровать потоки данных произвольной длины.

ChaCha20 против AES

[th]Особенность[/th][th]ЧаЧа20[/th][th]АЕС[/th] [td]Тип[/td][td]Поточный шифр[/td][td]Блочный шифр[/td] [td]Размер ключа[/td][td]256 бит[/td][td]128/192/256 бит[/td] [td]Размер блока[/td][td]512 бит (блок ключевого потока)[/td][td]128 бит[/td] [td]Необходимость оборудования[/td][td]Никакого специального оборудования не требуется.[/td][td]AES-NI для лучшей производительности[/td] [td]Скорость[/td][td]Быстро работает на любом процессоре, отлично подходит для мобильных устройств[/td][td]Быстро с аппаратной поддержкой[/td] [td]Безопасность[/td][td]Сильный, практических разрывов не обнаружено[/td][td]Сильный, но есть некоторые побочные риски[/td]

Реальное использование

  • TLS 1.3: один из двух рекомендуемых симметричных шифров (другой — AES-GCM).
  • WireGuard VPN: использует ChaCha20-Poly1305 для быстрых и безопасных туннелей.
  • Мобильные приложения: предпочтительны на устройствах ARM из-за скорости и отсутствия необходимости в аппаратном ускорении.
  • Google Chrome и основные браузеры: поддержка ChaCha20-Poly1305 для HTTPS-трафика.
  • Некоторые программы-вымогатели

ChaCha20-Poly1305: аутентифицированное шифрование

ChaCha20 часто используется в паре с Poly1305 , кодом аутентификации сообщений (MAC), для создания ChaCha20-Poly1305 — шифра AEAD (аутентифицированное шифрование со связанными данными).
  • Шифрование: ChaCha20 шифрует данные.
  • Аутентификация: Poly1305 генерирует метку, которая гарантирует целостность данных и исключает скрытое вмешательство.

Варианты и расширения

  • XChaCha20: использует более длинный одноразовый код длиной 192 бита для еще большей безопасности в сценариях случайных одноразовых кодов.
  • Версии с уменьшенным количеством раундов: ChaCha12, ChaCha8 для еще более быстрого (но менее безопасного) шифрования

Почему ChaCha20 важен

ChaCha20 — это шифр для современных профессионалов в области кибербезопасности;
  • Отсутствие аппаратных бэкдоров (многие алгоритмы шифрования имеют бэкдоры для национальных разведывательных служб)
  • Никаких тайминговых атак.
  • Никаких задержек на мобильном устройстве.
  • Нет оправданий слабой криптовалюте.
Краткое содержание
ChaCha20 — это безопасный потоковый шифр, набирающий популярность в мире кибербезопасности. Его скорость и безопасность делают его популярным алгоритмом там, где скорость и безопасность имеют первостепенное значение. Кроме того, он менее затратен, чем AES и другие алгоритмы шифрования, требующие аппаратных ускорителей или усовершенствованные с их помощью.

ChaCha20 — ваше новое любимое оружие в крипто-войне.
 
Назад
Сверху Снизу