Рассказываем про режимы шифрования в новом выпуске #криптословаря!
❗️Выбор надёжного алгоритма шифрования и большой длины ключа ещё не гарантируют защиту данных. Важную роль играет выбор подходящего режима шифрования.
Для блочных шифров известны следующие режимы:
🟦ECB (Electronic Codebook) — режим простой замены (электронная кодовая книга);
🟦CBC (Cipher Block Chaining) — режим простой замены с зацеплением (или режим сцепления блоков шифртекста);
🟦CTR (Counter) — режим гаммирования (или «режим счётчика»);
🟦CFB (Cipher Feedback) — режим гаммирования с обратной связью по шифртексту;
🟦OFB (Output Feedback) — режим гаммирования с обратной связью по выходу;
🟦GCM (Galois/Counter Mode) — режим с аутентификацией Галуа и др.
➡️Режимы определяют, как именно шифруются блоки открытого текста. Связываются ли они между собой, можно ли шифровать данные параллельно, нужен ли вектор инициализации (IV), защищены ли данные от подмены и другие особенности.
🔴Типичная ошибка — выбор неподходящего режима шифрования в угоду простоте реализации. Например, в режиме ECB одинаковые блоки открытого текста дают одинаковые блоки шифртекста. Поэтому структура зашифрованных данных определяется даже без расшифрования, а криптоанализ упрощается по типовым заголовкам файлов и другим известным данным.
Режим CBC менее предсказуем из-за добавления случайного вектора IV, но без отдельной аутентификации он уязвим к подмене векторов и другим атакам (см. padding oracle в TLS 1.2).
Другие режимы без аутентификации также не рекомендовано применять в любых сценариях, где возможно активное вмешательство третьей стороны. Поэтому в современных транспортных протоколах используются режимы, основанные на принципах аутентифицированного шифрования со связанными данными (AEAD).
📌Одним из его представителей стал разработанный при участии российской компании «Криптонит» мультилинейный режим с аутентификацией Галуа (MGM). Он одновременно обеспечивает конфиденциальность и целостность, представляя аналог режима GCM в отечественных криптографических системах.
Post #1604
458
