Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Корольов / Теория связи

.pdf
Скачиваний:
231
Добавлен:
10.02.2016
Размер:
8.73 Mб
Скачать

полублоки меняются местами ( Li = Ri 1 ) и находится итоговое значение блока криптограммы C = (Lt , Rt ).

При дешифровании производится инициализация ( (Lt , Rt )= C ), а затем над левым полублоком выполняются криптографические преобразования по круго-

вой функции шифрования f :

 

Li 1 = Ri f (Li , Ki ), i =1,2,...,t ;

(10.3)

полублоки меняются местами ( Ri1 = Li ) и формируется

блок сообщения

x= (L0 , R0 ).

Вблочном шифре Фейстеля для дешифрования используется та же самая круговая функция f , что и для шифрования, но порядок использования под-

ключей при дешифровании меняется на противоположный.

В реальных шифрах часто используется упрощенная схема Фейстеля. Для этого после t итераций шифрования левая и правая половины криптограмм меняются местами, что позволяет для дешифрования вместо выражения (10.3) использовать выражение (10.2) с учетом противоположного порядка применения подключей. Это существенно упрощает построение устройств шифрования; примером служит отечественный алгоритм криптографической защиты данных согласно ГОСТ 28147-89.

10.4. Алгоритмы криптографической защиты

Большинство практически используемых современных блочных шифров, таких как DES, ГОСТ РФ 28147-89, IDEA, построены, как шифры Фейстеля [1]. Их основные параметры представлены в табл. 10.1.

10.4.1. Алгоритм криптографической защиты информации согласно ГОСТ 28147-89

В Российской Федерации принят ГОСТ 28147-89 «Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования». Этот ГОСТ определяет алгоритм криптографической защиты

431

информации для сетей передачи данных, вычислительных систем, ЭВМ и устройств обработки информации. Он предназначен для шифрования как секретной, так и конфиденциальной информации и не накладывает ограничений на гриф секретности обрабатываемой информации.

 

 

 

Таблица10.1

Параметры основных современных блочных шифров

 

 

 

 

Шифр

Длина блока n

Длина блока в битах

Число итераций

 

 

 

 

DES

64

56

16

 

 

 

 

LOKI

64

64

16

 

 

 

 

FEAL

64

128

2k , k 5

 

 

 

 

LUCIFER

128

128

16

 

 

 

 

PES

64

128

8

 

 

 

 

IDEA

64

128

8

 

 

 

 

ГОСТ 28147-89

64

256

32

 

 

 

 

Российский стандарт криптографического преобразования данных построен с учетом недостатков стандарта шифрования DES и обеспечивает существенно больший уровень безопасности информации [1, 36]. В отечественном стандарте длина оперативного ключа, вводимого пользователем, увеличена до 256 бит и введена возможность замены общего для сети обмена данных долговременного ключа длиной 512 бит. Рассматриваемый криптоалгоритм построен по модифицированной схеме блочных шифров Фейстеля и описывается 32 циклами шифрования каждого блока сообщения, что обеспечивает практически равновероятное влияние каждого бита шифруемого сообщения и ключа на все элементы криптограммы. В российском стандарте определен режим имитозащиты передаваемых сообщений, причем пользователь может сам устанавливать допустимую вероятность навязывания нарушителем ложных сообщений.

Криптографический алгоритм по ГОСТ 28147-89 обеспечивает защиту информации в следующих режимах:

шифрование/дешифрование данных в режиме простой замены (подста-

432

новки);

 

 

 

 

шифрование/дешифрование данных в режиме гаммирования;

шифрование/дешифрование данных в режиме гаммирования с обратной

связью,

 

 

 

 

режим выработки имитовставки

 

 

10.4.2. Режимы работы алгоритма криптографического

преобразования данных

 

 

 

Шифрование и дешифрование данных в режиме простой замены

Рассмотрим работу алгоритма в режиме простой замены [1, 36]. Схема

алгоритма шифрования в данном режиме представлена на рис 10.9. В ее состав

входят: ключевое запоминающее устройство (КЗУ) объемом 256 бит (для опе-

ративного ключа), состоящее из восьми 32-разрядных накопителей K0 , K1,..., K7 ;

блок подстановок S (для дол-

Li1

Ki

Ri1

говременного ключа) объемом

 

 

 

512 бит состоящий из восьми

 

 

 

узлов замены

S1, S2 ,..., S8 , с па-

 

 

 

мятью 64 бита каждый. В ка-

 

 

 

ждом узле замены составляют

 

 

 

ключевую таблицу, разбитую

 

 

 

на 16 строк по 4 бита в каждой

 

 

 

строке; регистр сдвига, осу-

 

 

 

ществляющий

циклический

 

 

 

сдвиг вектора на 11 бит в сто-

Li

 

Ri

рону старших разрядов.

 

 

 

Сообщение, подлежащее шифрованию, разбивается на блоки xk длиной

64 бита. Каждый блок разделяется на начальные левый L0

и правый R0 подбло-

ки длиной по 32 бита. В соответствии с упрощенной схемой Фейстеля в течение

32 циклов выполняются фиксированные криптографические преобразования.

433

В первом цикле шифрования начальный правый подблок R0 длиной 32

бита и оперативный ключ K0 , в соответствии с расписанием использования ключа из накопителя, складываются в сумматоре CM1 по модулю 2.

На выходе сумматора полученный полублок длиной 32 бита разбивается на восемь четырех разрядных векторов, являющихся адресом для выбора одной из 16 строк ключевой таблицы, и поступающих на соответствующие узлы замены S1, S2 ,..., S8 блока подстановок S . С помощью каждого четырехразрядного вектора выбирается одна из 16 строк ключевой таблицы соответствующего узла замены. По четыре бита с восьми узлов замены считываются на выход блока подстановок S , объединяясь в 32-разрядный выходной вектор, который поступает на вход регистра сдвига. Сдвинутый на 11 бит вектор складывается в сумматоре CM 2 с начальным левым полублоком L0 . Результат сложения будет яв-

ляться правым полублоком R1 . В качестве левого полублока L1 используются значения начального правого полублока R0 над которыми выполняется сле-

дующий цикл шифрования и т.д. После 32-го цикла шифрования полублоки R32

и L32 меняются местами и составляют блок криптограммы C .

Процесс шифрования в режиме простой замены блока сообщения xk под управлением ключа K в блок криптограммы C записывается в виде: C = EK (xk ).

Дешифрование в режиме простой замены выполняется аналогично шифрованию и отличается обратным порядком использования тех же ключей.

Шифрование и дешифрование данных в режиме гаммирования

Криптосхема алгоритма шифрования в режиме гаммирования представлена на рис. 10.10. В состав схемы, кроме рассмотренных ранее элементов, входят регистры хранения ( N1 , N2 ). Так же, как и в режиме простой замены, вы-

полняется заполнение КЗУ и блока подстановок S .

На вход схемы поступают равновероятно и взаимонезависимо сформированные 64 бита синхропосылки S 0 , которая разделяется на начальные левый SL0 и правый SR0 подблоки длиной по 32 бита. Подблоки синхропосылки за-

шифровываются в режиме простой замены в течение 32 циклов шифрования и

434

записываются в накопителях N1 и N2 как значения VR0 и VL0 соответственно.

Затем эти значения складываются в сумматорах CM 1 и CM 2 по модулю 2 с 32-

битовыми криптографическими константами c1 и c2 .

SL0

S 0

Ki

SLi1

SR0 SRi1

SLi

 

SRi

 

VL0

VR0

 

 

c2

c1

 

VL

Ki

 

VRi1

i

1

 

 

VLi

 

 

VRi

VR32

 

VL32

 

 

xj

Vj C j

Новые значение VR0 и VL0 , поступающие с выхода сумматоров CM1 и CM 2

запоминаются в накопителях N1 и N2 . В течение 32 циклов значения VR0 и VL0

зашифровываются в режиме простой замены, образуя первый 64-разрядный блок шифрующей гаммы V1 , состоящий из правого и левого полублоков.

Полублоки шифрующей гаммы записываются в регистр последовательного сдвига, из которого побитно считываются для шифрования битов первого 64-разрядного блока открытого сообщения x1 . Очередной бит блока сообщения шифруется в режиме гаммирования путем поразрядного сложения по модулю 2 в сумматоре CM3 с очередным битом шифрующей гаммы. Сформированные та-

435

ким образом 64 бита составляют первый блок криптограммы C1 .

Для шифрования второго и последующих блоков открытого сообщения из регистров хранения считываются значения, складываются с новыми криптографическими константами и полученные значения запоминаются в этих же регистрах. Далее формирование и использование второго и последующих блоков шифрующей гаммы выполняется в соответствии с рассмотренным алгоритмом. По каналу связи последовательно передаются синхропосылка S 0 и сформированные блоки C1,C2 ,... криптограммы.

Дешифрование в режиме гаммирования выполняется аналогично шифрованию. Из полученной синхропосылки S 0 последовательно формируются блоки дешифрующей гаммы, которые используются для дешифрования принятых блоков криптограммы.

Для исключения снижения криптостойкости при повторном использовании одного и того же оперативного ключа необходимо в каждом сеансе связи использовать неповторяющуюся синхропосылку S 0 .

Шифрование и дешифрование данных в режиме гаммирования с обратной связью

Криптосхема, реализующая алгоритм шифрования в режиме гаммирования с обратной связью, показана на рис. 10.11.

VL0

S 0

VR0

 

Ki

 

VLi1

VR

1

обратнойсвязи

VLi

 

VRi

 

 

i

 

VR

 

VL32

цепь

 

 

32

 

 

Vj

 

 

xj

 

C j

 

 

 

 

436

 

 

 

Оперативный ключ, состоящий из 256 бит, вводится в ключевое запоминающее устройство (КЗУ), долговременный ключ длиной 512 бит, аналогично режиму простой замены и гаммирования, записывается в блок подстановок S .

Как и в режиме гаммирования, генерируется синхропосылка, разделяется на начальные левый VL0 и правый VR0 подблоки и зашифровывается в режиме простой замены, образуя первый блок V1 шифрующей гаммы, который записы-

вается в регистр последовательного сдвига.

Первый 64-разрядный блок открытого сообщения x1 шифруется поразряд-

ным сложением по модулю 2 в сумматоре CM1 с первым блоком шифрующей гаммы V1 .

Сформированные таким образом 64 бита составляют первый блок криптограммы C1 , который передается в канал связи и одновременно по цепи обрат-

ной связи подается как синхропосылка на вход схемы, где шифруется в режиме простой замены и формирует второй блок шифрующей гаммы V2 .

Аналогично шифруется второй блок открытого сообщения x2 , сформиро-

ванный блок криптограммы C2 по цепи обратной связи используется для фор-

мирования очередного блока шифрующей гаммы и т.д.

Криптосхема алгоритма расшифрования в режиме гаммирования с обратной связью аналогична криптосхеме алгоритма шифрования. Используется идентичное режиму шифрования заполнение КЗУ и блока подстановки. Из полученной синхропосылки S 0 , по аналогии с процессом формирования первого блока шифрующей гаммы, формируется первый блок дешифрующей гаммы, который используется для побитного дешифрования первого принятого блока криптограммы. Затем первый блок криптограммы используется для формирования второго блока дешифрующей гаммы, предназначенного для дешифрования второго принятого блока криптограммы и т.д.

Данный алгоритм повышает имитостойкость шифрованной связи. Однако для выполнения современных требований к имитозащищенности ГОСТ предписывает специальный режим имитозащиты данных.

437

Режим выработки имитовставки

 

 

 

Для имитозащиты шифруемых данных, состоящих из 64-разрядных бло-

ков x1, x2 ,..., xN

при N > 2 , формируется имитовставка

Ec . Криптосхема, реали-

зующая алгоритм выработки имитовставки, представлена на рис 10.12.

 

 

xj

 

В ней исполь-

 

 

зуются те же са-

HL0

 

HR0

мые

оператив-

Ki

ный и долговре-

HLi1

HRi1

менный

ключи

 

HLi

 

HRi

для

имитозащи-

 

ты данных, как и

HR16

 

HL16

для шифрования.

 

 

 

H j

 

блок

 

 

 

Первый

 

 

Ec

открытых

дан-

 

 

 

ных x1 разделя-

 

 

 

ется

на

левый

HL0 и правый HR0 полублоки, которые зашифровываются в режиме простой за-

мены в течение 16 циклов шифрования, образуя первый блок хэш-кода откры-

тых данных H1 .

 

 

 

 

Сформированный первый блок хэш-кода переписывается в регистр по-

следовательного сдвига и побитно складывается по модулю 2 в сумматоре CM1

со вторым блоком открытых данных x2

с образованием полублоков HL0 и HR0 .

Полублоки HL0 и HR0 используются для формирования второго блока

хэш-кода H2 ,

который складывается с третьим блоком открытых данных x3 .

Действия выполняются до тех пор, пока не будет обработан последний блок от-

крытых данных xN .

 

 

 

 

В качестве имитовставки Ec используются первые L бит правого полу-

блока хэш-кода HR16N . Длина L имитовставки определяется требованиями по

имитозащищенности связи.

 

 

 

 

438

Сформированная имитовставка Ec передается по каналу связи после за-

шифрованных данных или поступает в память ЭВМ. Стандарт определяет, что имитозащита данных реализуется одинаково для всех режимов их шифрования. Стандарт допускает в первых блоках данных размещение служебной информации (адреса сообщения, метки времени, синхропосылки и др.), которая может не шифроваться. При высоких требованиях к имитозащищенности метка времени обязательно должна присутствовать в передаваемой информации.

Криптосхема, реализующая алгоритм проверки имитовставки, аналогична криптосхеме ее выработки. Принятые блоки криптограммы расшифровываются, и заново формируется имитовставка, которая сравнивается с принятой. При их несовпадении принятые данные считаются ложными.

Данный режим должен использоваться для обеспечения имитозащищенности связи в условиях, когда исключена возможность ввода ложной информации со стороны законных пользователей шифрованной связи.

Рассмотренный криптографический алгоритм защиты информации по ГОСТ 28147-89 во всех описанных режимах обеспечивает высокую криптографическую стойкость и допускает программную или аппаратную реализацию.

Контрольные вопросы

1.В чем состоит принципиальное отличие криптографических и криптоаналитических методов?

2.Что называют криптографическим ключом?

3.Поясните сущность и сравните между собой криптографический алгоритм, криптографический протокол и криптографическую систему зашиты информации.

4.Что подразумевают под аутентификацией информации?

5.Перечислите криптографические функции?

6.В чем состоит принципиальное отличие симметричных и несимметричных систем шифрования информации?

7.Перечислите режимы защиты информации по ГОСТ 28147-89. В чем

439

состоит существенное отличие методов защиты информации по ГОСТ 28147-89 от методов согласно стандарта шифрования DES?

440

Соседние файлы в папке Корольов