Рейтинг:1

Какие режимы блочного шифрования лучше всего использовать в реальных жизненных ситуациях?

флаг sa

Для экзамена, к которому я готовлюсь, мне интересно, какие режимы блочного шифрования лучше всего использовать в определенных ситуациях.

Мы узнали об этих режимах блочного шифрования: ECB, CBC, CFB (+s-бит), OFB (+s-бит) и CTR.
Насколько я понимаю: кого-то можно парализовать, кого-то нет. Некоторые можно превратить в потоковый шифр (s-бит), некоторые нельзя. У некоторых хуже распространение ошибок. У каждого из них есть свои (не)преимущества.

Мой вопрос в том, какие методы блочного шифрования предпочтительнее в определенных ситуациях, например для видеочатов, для хранения паролей, для отправки данных с помощью микроконтроллера, ...

kelalaka avatar
флаг in
Добро пожаловать в Cryptography.Se. Это довольно широкий вопрос, на который невозможно дать исчерпывающий ответ.
флаг sa
Ну, есть большая вероятность, что мой профессор еще спросит меня об этом на экзамене, и мне нужно будет дать ответ... Например, для хранения паролей очень плохая идея использовать ECB, потому что равные блоки шифруются в так же. Я ищу другие подсказки, как это.
kelalaka avatar
флаг in
Для паролей мы не шифруем, мы используем алгоритмы хеширования паролей, это правильный ответ. См. [Как безопасно хэшировать пароли?] (https://security.stackexchange.com/q/211/86735). Если вы настаиваете на шифровании, то как безопасно хранить ключ шифрования?
SAI Peregrinus avatar
флаг si
IMO, один из GCM-SIV, GCM, OCB, CTR или XTS для шифрования (не хеширования пароля). OCB является самым быстрым, но не так широко поддерживается (он был запатентован до недавнего времени) и не устойчив к недопустимому неправильному использованию, GCM-SIV хорош для большинства применений и устойчив к недопустимому неправильному использованию, но является двухпроходным, GCM распространен, но не является недопустимым неправильным использованием. -устойчивый, XTS не выполняет аутентификацию и, следовательно, слабее, но не расширяет зашифрованный текст, поэтому он используется для шифрования всего диска, а CTR является строительным блоком для режимов аутентификации и иногда используется там, где аутентификация обеспечивается на другом уровне протокола. . Остальные менее полезны.
Swashbuckler avatar
флаг mc
@kelalaka Иногда мы шифруем пароли, это зависит от того, для чего используется пароль. Если он используется для нашей аутентификации, то мы этого не делаем, если мы сохраняем пароль для аутентификации в чем-то другом, тогда мы шифруем.
флаг kr
@kelalaka: «* Для паролей мы не шифруем, мы используем алгоритмы хэширования паролей *» - это верно только в одном случае, когда пароли необходимы для аутентификации пользователя. Но когда пользователь хранит пароли в диспетчере паролей, то, конечно, эти пароли или обычно вся база паролей шифруется, например. с АЕС-256. Если вы хотите разработать менеджер паролей, очень важно, какой режим выбрать.
kelalaka avatar
флаг in
Да, я рассматривал только аутентификацию. Не упомянул другие варианты использования, где нужен пароль, а не хеш-значение.
флаг cn
ЕЦБ — плохой выбор для чего бы то ни было. Если вы не можете гарантировать, что одно и то же сообщение никогда не будет отправлено дважды с одним и тем же ключом. Это ограничение на сообщения - и этого лучше избегать.
Рейтинг:1
флаг ng

В реальных ситуациях, за исключением совместимости с существующими системами, редко следует напрямую использовать какой-либо из режимов шифрования, перечисленных в вопросе, потому что они в лучшем случае обеспечивают безопасное шифрование (предостережение: ECB не обеспечивает), что не нет удовлетворить потребности большинства реальных жизненных ситуаций.

В реальных приложениях, если требуется шифрование, также обычно необходимо предотвратить необнаруженное изменение сообщения (например, удаление его части, изменение сегмента). Таким образом, необходим режим, обеспечивающий шифрование и аутентификация¹, например ГКМ в сочетании с блочным шифром АЕС. Он достаточно быстр для «видеочатов» с современным процессором и достаточно прост для «отправки данных с помощью микроконтроллера».

Такой аутентифицированное шифрование режим часто будет внутренне использовать один из режимов вопроса для шифрования, которое он обеспечивает, например. GCM использует CTR.ECB/CBC/CFB/OFB, как правило, постепенно отказываются от CTR, потому что CTR прост, быстр, легко распараллеливается и обеспечивает прямой доступ для чтения/изменения/записи к большим файлам без повторного шифрования того, что следует. Это только недостатки

  • Податливость², но это полностью решается аутентифицированным шифрованием.
  • Чувствительность к повторному использованию Вектор инициализации/одноразовый номер. Это можно смягчить с помощью хороших процедур для создания IV или аутентифицированных режимов шифрования с защитой от неправомерного использования, таких как ГКМ-СИВ.

Для «хранения паролей» мы часто не хотим использовать шифрование, которое подразумевает возможность расшифровки, когда мы часто можем жить с системой, которая никогда не требует расшифровки паролей и, следовательно, менее уязвима для утечек данных (есть некоторые исключения). как менеджеры паролей). Что касается паролей, первым выбором является безопасное оборудование, предназначенное для хранения паролей. Второй вариант — сохранить на диске результат преднамеренно медленной и соленой хеш-функции пароля, например Аргон2. Последний вариант — аутентифицированное шифрование пароля. Обратите внимание, что аутентификация имеет значение: только с шифрованием нужно опасаться, что кто-то с доступом для чтения/записи к зашифрованным паролям может сбросить пароль пользователя на известный без ключа, если он знает пароль другого пользователя.


¹ В том смысле, что расшифрованный открытый текст точно соответствует открытому тексту, который был зашифрован с помощью ключа шифрования, что делает его аутентичным.

² В смысле разрешения изменять значение расшифрованного открытого текста для известного открытого текста, например. изменение заплатить 1000 долларов к заплатить 9800 долларов. Режимы CBC или CFB затрудняют такую ​​атаку, но не обеспечивают полное аутентифицированное шифрование.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.