Поточные шифры.
Шифр Вернама можно считать исторически первым поточным шифром. Так как поточные шифры, в отличие от блочных, осуществляют поэлементное шифрование потока данных без задержки в криптосистеме, их важнейшим достоинством является высокая скорость преобразования, соизмеримая со скоростью поступления входной информации. Таким образом обеспечивается шифрование практически в реальном масштабе времени вне зависимости от объема и разрядности потока преобразуемых данных.
Простейшие устройства синхронного и самосинхронизирующегося шифрования с использованием ГПК, реализованного на основе N-разрядного регистра сдвига с линейной обратной связью - LFSR (Linear Feedback Shift Register), называются скрембмерами, а сам процесс преобразования - скремблированием (рис. 1.13 и 1.16)
В синхронных поточных шифрах гамма формируется независимо от входной последовательности, каждый элемент (бит, символ, байт и т. п.) которой таким образом шифруется независимо от других элементов. В синхронных поточных шифрах отсутствует эффект размножения ошибок, т. е. число искаженных элементов в расшифрованной последовательности равно числу искаженных элементов зашифрованной последовательности, пришедшей из канала связи. Вставка или выпадение элемента зашифрованной последовательности недопустимы, так как из-за нарушения синхронизации это приведет к неправильному расшифрованию всех последующих элементов.
На рис. 1.13 показан пример шифрования двоичной последовательности
с использованием гаммы формируемой 4-разрядным LFSR при начальном состоянии, равном 1001. Зашифрованная последовательность имеет вид
01001010010010.
При отсутствии искажений в канале связи после расшифрования с использованием той же гаммы получается исходная последовательность.
На рис. 1.14 рассмотрена ситуация, когда при передаче зашифрованной последовательности был потерян четвертый бит и вместо правильной последовательности к получателю пришла последовательность
0101010010010.
Видно, что после расшифрования всех битов, следующих после выпавшего, происходят искажения информации. В результате вместо битовой строки 0101010110 будет получена строка 1101110000.
На рис. 1.15 рассмотрена ситуация, когда при передаче зашифрованной последовательности произошло искажение пятого (1 —> 0) и восьмого (0 —> 1) битов и вместо правильной последовательности к получателю пришла последовательность
01000011010010.
Видно, что после расшифрования вместо правильной строки будет получена строка
с искаженными пятым (0 —> 1) и восьмым (1 —> 0) битами.
В самосинхронизирующихся поточных шифрах элементы входной последовательности зашифровываются с учетом N предшествующих элементов (рис. 1.16), которые принимают участие в формировании ключевой последовательности. В самосинхронизирующихся шифрах имеет место эффект размножения ошибок, в то же время, в отличие от синхронных, восстановление синхронизации происходит автоматически через N элементов зашифрованной последовательности.
На рис. 1.16 показан пример шифрования двоичной последовательности
с использованием 4-разрядного LFSR при начальном состоянии, равном 1001. Зашифрованная последовательность имеет вид
01011001111100.
При отсутствии искажений в канале связи после расшифрования получается исходная последовательность.
Рис. 1.15.Синхронное поточное Рис. 1.16.Самосинхронизирующееся
шифрование. Искажение 2 битов поточное шифрование с использованием LFSR зашифрованной последовательности при передаче по каналу связи
На рис. 1.17 рассмотрена ситуация, когда при передаче зашифрованной последовательности был потерян третий, равный нулю бит и вместо правильной последовательности к получателю пришла последовательность
0111001111100.
Видно, что после расшифрования может произойти искажение не более 4 бит (в общем случае не более ЛО, следующих после выпавшего. В рассмотренном примере вместо 4-битовой строки 0011 будет получена строка 0010. Все остальные биты будут приняты без искажений.
На рис. 1.18 рассмотрена ситуация, когда при передаче зашифрованной последовательности произошло искажение первого (0 —> 1) бита и вместо правильной последовательности к получателю пришла последовательность
110110011Ш00.
Видно, что после расшифрования помимо неправильно принятого бита, соответствующего искаженному, могут исказиться еще не более четырех последующих. В рассмотренном примере будет неправильно принят первый бит и вместо последующей правильной 4-битовой строки 1100 будет получена строка 1111.
В следующей главе будут рассмотрены более эффективные схемы ГПК. В гл. 10 будут рассмотрены наиболее известные современные поточные шифры.