Режим счетчика
Блочные шифры в режиме счетчика используют в качестве входов алгоритма последовательные номера. Для заполнения регистра используется счетчик, а не выход алгоритма шифрования . После шифрования каждого блока счетчик инкрементируется на определенную константу, обычно единицу . Для этого режима свойства синхронизации и распространения ошибки такие же, как и для OFB. Режим счетчика решает проблему и-битового выхода режима OFB, где п меньше длины блока.
К счетчику не предъявляется никаких особых требований, он не должен проходить по порядку все возможные значения. В качестве входа блочного алгоритма можно использовать генераторы случайных чисел, независимо от того, являются ли они криптографически безопасными или нет .
Потоковые шифры в режиме счетчика
У потоковых шифров в режиме счетчика простые функции следующего состояния и сложные функции выхода, зависящие от ключа. Функция следующего состояния может быть чем-то простым, например, счетчиком, добавляющим единицу к предыдущему состоянию.
Потоковый шифр в режиме счетчика может генерировать i-ый бит, ki без выдачи всех предшествующих ключевых битов. Просто установите счетчик вручную в i-ое внутреннее состояние и генерируйте бит. Это полезно для закрытия файлов данных с произвольным доступом, можно расшифровать конкретный блок данных не расшифровывая целый файл.