id: Гость   вход   регистрация
текущее время 12:03 29/03/2024
Автор темы: Гость, тема открыта 04/12/2014 23:58 Печать
Категории: криптография, криптоанализ, алгоритмы, атаки
создать
просмотр
ссылки

CTR mode


Имеется блочный шифр или хеш-функция F(key, cntr), используемая как CPRNG в СTR-моде.


Предлагается в качестве начального значения для счетчика cntr взять не 0, как делается обычно, а F(key, 0).
Или F(key, iv).


Преимущества:


1. Если F представляет собой каскадную конструкцию, то защищаемся от meet-in-the-middle.


2. Неизвестное начальное значение сntr на сколько-то повысит устойчивость к диф./лин. криптоанализу; в зависимости от конкретного шифра.


Делают ли так на практике?


 
Комментарии
— unknown (05/12/2014 12:22, исправлен 05/12/2014 12:43)   профиль/связь   <#>
комментариев: 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)


А теперь цитаты поабзацно:


Recall that the CTR (counter) mode of operation of a family of functions comes in two variants: the randomized (stateless) version CTRC of Scheme 4.2.5, and the counter-based (stateful) mechanism CTR$ of Scheme 4.2.6. Both modes achieve indistinguishability under a chosen-plaintext attack, but, interestingly, the quantitative security is a little different. The difference springs from the fact that CTRC achieves perfect indistinguishability if one uses a random function in the role of the underlying FK — but CTR$ would not achieve perfect indistinguishability even then, because of the possibility that collisions would produce “overlaps” in the pseudo-one-time pad.

Flaws are not apparent in CTR at first glance. But maybe they exist. It is very hard to see how one can be convinced they do not exist, when one cannot possible exhaust the space of all possible attacks that could be tried. Yet this is exactly the difficulty that the above theorems circumvent.
They are saying that CTR mode does not have design flaws. They are saying that as long as you use a good blockcipher, you are assured that nobody will break your encryption scheme. One cannot ask for more, since if one does not use a good blockcipher, there is no reason to expect security of your encryption scheme anyway. We are thus getting a conviction that all attacks fail even though we do not even know exactly how these attacks might operate. That is the power of the approach.
Now, one might appreciate that the ability to make such a powerful statement takes work. It is for this that we have put so much work and time into developing the definitions: the formal notions of security that make such results meaningful. For readers who have less experience with definitions, it is worth knowing, at least, that the effort is worth it. It takes time and work to understand the notions, but the payoffs are big: you get significant guarantees of security.

Авторы доказывают, что CTR$ — ничем существенно не лучше, а защита для перестраховки от несовершенства шифра (базового примитива) по их мнению — такой аргумент, который вообще не стоит всерьёз рассматривать при создании режима шифрования.



Так и в теории почти ни для чего конкретного пока не делают, насколько мне Беллэйру и Рогвэю известно. Даже если это для чего-то и можно использовать, то не в рамках поставленной вами задачи.


А на практике теоретические отличия между CTR$ и CTRC нивелируются, используют CRTC и не мучаются.

Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3