← Прикладная криптографическая инженерияСимметричное шифрование

Оракул дополнения в CBC

Серверу достаточно отвечать «неверное дополнение», чтобы любое сообщение расшифровали байт за байтом без ключа. Демо атакует настоящий AES-CBC.

Подписи внутри интерактивного демо пока на английском.

Encrypting the secret with a fresh AES key…

На что обратить внимание

  • Оракул (padding oracle) выдаёт один бит за запрос: корректно ли дополнение? Около 128 запросов на байт хватает, чтобы восстановить открытый текст.
  • Атакующий меняет только предыдущий блок шифртекста. Расшифрование CBC делает с ним XOR следующего блока, поэтому каждая догадка — контролируемая правка открытого текста.
  • Решение — не другое сообщение об ошибке. Проверяйте подлинность до расшифрования (encrypt-then-MAC) или используйте AEAD, чтобы изменённый шифртекст отклонялся до проверки дополнения.