Если ключ и IV идентичны, то первое промежуточное значение после шифрования блока, которое подвергается операции XOR с первым байтом, также идентично между двумя операциями шифрования.Это означает, что если первый байт открытого текста идентичен, это приведет к идентичному зашифрованному тексту, что приведет к утечке информации возможному злоумышленнику.
Конечно, этот зашифрованный текст также передается в регистр сдвига, который в настоящее время содержит IV. Один байт IV сдвигается влево (MSB), а байт зашифрованного текста помещается вправо (LSB). Так что теперь следующее шифрование снова приведет к идентичному промежуточному значению. Это означает, что следующий идентичный байт открытого текста также приведет к прямой утечке данных и так далее и тому подобное. Конечно, если у вас много сообщений, то вы можете сделать много пар, поэтому утечка данных более вероятна.
Распространение останавливается только в том случае, если байты открытого текста различаются между сообщениями. Однако эти последние байты сами по себе создают проблему. Разный открытый текст был подвергнут операции XOR с идентичными промежуточными значениями для создания байтов зашифрованного текста. Это означает, что XOR байтов зашифрованного текста приводит к XOR байтов открытого текста. Это вполне может привести к прямой утечке данных, и опять же, чем больше байтов зашифрованного текста известно, тем больше комбинаций может быть сделано.
С другой стороны, IV хранится в сдвиговом регистре. Поскольку он используется только в качестве входных данных для блочного шифра, вполне вероятно, что значение IV и, следовательно, ключ относительно хорошо защищены.
Если возможны низкоуровневые атаки по побочным каналам, май можно идентифицировать некоторые ключевые биты во время операции сдвига, но вам, вероятно, потребуется много операций, прежде чем можно будет извлечь какие-либо данные IV / ключа. Поскольку я был удивлен атаками по побочным каналам раньше, я думаю, что это следует учитывать.
Вы не только не должны использовать данные ключа в качестве IV (использование хэша поверх IV уже было бы лучше), но вы также не должны повторно использовать ключ для других целей.
Я бы очень скептически отнесся к безопасности протокола, который вы описали, из-за этих плохих криптографических методов, хотя использование режима CFB-8, вероятно, уже является достаточным признаком того, что разработчики протокола не знали, что они делали.