режим CTR
Встретил довольно противоречивые рекомендации к счетсику в режиме CTR.
Соседние элементы последовательности и вообще все ее элементы, отстоящие не слишком далеко друг от друга, должны достаточно сильно отличаться, чтобы усложнить отдельные виды криптоанализа, использующие элементарные регулярности во входных данных. По этой причине такой простейший источник последовательности элементов, как скажем, f(i, S) = (i + S) mod 2N, где N – размер шифруемого блока, не является наилучшим решением, так как вырабатываемая им последовательность разбивается на дифференциальные пары, отличающиеся только в одном бите, создавая тем самым предпосылки для использования дифференциального криптоанализа. Если используемый алгоритм абсолютно устойчив к дифференциальному криптоанализу, данное условие неактуально.
А Шнайер, например, пишет, что к счетчику не предьявляется никаких особых требований
Блочные шифры в режиме счетчика используют в качестве входов алгоритма последовательные номера. Для заполнения регистра используется счетчик, а не выход алгоритма шифрования. После шифрования каждого блока счетчик инкрементируется на определенную константу, обычно единицу.
Что вы думаете по этому поводу? Что, все-таки, ближе к истине?
комментариев: 11558 документов: 1036 редакций: 4118
Шнайер ведь говорит о алгоритмах вообще, без оговорки на устойчивость к дифференциальному криптоанализу...
комментариев: 11558 документов: 1036 редакций: 4118
комментариев: 9796 документов: 488 редакций: 5664
В стандартах, опубликованных зарубежом, принято, что шифр должен быть изначально разработан практически идеальным ко всем атакам, тем более к DC, в противном случае никакой режим шифрования не спасёт (исключение – атаки со связанными ключами, поэтому сооствествующие режимы шифрования не используются), в российских же традициях принято перестраховываться на случай неидеальности шифра.
комментариев: 11558 документов: 1036 редакций: 4118