Перейти к содержанию

CBC — сцепление блоков

Источник описания и статус реализации

Алгоритм, профиль стандарта и программная поддержка — три разных уровня. RFC Editor публикует многие описания ГОСТ как Informational / Independent Submission, а не как консенсусный стандарт IETF. Наличие RFC не свидетельствует о сертификации СКЗИ и не доказывает поддержку алгоритма каждым приложением НАЙС.ОС. Проверяйте установленную версию и подтверждённые испытания.

Назначение и параметры

Характеристика Значение
Класс Режим блочного шифра
Размер блока / результата / профиль По блоку выбранного шифра
Ключевой материал Ключ выбранного шифра
Основной источник ГОСТ Р 34.13-2015

Как устроен алгоритм и что он гарантирует

В CBC каждый блок открытого текста объединяется с предыдущим блоком шифротекста, а для первого блока используется IV. Поэтому одинаковые блоки при корректной инициализации не обязательно дают одинаковые шифроблоки. Размер IV равен размеру блока выбранного шифра; правило заполнения последнего неполного блока (padding) задаётся отдельным профилем.

CBC обеспечивает конфиденциальность при корректном выборе IV и ключей, но не аутентифицирует сообщение. В протоколах с неосторожной обработкой ошибок padding возникают уязвимости padding oracle; нельзя самостоятельно создавать сетевой формат CBC без аутентификации и требований к обработке ошибок.

CBC с «Кузнечиком» и CBC с «Магмой» не имеют одинакового размера блока. Формат IV и способ упаковки шифротекста нужно согласовывать явно.

Реализация в НАЙС.ОС: что подтверждено и что проверять

  • В Crypto API возможно имя cbc(kuznyechik); проверяйте /proc/crypto.
  • В CMS, дисковых профилях и других протоколах используйте документированный совместимый режим вместо автоматической подстановки CBC.
  • См. общий раздел управления IV и ключами.

Проверка и критерии приёмки

Перед эксплуатацией получите перечень реальных возможностей целевого пакета, а не доверяйте абстрактной таблице криптографии. Положительный тест должен соответствовать выбранному профилю, формату ключей, параметрам и протоколу; отрицательный тест должен демонстрировать отказ при неверном ключе, повреждённых входных данных или неверном теге (если соответствующая защита предусмотрена). Для сетевых профилей отдельно проверьте отказ аутентификации, границы ключевой ротации и предотвращение обхода туннеля.

Эксплуатация и совместимость