Самосинхронизирующиеся потоковые шифры

В самосинхронизирующихся потоковых шифрах каждый бит потока ключей является функцией фиксированного числа предыдущих битов шифротекста . Военные называют этот шифр автоключом шифротекста (ciphertext auto key, CTAK). Основная идея была запатентована в 1946 .
Внутреннее состояние является функцией предыдущих п битов шифротекста. Криптографически сложной является выходная функция, которая использует внутреннее состояние для генерации бита потока ключей.

Рис. 9-8. Самосинхронизирующийся генератор потока ключей.
Так как внутреннее состояние полностью зависит от предыдущих п шифротекста, дешифрирующий генератор потока ключей автоматически синхронизируется с шифрующим генератором потока ключей, приняв п битов шифротекста.
В интеллектуальных реализациях этого режима каждое сообщение начинается случайным заголовком длиной п битов. Этот заголовок шифруется, передается и затем расшифровывается. Расшифровка будет неправильной, но после этих п битов оба генератора потока ключей будут синхронизированы.
Слабой стороной самосинхронизирующегося потокового шифра является распространение ошибки . Для каждого бита шифротекста, испорченного при передаче, дешифрирующий генератор потока ключей выдает п неправильных битов потока ключей. Следовательно, каждому неправильному биту шифротекста соответствуют п ошибок в открытом тексте, пока испорченный бит не перестанет влиять на внутреннее состояние .
Вопросы безопасности
Самосинхронизирующиеся потоковые шифры также чувствительны к вскрытию повторной передачей. Сначала Мэллори записывает несколько битов шифротекста. Затем, позднее, он вставляет эту запись в текущий трафик. После выдачи некоторой чепухи, пока принимающая сторона синхронизируется с вставленной записью , старый шифротекст будет расшифрован как нормальный. У принимающей стороны нет способа узнать, что полученные данные являются повторно передаваемой записью. Если не используются метки времени, Мэллори может убедить банк снова и снова зачислять деньги на его счет, повторно передавая одно и то же сообщение (конечно, при условии, что ключ не менялся). Другие слабые места этой схемы могут стать заметны при очень частой пересинхронизации .