<< Предыдущая

стр. 14
(из 48 стр.)

ОГЛАВЛЕНИЕ

Следующая >>

Т0(i) = Тш(i) ? Гш(i) = Tш(i) ? A (Yi–1 ? C2, Zi–1 ?? C1), i = 1…m.
Следует отметить, что расшифрование данных возможно только при наличии синхропосылки,
которая не является секретным элементом шифра и может храниться в памяти ЭВМ или пере-
даваться по каналам связи вместе с зашифрованными данными.
Рассмотрим реализацию процедуры расшифрования. В КЗУ вводят 256 бит ключа, с помо-
щью которого осуществляется зашифрование данных Т0(1), Т0(2), ..., Т0(m). В накопители N1 и N2 вводит-
ся синхропосылка, и осуществляется процесс выработки m блоков гаммы шифра Гш(1), Гш(2), ..., Гш(m).
Блоки зашифрованных данных Тш(1), Тш(2), ..., Тш(m) суммируются поразрядно по модулю 2 в сумматоре
СМ5 с блоками гаммы шифра Гш(1), ..., Гш(m). В результате получаются блоки открытых данных
Т0(1), Т0(2), ..., Т0(m);
при этом Т0(m) может содержать меньше 64 разрядов.

Режим гаммирования с обратной связью
Зашифрование открытых данных в режиме гаммирования с обратной связью. Криптос-
хема, реализующая алгоритм зашифрования в режиме гаммирования с обратной связью, имеет вид,
показанный на рис.3.13.
Открытые данные, разбитые на 64-разрядные блоки Т0(1), Т0(2), ..., Т0(m), зашифровываются в
режиме гаммирования с обратной связью путем поразрядного сложения по модулю 2 с гаммой шиф-
ра Гш, которая вырабатывается блоками по 64 бита:
Гш = (Гш(1), Гш(2), ..., Гш(m)).
Число двоичных разрядов в блоке Т0(m) может быть меньше 64, при этом неиспользованная
для шифрования часть гаммы шифра из блока Гш(m) отбрасывается.
Уравнения зашифрования в режиме гаммирования с обратной связью имеют вид:
˜
Тш(1) = А ( S ) ? Т0(1) = Гш(1) ? Т0(1),
Тш(i) = A (Тш(i–1)) ? Т0(i) = Гш(i) ? Т0(i), i = 2…m.

(Tш(i-1) ) Tш(i) (T0(i))

T0(i) (Tш(i))
СМ5
Гш(i)

N2 N1

32 1 32 1


КЗУ
X0(K0) СМ1
X1(K1) 32 1

X2(K2)
S8 S7 S6 S5 S4 S3 S2 S1 S
X3(K3) 20
X4(K4)
R
X5(K5)
Рис.3.13. Схема реализации режима гаммирования с обратной связью



Здесь Тш(i) – i-й 64-разрядный блок зашифрованного текста; А(·) – функция зашифрования в режиме
простой замены; m – определяется объемом открытых данных.
Аргументом функции А (·) на первом шаге итеративного алгоритма является 64-разрядная
˜
синхропосылка S , а на всех последующих шагах – предыдущий блок зашифрованных дан-ных
Тш(i–1).
Процедура зашифрования данных в режиме гаммирования с обратной связью реализуется
следующим образом. В КЗУ вводятся 256 бит ключа. В накопители N1 и N2 вводится синхро-посылка
˜
S = (S1, S2, ..., S64) из 64 бит. Исходное заполнение накопителей N1 и N2 зашифровывается в режиме
простой замены. Полученное в результате зашифрования заполнение накопителей N1 и N2 образует
˜
первый 64-разрядный блок гаммы шифра Гш(1)=A( S ), который суммируется поразрядно по модулю 2
в сумматоре СМ5 с первым 64-разрядным блоком открытых данных
Т0(1) = (t1(1), t2(1),..., t64(1)).
В результате получают первый 64-разрядный блок зашифрованных данных
ТШ(1) = ГШ(1) ? Т0(1),
где ТШ(1) = (?1(1), ?2(1), ..., ?64(1)).
Блок зашифрованных данных ТШ(1) одновременно является также исходным состоянием нако-
пителей N1, N2 для выработки второго блока гаммы шифра ГШ(2), и поэтому по обратной связи ТШ(1)
записывается в указанные накопители N1 и N2.
Заполнение накопителя N1
(?32 , ?31(1), ..., ?2(1), ?1(1)).
(1)

< номер разряда N1
32, 31, ..., 2, 1
Заполнение накопителя N2
(?64(1), ?63(1), ..., ?34(1), ?33(1)).
< номер разряда N2
32, 31, ..., 2, 1
Заполнение накопителей N1 и N2 зашифровывается в режиме простой замены. Полученное в
результате зашифрования заполнение накопителей N1 и N2 образует второй 64-разрядный блок гам-
мы шифра ГШ(2), который суммируется поразрядно по модулю 2 в сумматоре СМ5 со вторым блоком
открытых данных Т0(2):
ГШ(2) ? Т0(2) = ТШ(2).
Выработка последующих блоков гаммы шифра ГШ(i) и зашифрование соответствующих блоков откры-
тых данных Т0(i) (i=3…m) производится аналогично.
Если длина последнего m-го блока открытых данных Т0(m) меньше 64 разрядов, то из ГШ(m) ис-
пользуется только соответствующее число разрядов гаммы шифра, остальные разряды отбрасыва-
ются.
˜
В канал связи или память ЭВМ передаются синхропосылка S и блоки зашифрованных дан-
ных ТШ(1), ТШ(2), ..., ТШ(m).
Расшифрование в режиме гаммирования с обратной связью. При расшифровании крип-
тосхема имеет тот же вид, что и при зашифровании (см. рис.3.13).
Уравнения расшифрования:
˜
Т0(1) = А( S ) ? Тш(1) = Гш(1) ? Тш(1),
Т0(i) = Гш(i) ? Тш(i) = A (Тш(i–1) ) ? Тш(i), i = 2…m.


21
Реализация процедуры расшифрования зашифрованных данных в режиме гаммирования с
обратной связью происходит следующим образом. В КЗУ вводят 256 бит того же ключа, на котором
осуществлялось зашифрование открытых блоков Т0(1), Т0(2), ..., Т0(m). В накопители N1 и N2 вводится
˜ ˜
синхропосылка S . Исходное заполнение накопителей N1 и N2 (синхропосылка S ) зашифровывается в
режиме простой замены. Полученное в результате зашифрования заполнение N1 и N2 образует пер-
вый блок гаммы шифра
˜
ГШ(1) = А( S ),
который суммируется поразрядно по модулю 2 в сумматоре СМ5 с блоком зашифрованных данных
ТШ(1).
В результате получается первый блок открытых данных
Т0(1) = Гш(1) ? Тш(1).
Блок зашифрованных данных Тш(1) является исходным заполнением накопителей N1 и N2 для
выработки второго блока гаммы шифра ГШ(2): ГШ(2) = А(ТШ(1)). Полученное заполнение накопителей N1 и
N2 зашифровывается в режиме простой замены. Образованный в результате зашифрования блок
ГШ(2) суммируется поразрядно по модулю 2 в сумматоре СМ5 со вторым блоком зашифрованных дан-
ных ТШ(2). В результате получают второй блок открытых данных. Аналогично в N1, N2 последовательно
записывают блоки зашифрованных данных ТШ(2), ТШ(3), ..., ТШ(m), из которых в режиме простой замены
вырабатываются блоки гаммы шифра ГШ(3), ГШ(4), ..., ГШ(m).
Блоки гаммы шифра суммируются поразрядно по модулю 2 в сумматоре СМ5 с блоками за-
шифрованных данных ТШ(3),ТШ(4), ..., ТШ(m).
В результате получают блоки открытых данных
Т0(3), Т0(4), ..., Т0(m),
при этом последний блок открытых данных Т0(m) может содержать меньше 64 разрядов.
Режим выработки имитовставки
Имитовставка – это блок из Р бит, который вырабатывают по определенному правилу из от-
крытых данных с использованием ключа и затем добавляют к зашифрованным данным для обеспе-
чения их имитозащиты.
Имитозащита – это защита системы шифрованной связи от навязывания ложных данных.
В стандарте ГОСТ 28147-89 определяется процесс выработки имитовставки, который едино-
образен для любого из режимов шифрования данных. Имитовставка Ир вырабатывается из блоков
открытых данных либо перед шифрованием всего сообщения, либо параллельно с шифрованием по
блокам. Первые блоки открытых данных, которые участвуют в выработке имитовставки, могут содер-
жать служебную информацию (например, адресную часть, время, синхропосылку) и не зашифровы-
ваются.
Значение параметра Р (число двоичных разрядов в имитовставке) определяется крипто-
графическими требованиями с учетом того, что вероятность навязывания ложных помех
равна 1/2р.
Для выработки имитовставки открытые данные представляют в виде последовательности
64-разрядных блоков Т0(i), i = 1…m.
˜
Первый блок открытых данных Т0(1) подвергают преобразованию A (·), соответствующему пер-
вым 16 циклам алгоритма зашифрования в режиме простой замены. В качестве ключа для выработки
имитовставки используют ключ длиной 256 бит, по которому шифруют данные.
˜
Полученное после 16 циклов 64-разрядное число A (Т0(1)) суммируют по модулю 2 со вторым
˜
блоком открытых данных Т0(2). Результат суммирования ( A (Т0(1)) ? Т0(2)) снова подвергают преобра-
˜
зованию A (·).
˜˜
Полученное 64-разрядное число A ( A (Т0(1)) ? Т0(2)) суммируют по модулю 2 с третьим блоком
˜
Т0(3) и снова подвергают преобразованию A (·), получая 64-разрядное число
˜˜˜
A ( A ( A (Т0(1)) ? Т0(2)) ? Т0(3)), и т.д.
Последний блок Т0(m) (при необходимости дополненный нулями до полного 64-разрядного
блока) суммируют по модулю 2 с результатом вычислений на шаге (m–1), после чего зашифровывают
˜
в режиме простой замены, используя преобразование A (·).
Из полученного 64-разрядного числа выбирают отрезок Ир (имитовставку) длиной Р бит:
Ир = [a(m)32–p+1(16), a(m)32–p+2(16), ..., a(m)32(16)],
22
где ai(m) – i-й бит 64-разрядного числа, полученного после 16-го цикла последнего преобразования
˜
A (·), 32 – р + 1 ? i ? 32.
Имитовставка Ир передается по каналу связи или в память ЭВМ в конце зашифрованных дан-
ных, т.е.
Тш(1), Тш(2), ..., Тш(m), Ир.
Поступившие к получателю зашифрованные данные
Тш(1), Тш(2), ..., Тш(m)
расшифровываются, и из полученных блоков открытых данных Т0(1), Т0(2), ..., Т0(m) аналогичным обра-
зом вырабатывается имитовставка Ир?. Эта имитовставка Ир? сравнивается с имитовставкой Ир, полу-
ченной вместе с зашифрованными данными из канала связи или из памяти ЭВМ. В случае несовпа-
дения имитовставок полученные при расшифровании блоки открытых данных Т0(1), Т0(2), ..., Т0(m) счи-
тают ложными.


3.6. Блочные и поточные шифры
Проектирование алгоритмов шифрования данных основано на рациональном выборе функ-
ций, преобразующих исходные (незашифрованные) сообщения в шифртекст. Идея непосредствен-
ного применения такой функции ко всему сообщению реализуется очень редко. Практически все при-
меняемые криптографические методы связаны с разбиением сообщения на большое число фраг-
ментов (или знаков) фиксированного размера, каждый из которых шифруется отдельно. Такой подход
существенно упрощает задачу шифрования, так как сообщения обычно имеют различную длину.
Различают три основных способа шифрования: поточные шифры, блочные шифры и блочные
шифры с обратной связью. Для классификации методов шифрования данных следует выбрать неко-
торое количество характерных признаков, которые можно применить для установления различий ме-
жду этими методами. Будем полагать, что каждая часть или каждый знак сообщения шифруется от-
дельно в заданном порядке.
Можно выделить следующие характерные признаки методов шифрования данных [72].
• Выполнение операций с отдельными битами или блоками. Известно, что для некоторых методов
шифрования знаком сообщения, над которым производят операции шифрования, является от-
дельный бит, тогда как другие методы оперируют конечным множеством битов, обычно называе-
мым блоком.
• Зависимость или независимость функции шифрования от результатов шифрования предыдущих
частей сообщения.
• Зависимость или независимость шифрования отдельных знаков от их положения в тексте. В неко-
торых методах знаки шифруются с использованием одной и той же функции независимо от их по-
ложения в сообщении, а в других методах, например при поточном шифровании, различные знаки
сообщения шифруются с учетом их положения в сообщении. Это свойство называют позиционной
зависимостью или независимостью шифра.
• Симметрия или асимметрия функции шифрования. Эта важная характеристика определяет суще-
ственное различие между обычными симметричными (одноключевыми) криптосистемами и асим-
метричными (двухключевыми) криптосистемами с открытым ключом. Основное различие между
ними состоит в том, что в асимметричной криптосистеме знания ключа шифрования (или расшиф-
рования) недостаточно для раскрытия соответствующего ключа расшифрования (или шифрова-
ния).
В табл. 3.11 приведены типы криптосистем и их основные характеристики.
Таблица 3.11
Основные характеристики криптосистем
Наличие
Операции с
Тип Зависимость от Позиционная симметрии
битами или
криптосистемы предыдущих знаков зависимость функции
блоками
шифрования

Поточного Биты Не зависит Зависит Симметричная
шифрования
Блочного Блоки Не зависит Не зависит Симметричная
или несиммет-
шифрования
ричная
С обратной Биты или Зависит Не зависит Симметричная
связью от блоки
шифртекста

23
Поточное шифрование состоит в том, что биты открытого текста складываются по модулю 2
с битами псевдослучайной последовательности. К достоинствам поточных шифров относятся высо-
кая скорость шифрования, относительная простота реализации и отсутствие размножения ошибок.
Недостатком является необходимость передачи информации синхронизации перед заголовком со-
общения, которая должна быть принята до расшифрования любого сообщения. Это обусловлено тем,
что если два различных сообщения шифруются на одном и том же ключе, то для расшифрования
этих сообщений требуется одна и та же псевдослучайная последовательность. Такое положение мо-
жет создать угрозу криптостойкости системы. Поэтому часто используют дополнительный, случайно
выбираемый ключ сообщения, который передается в начале сообщения и применяется для модифи-
кации ключа шифрования. В результате разные сообщения будут шифроваться с помощью различ-
ных последовательностей.
Поточные шифры широко применяются для шифрования преобразованных в цифровую фор-
му речевых сигналов и цифровых данных, требующих оперативной доставки потребителю информа-
ции. До недавнего времени такие применения были преобладающими для данного метода шифрова-
ния. Это обусловлено, в частности, относительной простотой проектирования и реализации генера-
торов хороших шифрующих последовательностей. Но самым важным фактором, конечно, является
отсутствие размножения ошибок в поточном шифре. Стандартным методом генерирования последо-
вательностей для поточного шифрования является метод, применяемый в стандарте шифрования
DES в режиме обратной связи по выходу (режим OFB).
При блочном шифровании открытый текст сначала разбивается на равные по длине блоки,
затем применяется зависящая от ключа функция шифрования для преобразования блока открытого
текста длиной m бит в блок шифртекста такой же длины. Достоинством блочного шифрования явля-
ется то, что каждый бит блока шифртекста зависит от значений всех битов соответствующего блока
открытого текста, и никакие два блока открытого текста не могут быть представлены одним и тем же
блоком шифртекста. Алгоритм блочного шифрования может использоваться в различных режимах.
Четыре режима шифрования алгоритма DES фактически применимы к любому блочному шифру: ре-
жим прямого шифрования или шифрования с использованием электронной книги кодов ЕСВ (Elec-
tronic code Book), шифрование со сцеплением блоков шифртекста СВС (Cipher block chaining), шиф-
рование с обратной связью по шифртексту CFB (Cipher feedback) и шифрование с обратной связью
по выходу OFB (Output feedback).
Основным достоинством прямого блочного шифрования ECB является то, что в хорошо спро-
ектированной системе блочного шифрования небольшие изменения в шифртексте вызывают боль-
шие и непредсказуемые изменения в соответствующем открытом тексте, и наоборот. Вместе с тем
применение блочного шифра в данном режиме имеет серьезные недостатки. Первый из них заключа-

<< Предыдущая

стр. 14
(из 48 стр.)

ОГЛАВЛЕНИЕ

Следующая >>