CTR mode
Имеется блочный шифр или хеш-функция F(key, cntr), используемая как CPRNG в СTR-моде.
Предлагается в качестве начального значения для счетчика cntr взять не 0, как делается обычно, а F(key, 0).
Или F(key, iv).
Преимущества:
1. Если F представляет собой каскадную конструкцию, то защищаемся от meet-in-the-middle.
2. Неизвестное начальное значение сntr на сколько-то повысит устойчивость к диф./лин. криптоанализу; в зависимости от конкретного шифра.
Делают ли так на практике?
комментариев: 9796 документов: 488 редакций: 5664
Вольно вырванные определения из Беллэйра и Рогвэя ("Introduction to modern cryptography"):
CTR$-mode over F with a random starting point for counter (probabilistic stateless)
CTRC-mode – CTR initialy zero (stateful)
А теперь цитаты поабзацно:
Авторы доказывают, что CTR$ — ничем существенно не лучше, а защита для перестраховки от несовершенства шифра (базового примитива) по их мнению — такой аргумент, который вообще не стоит всерьёз рассматривать при создании режима шифрования.
Так и в теории почти ни для чего конкретного пока не делают, насколько
мнеБеллэйру и Рогвэю известно. Даже если это для чего-то и можно использовать, то не в рамках поставленной вами задачи.А на практике теоретические отличия между CTR$ и CTRC нивелируются, используют CRTC и не мучаются.