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

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

ОГЛАВЛЕНИЕ

Следующая >>

16 7 27 20 13 2
41 52 31 37 47 55
30 40 51 45 33 48
44 49 39 56 34 53
46 42 50 36 29 32


Как следует из табл.3.9, первым битом ключа Кi будет 14-й бит последовательности Сi Di,
вторым – 17-й бит, 47-м битом ключа Кi будет 29-й бит Сi Di, а 48-м битом – 32-й бит Сi Di.


3.2.Основные режимы работы алгоритма DES
Алгоритм DES вполне подходит как для шифрования, так и для аутентификации данных. Он
позволяет непосредственно преобразовывать 64-битовый входной открытый текст в 64-битовый вы-
ходной шифрованный текст, однако данные редко ограничиваются 64 разрядами.
Чтобы воспользоваться алгоритмом DES для решения разнообразных криптографических за-
дач, разработаны четыре рабочих режима:
• электронная кодовая книга ECB (Electronic Code Book);
• сцепление блоков шифра CBC (Cipher Block Chaining);
• обратная связь по шифртексту CFB (Cipher Feed Back);
• обратная связь по выходу OFB (Output Feed Back).
Режим "Электронная кодовая книга"
Длинный файл разбивают на 64-битовые отрезки (блоки) по 8 байтов. Каждый из этих блоков
шифруют независимо с использованием одного и того же ключа шифрования (рис.3.5).
Основное достоинство – простота реализации. Недостаток – относительно слабая устойчи-
вость против квалифицированных криптоаналитиков. Из-за фиксированного характера шифрования
при ограниченной длине блока 64 бита возможно проведение криптоанализа "со словарем". Блок та-
кого размера может повториться в сообщении вследствие большой избыточности в тексте




7
...
М1 64 М2 64 Мn 64

Шифрование
...
DES DES DES

...
С1 64 С2 64 Сn 64


...
С1 64 С2 64 Сn 64

Расшифрование
...
DES DES DES

...
М1 64 М2 64 Мn 64
Рис.3.5. Схема алгоритма DES в режиме электронной кодовой книги

на естественном языке. Это приводит к тому, что идентичные блоки открытого текста в сообщении
будут представлены идентичными блоками шифртекста, что дает криптоаналитику некоторую ин-
формацию о содержании сообщения.
Режим "Сцепление блоков шифра"
В этом режиме исходный файл М разбивается на 64-битовые блоки: М = М1М2...Мn. Первый
блок М1 складывается по модулю 2 с 64-битовым начальным вектором IV, который меняется еже-
дневно и держится в секрете (рис.3.6). Полученная сумма затем шифруется с использованием ключа
DES, известного и отправителю, и получателю информации. Полученный 64-битовый шифр С1 скла-
дывается по модулю 2 со вторым блоком текста, результат шифруется и получается второй 64-
битовый шифр С2, и т.д. Процедура повторяется до тех пор, пока не будут обработаны все блоки тек-
ста.
Таким образом, для всех i = 1…n (n – число блоков) результат шифрования Сi определяется
следующим образом: Сi =
=DES (Мi ? Ci–1), где С0 = IV – начальное значение шифра, равное начальному вектору (вектору ини-
циализации).
Очевидно, что последний 64-битовый блок шифртекста является функцией секретного ключа,
начального вектора и каж-
IV 64 М1 64 М2 64 М3 64



DES DES DES
Шифрование Шифрование Шифрование


С1 64 С2 64 С3 64

IV 64 С1 64 С2 64 С3 64

DES DES DES
Расшифрование Расшифрование Расшифрование




М1 64 М2 64 М3 64

Рис.3.6. Схема алгоритма DES в режиме сцепления блоков шифра

дого бита открытого текста независимо от его длины. Этот блок шифртекста называют кодом аутен-
тификации сообщения (КАС).
Код КАС может быть легко проверен получателем, владеющим секретным ключом и началь-
ным вектором, путем повторения процедуры, выполненной отправителем. Посторонний, однако, не
8
может осуществить генерацию КАС, который воспринялся бы получателем как подлинный, чтобы до-
бавить его к ложному сообщению, либо отделить КАС от истинного сообщения для использования его
с измененным или ложным сообщением.
Достоинство данного режима в том, что он не позволяет накапливаться ошибкам при переда-
че.
Блок Мi является функцией только Сi–1 и Сi. Поэтому ошибка при передаче приведет к поте-
ре только двух блоков исходно-го текста.
Режим "Обратная связь по шифру"
В этом режиме размер блока может отличаться от 64 бит (рис.3.7). Файл, подлежащий шиф-
рованию (расшифрованию), считывается последовательными блоками длиной k битов (k =1…64).
Шифрование Расшифрование
Сдвиг Сдвиг

Вх. Вх.
64 – k k 64 – k k
блок блок
1 k Обратная Обратная 1 k
связь связь
k бит k бит
DES шифрование DES шифрование


Вых. Вых.
k 64 - k k 64 - k
блок блок
1 k 1 k
Шифртекст Шифртекст
k бит k бит
1 k 1 k
Открытый текст Открытый текст
k бит k бит
1 k 1 k

Рис. 3.7. Схема алгоритма DES в режиме обратной связи по шифртексту


Входной блок (64-битовый регистр сдвига) вначале содержит вектор инициализации, выров-
ненный по правому краю.
Предположим, что в результате разбиения на блоки мы получили n блоков длиной k битов
каждый (остаток дописывается нулями или пробелами). Тогда для любого i =1…n блок шифр-
текста
Сi = Mi ? Pi–1,
где Рi–1 обозначает k старших битов предыдущего зашифрованного блока.
Обновление сдвигового регистра осуществляется путем удаления его старших k битов и за-
писи Сi в регистр. Восстановление зашифрованных данных также выполняется относительно про-
сто: Рi–1 и Сi вычисляются аналогичным образом и
Мi = Сi ? Рi–1.

Режим "Обратная связь по выходу"
Этот режим тоже использует переменный размер блока и сдвиговый регистр, инициализируе-
мый так же, как в режиме СFB, а именно – входной блок вначале содержит вектор инициализации IV,
выровненный по правому краю (рис.3.8). При этом для каждого сеанса шифрования данных необхо-
димо использовать новое начальное состояние регистра, которое должно пересылаться по каналу
открытым текстом.
Положим
М = М1 М2 ... Mn.
Для всех i = 1… n
Сi = Mi ? Pi,
где Рi – старшие k битов операции DES (Сi–1).
Отличие от режима обратной связи по шифртексту состоит в методе обновления сдвигового
регистра.
Это осуществляется путем отбрасывания старших k битов и дописывания справа Рi.



9
Шифрование Расшифрование
Сдвиг Сдвиг

Вх. Вх.
64 – k k 64 – k k
блок блок
1 k Обратная Обратная 1 k
связь связь
k бит k бит
DES шифрование DES шифрование


Вых. Вых.
k 64 - k k 64 - k
блок блок
1 k 1 k

Шифртекст Шифртекст
k бит k бит
1 k 1 k
Открытый текст Открытый текст
k бит k бит
1 k 1 k


Рис. 3.8. Схема алгоритма DES в режиме обратной связи по выходу

сеанса шифрования данных необходимо использовать новое начальное состояние регистра, которое
должно пересылаться по каналу открытым текстом.
Положим
М = М1 М2 ... Mn.
Для всех i = 1… n
Сi = Mi ? Pi,
где Рi – старшие k битов операции DES (Сi–1).
Отличие от режима обратной связи по шифртексту состоит в методе обновления сдвигового
регистра.
Это осуществляется путем отбрасывания старших k битов и дописывания справа Рi.
Области применения алгоритма DES
Каждому из рассмотренных режимов (ЕСВ, СВС, CFB, OFB) свойственны свои достоинства и
недостатки, что обусловливает области их применения.
Режим ЕСВ хорошо подходит для шифрования ключей: режим CFB, как правило, предназна-
чается для шифрования отдельных символов, а режим OFB нередко применяется для шифрования в
спутниковых системах связи.
Режимы СВС и CFB пригодны для аутентификации данных. Эти режимы позволяют использо-
вать алгоритм DES для:
• интерактивного шифрования при обмене данными между терминалом и главной ЭВМ;
• шифрования криптографического ключа в практике автоматизированного распространения клю-
чей;
• шифрования файлов, почтовых отправлений, данных спутников и других практических задач.
Первоначально стандарт DES предназначался для шифрования и расшифрования данных
ЭВМ. Однако его применение было обобщено и на аутентификацию.
В системах автоматической обработки данных человек не в состоянии просмотреть данные,
чтобы установить, не внесены ли в них какие-либо изменения. При огромных объемах данных, прохо-
дящих в современных системах обработки, просмотр занял бы слишком много времени. К тому же
избыточность данных может оказаться недостаточной для обнаружения ошибок. Даже в тех случаях,
когда просмотр человеком возможен, данные могут быть изменены таким образом, что обнаружить
эти изменения человеку очень трудно. Например, "do" может быть заменено на "do not", "$1900" – на
"$9100". Без дополнительной информации человек при просмотре может легко принять измененные
данные за подлинные. Такие опасности могут существовать даже при использовании шифрования

10
данных. Поэтому желательно иметь автоматическое средство обнаружения преднамеренных и не-
преднамеренных изменений данных.
Обыкновенные коды, обнаруживающие ошибки, непригодны, так как если алгоритм образова-
ния кода известен, противник может выработать правильный код после внесения изменений в дан-
ные. Однако с помощью алгоритма DES можно образовать криптографическую контрольную сумму,
которая может защитить как от случайных, так и преднамеренных, но несанкционированных измене-
ний данных.
Этот процесс описывает стандарт для аутентификации данных ЭВМ (FIPS 113). Суть стандар-
та состоит в том, что данные зашифровываются в режиме обратной связи по шифртексту (режим
CFB) или в режиме сцепления блоков шифра (режим СВС), в результате чего получается оконча-
тельный блок шифра, представляющий собой функцию всех разрядов открытого текста. После этого
сообщение, которое содержит открытый текст, может быть передано с использованием вычисленного
окончательного блока шифра, служащего в качестве криптографической контрольной суммы.
Одни и те же данные можно защитить, пользуясь как шифрованием, так и аутентификацией.
Данные защищаются от ознакомления шифрованием, а изменения обнаруживаются посредством ау-
тентификации. Алгоритм аутентификации можно применить как к открытому, так и к зашифрованному
тексту. При финансовых операциях, когда в большинстве случаев реализуются и шифрование, и
аутентификация, последняя применяется и к открыто-
му тексту.
Шифрование и аутентификацию используют для защиты данных, хранящихся в ЭВМ. Во мно-
гих ЭВМ пароли зашифровывают необратимым образом и хранят в памяти машины. Когда пользова-
тель обращается к ЭВМ и вводит пароль, последний зашифровывается и сравнивается с хранящимся
значением. Если обе зашифрованные величины одинаковы, пользователь получает доступ к машине,
в противном случае следует отказ.
Нередко зашифрованный пароль вырабатывают с помощью алгоритма DES, причем ключ по-
лагается равным паролю, а открытый текст – коду идентификации пользователя.
С помощью алгоритма DES можно также зашифровать файлы ЭВМ для их хранения [82].
Одним из наиболее важных применений алгоритма DES является защита сообщений элек-
тронной системы платежей (ЭСП) при операциях с широкой клиентурой и между банками.
Алгоритм DES реализуется в банковских автоматах, терминалах в торговых точках, автомати-
зированных рабочих местах и главных ЭВМ. Диапазон защищаемых им данных весьма широк – от
оплат $50 до переводов на многие миллионы долларов. Гибкость основного алгоритма DES позволя-
ет использовать его в самых разнообразных областях применения электронной системы платежей.


3.3. Комбинирование блочных алгоритмов
В настоящее время блочный алгоритм DES считается относительно безопасным алгоритмом
шифрования. Он подвергался тщательному криптоанализу в течение 20 лет, и самым практичным
способом его взламывания является метод перебора всех возможных вариантов ключа. Ключ DES
имеет длину 56 бит, поэтому существует 256 возможных вариантов такого ключа. Если предположить,
что суперкомпьютер может испытать миллион вариантов ключа за секунду, то потребуется 2285 лет
для нахождения правильного ключа. Если бы ключ имел длину 128 бит, то потребовалось бы 1025 лет
(для сравнения: возраст Вселенной около 1010 лет).
Нетрудно представить себе, что при постоянном прогрессе возможностей компьютерной тех-

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

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

ОГЛАВЛЕНИЕ

Следующая >>