[Перефразирование] Существует ли безопасный потоковый шифр MTP?
Я бы сказал, что нет, по крайней мере, с разумной интерпретацией «потокового шифра MTP».
Для «поточного шифра MTP» я наложу два ограничения:
Он детерминирован [1]; то есть нет IV или другого рандомизатора, и шифросостояние не обновляется между сообщениями. Очевидно, что существуют шифры, которые либо используют IV, либо обновляют состояние шифра; однако, если вы это сделаете, вы можете легко генерировать разные потоки ключей на основе IV/состояния шифрования, и поэтому я бы сказал, что это не шифры «MTP».
Он онлайн; то есть при генерации раздела зашифрованного текста он берет раздел открытого текста и текущее зашифрованное состояние и генерирует эту часть зашифрованного текста (и, возможно, обновляет зашифрованное состояние). В частности, на этот раздел зашифрованного текста не влияют более поздние части открытого текста. Я бы сказал, что если у вас есть что-то, что нарушает это, это не является «поточным шифром».
Если у нас есть шифр, который соблюдает оба вышеупомянутых ограничения, подумайте, что он будет делать, если ему будут даны два открытых текста:
$$АААА...ААА$$
$$AAAA...AAB$$
Для первой части зашифрованного текста он должен генерировать идентичные зашифрованные тексты для обоих сообщений; потому что открытый текст, который он может видеть, идентичен, и потому что он должен быть детерманистическим. Следовательно, тот факт, что два открытых текста связаны, очевиден из полученного зашифрованного текста, следовательно, он не является безопасным.
Следовательно, для достижения безопасности любой шифр должен нарушать одно из двух ограничений.
[1]: Можно утверждать, что детерминизм автоматически исключает безопасность, потому что злоумышленник может отличить детерминированный шифр от случайного, запросив шифрование двух идентичных открытых текстов. Я не буду этого делать здесь; не так уж неразумно ослабить ограничения CPA, чтобы потребовать от злоумышленника выбирать разные открытые тексты, особенно при работе с реальным приложением, которое имеет ограничение, согласно которому размер зашифрованного текста должен быть таким же, как размер открытого текста.