Введение в современную криптографию



Pdf көрінісі
бет73/249
Дата14.06.2023
өлшемі6.4 Mb.
#475029
1   ...   69   70   71   72   73   74   75   76   ...   249
Криптография Катц

Рисунок 3.4: Синхронизованный и несинхронизованный режим.
Мы видели в Алгоритме 3.16, что поточный шифр может использоваться для по-
строения псевдослучайного генератора ttA с любым желаемым коэффициентом рас-
ширения A. Мы можем легко изменить этот алгоритм, чтобы получить псевдослу-
чайный генератор tt∞ с переменной длиной выхода. tt∞ принимает два аргумента:
начальное число s и желаемую длину выхода 1A (мы опеределяем это в унарном 
виде, так как tt будет работать во времени, полиномиальном в A). Как и в Алгоритме 
3.16, tt (s, 1A ) запускает Init(s) и затем повторно запускает GetBits A раз.
Мы можем использовать tt∞ в Конструкции 3.17 для шифрования сообще-
ний произвольной длины: шифрование сообщения m с помощью ключа k про-
изводится вычислением шифртекста c := tt∞(k, 1|)⊕m; расшифровка шифр-
текста c с помощью ключа k выполняется путем вычисления сообщения m := 
tt∞(k,1|)⊕c. A изменение доказательства Теоремы 3.18 показывает, что если по-
точный шифр устойчив, что эта шифровальная схема обладает неразличимым 
шифрованием при наличии перехватчика.
Немного размышления показывает, что если участники коммуникации хотят 
сохранить состояние, они мокут использовать один и тот же ключ для шифро-
вания нескольких сообщений. (См. Рисунок 3.4.) Важным замечанием является 
то, что участники могут рассматривать несколько сообщений m1, m2, . . . как 
одно длинное сообщение; кроме того, Конструкция 3.17 (также как и изменен-
ная версия в предыдущем абзаце) обладает свойством, при котором начальные 
порции сообщения могут быть зашифрованы и переданы даже если остальная 
часть сообщения еще не известна. А именно, оба участника имеют ключ k и на-
чинают вычислять st0 := Init(k). Чтобы вычислить первое сообщение m1 длины 
A1, отправитель повторно запускает GetBits A1 раз, начиная в st0, чтобы полу-


101
чить поток битов 
вместе с обновленным состоянием stA1 ; 
затем он посылает c1:= pad1⊕m1. По получении c1, другой участник повторно 
запускает GetBits A1 раз, чтобы получить те же значения pad1 и stA1 ; он ис-
пользует pad1, чтобы восстановить m1:= pad1⊕c1. Затем, чтобы зашифровать 
второе сообщение m2 длины A2, отправитель повторно запускает GetBits A2 
раз, начиная в stA1 , чтобы получить pad2= yA1+1, . . . , yA1+A2 и обновить 
статус stA1+A2 , а затем вычисляет шифртекст c2:= pad2⊕m2, и так далее. Это 
может продолжаться неопределенное время, позволяя участникам посылать 
неограниченное число сообщений произвольной длины. Отметим, что в этом 
режиме, поточный шифр не должен использовать IV . 
Этот метод шифрования нескольких сообщений требует, чтобы участники 
коммуникации сохраняли синхронизованное состояние, чем объясняется тер-
мин «синхронизованный режим». По этой причине, этот метод подходит для 
тех случаев, когда коммуникация происходит за один «сеанс связи», но не дей-
ствует правильным образом при единичной коммуникации, или когда один из 
участников может общаться с разных устройств. (Сохранять копии фиксиро-
ванного ключа в разных местах довольно легко, однако труднее сохранять сих-
ронизованное состояние в разных местах.) Кроме того, в случае рассинхрони-
зации участников, (например, если одна из передач данных между участниками 
прервана), расшифровка вернет неправильный результат. Повторная синхрони-
зация возможна, но она прибавляет непроизводительные затраты.


Достарыңызбен бөлісу:
1   ...   69   70   71   72   73   74   75   76   ...   249




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет