Раздел: Документация
0 ... 93 94 95 96 97 98 99 ... 169 BOB данных на одном и том же ключе может привести к катастрофической потере стойкости. Вместе с тем, не всегда технически возможно обеспечить смену ключа перед началом шифрования каждого нового сообщения. Особенно это было актуально для первых систем шифрования, использовавших потоковые шифры и обслуживавших каналы связи с высоким трафиком. Чтобы примирить указанные обстоятельства, в системах обеспечения секретности стали использовать понятие «начального состояния» шифратора. . При шифровании одного и того же сообщения дважды на одном и том же ключе, но с различными начальными состояниями ра получаются две совершенно различные выходные последовательности. В этом случае шифрование двух сообщений на одном и том же ключе уже не грозит критической потерей стойкости - необходимо лишь обеспечить, чтобы начальные состояния шифратора при этом были различны. Элементом данных, определяющим это начальное состояние, как раз и является синхропосылка. Понятно, что она должна передаваться или храниться вместе с зашифрованными данными и не может быть секретной. Собственно, поэтому она и называется син-хропосылкой или синхронизирующей посылкой, то есть посылкой элемента данных, предназначенного для синхронизации шифрующего устройства получателя с шифрующим устройством отправителя. В блочных режимах шифрование двух различных массивов информации на одном и том же ключе с одним и тем же параметром инициализации S допустимо и не ведет к потере криптографической стойкости. Собственно, по большому счету, в режимах этого типа вполне можно обойтись и вовсе без синхропосылки. Конечно, если при этом два массива данных Т = (Т1,Т2, . . . ,Тг.) , и V = (VI, V2, . . . ,Vn) дают при зашифровании массивы шифротекста, начальные отрезки которых совпадают. Это говорит о том, что соответствующие начальные отрезки исходных массивов также идентичны: если Т i = V i для i =1,2,..., m, то Ti = Vi для i = l,2,...,m 290 Если использованная при шифровании функция f такова, что ее значение не зависит от предыдущих блоков открытого текста и шиф-ротекста, а зависит только от количества предшествующих блоков данных, то есть фактически от порядкового номера шифруемого блока i, и параметра синхронизации S, т.е. если Fi - f(S,i), то это свойство справедливо для произвольных пар одинаковых блоков, занимающих в своих текстах одно и то же место, а не только для тех, что находятся в начальных отрезках своих массивов: Ti = Vi Ti Vi для любого! Вспомним, что в случае простой замены, т. е. когда шифруемый блок данных вовсе не модифицируется перед тем, как быть подвергнутым зашифрованию, указанное свойство выполняется для любых совпадающих блоков двух шифротекстов, в том числе и занимающих разные позиции в своих массивах: Т i = V j Ti = Vj для любых ij, и, в частности, Ti -Tj Ti = Tj для любых ij. Таким образом, в случае шифрования в блочных режимах двух массивов данных на одном и том же ключе с Одним и тем же начальным параметром или вовсе без использования начального параметра тождественность двух блоков шифротекста позволяет установить тождественность двух соответствующих блоков открытого текста, что, конечно же, неприятно, но не смертельно для шифра. В потоковых шифрах то же самое приводит к катастрофической потере стойкости. Предположим, что два массива данных Т = (Т1,Т2,...,Тп), и V = (V1,V2,...,Vn) зашифрованы в потоковом режиме на одном и том же ключе К с использованием одного и того же параметра инициализации S. Для простоты предположим, что для модификации шифруемых данных используется операция побитового. Тогда: Т1 = TI EK(f(S)) VI = VI EK(f(S)), откуда следует, что TI VI= (TI EK(f(S))) (VI EK(f(S))) - TI VI 10* 291 Таким образом, аналитик получает в свое распоряжение линейное соотношение, связывающее два первых открытых блока сообщений, что, конечно, является провалом в стойкости шифра и совершенно неприемлемо. Вообще говоря, данное свойство справедливо для двух первых несовпадающих блоков массивов. Предположим, что при зашифровании двух массивов в потоковых режимах на одном и том же ключе и с использованием одной и той же синхропосылки получены шифротсксты, начальные отрезки которых совпадают: = для i = 1,2,..., m Точно также, как и в случае блочных режимов, это позволяет установить тождественность соответствующих отрезков открытого текста: Т i = Vi для i 1,2,. . ., m Однако помимо этого будет также выполняться и приведенное выше соотношение, но сформулированное не для первых блоков, а для первых несовпадающих блоков соответствующих массивов данных: Tm+l Vm+l = Tm+1 Vm+1 Конечно, в случае использования стойкого криптографического преобразования это не позволяет получить соотношения, облегчающие определение второго и последующих несовпадающих блоков массивов открытых данных. Но и вышеприведенного уже вполне достаточно для того, чтобы криптосистема была безнадежно скомпрометирована. Аналогично случаю блочных режимов положение значительно усугубляется, если используется модифицирующая функция f, не зависящая от значений предыдущих блоков, а зависящая только от номера шифрующего блока (i) и от синхропосылки (S): Ti = Ti EK(f(i,S)) Vi = Vi EK(f (i,S) ) откуда следует, что Vi = Ti Vi 292 0 ... 93 94 95 96 97 98 99 ... 169
|