ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 06.12.2020

Просмотров: 4276

Скачиваний: 25

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

• зашифрованное сообщение должно поддаваться чтению только 

при  наличии  ключа;

• число операций,  необходимых для определения использован­

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

• число операций,  необходимых для расшифровывания инфор­

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

тевых  вычислений);

•  знание  алгоритма  шифрования  не  должно  влиять  на  надеж­

ность  защиты;

•  незначительное  изменение  ключа должно приводить к суще­

ственному изменению вида зашифрованного сообщения даже при 
использовании  одного  и  того  же  ключа;

•  структурные  элементы  алгоритма  шифрования  должны  быть 

неизменными;

•  дополнительные  биты,  вводимые  в  сообщение  в  процессе 

шифрования, должны быть полностью и  надежно скрыты в шиф­
рованном  тексте;

•  длина  шифрованного  текста  должна  быть  равной  длине  ис­

ходного  текста;

•  не должно быть простых и легко устанавливаемых зависимо­

стей  между  ключами,  последовательно  используемыми  в  процес­
се  шифрования;

•  любой  ключ  из  множества  возможных  должен  обеспечивать 

надежную  защиту  информации;

• алгоритм должен допускать как программную, так и  аппарат­

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

Итак,  на  входе  алгоритма  имеются  открытый  текст  (представ­

ленный  в  двоичном  виде)  и  ключ.  Как  организовать  процесс  за­

шифрования? Ясно,  что текст необходимо подавать на  вход алго­

ритма частями.  В докомпьютерную эпоху,  когда шифраторы были 

аппаратными,  было удобно обрабатывать информацию по одному 
импульсу  за  такт,  т.е.  побитно.  Современные  компьютеры  рабо­

тают  с  байтами  или  словами,  состоящими  из  нескольких  байтов, 

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

Все  алгоритмы  принято  разделять  на  два  класса: 

поточные

  и 

блочные.

  Во  многих  книгах  можно  встретить утверждение  о  том, 

что  поточные  алгоритмы  шифруют  информацию  побитово.  На 
самом  деле  это  не  так:  современные  поточные  алгоритмы,  пред­

назначенные  для  компьютерной  реализации,  работают  с  много­
байтовыми  блоками.  Разница  между  поточными  и  блочными  ал-


background image

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

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

ных блоков данных применяется  один  и  тот же  ключ.  Но  это да­

леко  не  всегда означает,  что  одинаковые  блоки  открытого текста 

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

Блочные  алгоритмы  шифрования  состоят  из  многократно  по­

вторяющихся  двух  основных  операций:  подстановки  и  переста­

новки. Замена одного символа другим по некоторому правилу есть 
подстановка,  изменение  нумерации  (порядка  следования)  в  мас­
сиве  символов есть  перестановка.  В  совокупности  эти  две  опера­
ции  при  их многократном  повторении должны  привести  к следу­
ющему  результату:  перемешивание  и  рассеяние.  В  знаменитой 

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

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

например подстановок (каждое  из которых в отдельности обеспе­

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

Классическим  примером  реализации  идей  Шеннона  является 

схема Фейстеля, иногда еще называемая SP-сетью. Эта схема изоб­

ражена на рис. 8.2. Как видно из рисунка, вначале блок открытого 
текста  делится  на  две  части:  левую  и  правую  половины.  Правая 

половина  подвергается  преобразованию  некоторой  функцией  /

(раундовая функция шифрования), рабо­

тающей с использованием подключа 

к-г

 

Результат  преобразования  суммируется 

с левой частью блока и становится «но­
вой»  правой  частью.  «Новой»  же левой 
частью становится «старая» правая часть 

(в последнем раунде итерированной схе­
мы  Фейстеля  половины  менять  места­

ми  не  надо).

На каждом раунде используется свой 

подключ 

k h

  получаемый  по  некоторо­

му  правилу  из  общего  ключа 

к.

  Про- 

Рис.  8.2.  Схема Фейстеля 

цедура дешифрования выполняется ана­


background image

логично,  но ключи 

к,

 берутся в обратном  порядке. Сеть Фейстеля 

замечательна  тем,  что  для  нее  прямое  и  обратное  криптографи­

ческие преобразования выполняются по одной схеме, и для функ­

ции / не требуется ее обратимость.  Криптостойкость сети Фейсте­

ля  целиком  определяется  функцией 

f

  причем  она  повышается 

при  увеличении  числа итераций.

Сеть  Фейстеля  применяется  во  многих  блочных  шифрах,  на­

пример в  DES,  ГОСТ 28147 — 89 и др.  Она не применяется  в AES.

В  России  имеются  три  криптографических  стандарта.  Отече­

ственный стандарт шифрования данных —  ГОСТ 28147 — 89 «Си­
стемы обработки информации.  Защита криптографическая. Алго­
ритм  криптографического  преобразования»  —  определяет  алго­
ритм 

симметричного  шифрования

  с  ключом  длиной до  256  бит. 

Размер шифруемого блока — 64 бита.  Как написано в тексте стан­

дарта,  алгоритм  не  накладывает  ограничений  на  степень  секрет­

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

ти  имитозащиты  сообщений.

Отечественный  стандарт  на  хэш-функцию  (односторонняя 

функция,  отображающая сообщение произвольной длины в сооб­
щение фиксированной длины) — ГОСТ 34.11 —94 — использует в 
своей  основе  ГОСТ  28147—89.  В  свою  очередь,  стандарт  на  ал­

горитмы  формирования/проверки  ЭЦП  —  ГОСТ  34.10 — 2001  — 
использует  алгоритм  выработки  хэш-функции,  приведенный  в 
ГОСТ 34.11 — 94. Для выработки ЭЦП хэш-образ сообщения шиф­

руется с использованием метода асимметричной криптографии на 
основе  математики  эллиптических  кривых.  Это  —  единственный 

пример  официально  одобренного  в  России  метода  асимметрич­
ной  криптографии.

К достоинствам симметричных  методов относят:  проверенную 

временем  (и  математикой)  надежность,  высокое  быстродействие 

и  простоту.  Основным  недостатком  указанных  методов  является 

то,  что ключ должен быть известен  и отправителю,  и получателю. 

Это существенно усложняет процедуру  назначения и распределе­
ния  ключей  между  пользователями.  По  существу,  в  открытых  се­

тях  должен  быть  предусмотрен  физически  защищенный  канал 

передачи ключей.  Названный недостаток послужил причиной раз­
работки  методов  шифрования  с  открытым  ключом  —  асиммет­
ричных  методов.

Асимметричные методы

 используют два взаимосвязанных клю­

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


background image

вателя.  Его  используют  для  выполнения  шифрования.  (В  алго­

ритмах  ЭЦП  порядок  использования  ключей  обратный:  для  вы­

работки  ЭЦП  используется  закрытый  ключ,  а для  ее  проверки  — 
общедоступный.)

Открытый  и  закрытый  ключи  математически  связаны  между 

собой, но по открытому ключу вычислительно невозможно найти 

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

ния  в  поле  над эллиптической  кривой.  При использовании  боль­

ших длин ключа (порядка 700— 1 ООО бит) в настоящее  время счи­

тается,  что  быстро  (за  несколько  лет)  эту  задачу  решить  нельзя. 
Однако  мощность  компьютеров  растет,  улучшаются  также  мате­
матические  методы  решения  трудных  задач.

Алгоритмы с открытыми ключами  не заменяют симметричные 

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

шифрования  ключей  по  следующим  причинам:

• Медленная скорость работы алгоритмов с открытыми ключа­

ми (они примерно в  1 ООО раз медленнее, чем симметричные алго­
ритмы).  При этом,  несмотря  на все увеличивающееся быстродей­
ствие компьютеров, требования к объему передаваемой информа­
ции также  непрерывно  возрастают.

•  С  помощью  асимметричных  алгоритмов  нельзя  шифровать 

сообщения,  выбираемые  из ограниченного ансамбля сообщений. 

Ключ  шифрования  общеизвестен,  поэтому  нарушитель  всегда 

может  осуществить  пробные  шифрования  и  найти  искомый  от­
крытый  текст.

•  Криптографическая стойкость алгоритмов с открытыми клю­

чами  основана на недоказанных свойствах математических функ­

ций.  В результате некоторые асимметричные криптосистемы ока­

зались полностью взломаны  (например,  рюкзачные  криптосисте­
мы),  оценка стойкости других криптосистем ежегодно снижается.

Сеансовый  ключ 

симметричного алгоритма

Сообщение,  зашифрованное 

симметричным алгоритмом

I  В  канал  связи^

Цифровой  конверт

Зашифровано 

на открытом  ключе.

Рис.  8.3.  Пример  совместного  использования  симметричных 

и  асимметричных  алгоритмов


background image

Снижение  происходит по двум  причинам:  увеличение  возможно­

стей  вычислительной  техники  и  изобретение  новых  алгоритмов 
решения  «трудных»  задач.

В  целях  шифрования  криптография  с  открытыми  ключами 

применяется  для  засекречивания  и  распространения  сеансовых 

ключей,  которые используются симметричными алгоритмами для 

закрытия  потока сообщений. Такая реализация  (рис.  8.3)  называ­
ется  иногда  «цифровым  конвертом».

Важнейшим  приложением  криптографии  с  открытым  ключом 

являются  системы  электронной  цифровой  подписи  (ЭЦП).  В  на­

стоящее  время  наиболее  известны  в  мире  следующие  асиммет­

ричные  алгоритмы:

•  RSA  (Rivest,  Shamir,  Adleman);
•  Эль-Гамаля.
Схема  Эль-Гамаля  используется  в  отечественном  стандарте  на 

ЭЦП.

Идея технологии  ЭЦП состоит в следующем.  К сообщению от­

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

два  получившихся  значения.  Если  они  совпадут,  то все  верно.

Электронная  подпись  гарантирует  целостность  сообщения  и 

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

8.3.5.  Межсетевое экранирование

Достаточно часто в АС предприятия необходимо соединять сети 

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

пропуска  только  разрешенных  пакетов  и  блокирования  нежела­

тельных применяются межсетевые  экраны  —  МСЭ  (другие  назва­

ния  —  брандмауэры,  файерволы).

Типичный  МСЭ  состоит  из  подсистем:
• подсистема управления доступом (фильтрация данных и транс­

ляция  адресов);

•  идентификации  и  аутентификации;
•  регистрации  событий;
•  анализа  зарегистрированной  информации;
•  администрирования;
•  контроля  целостности;
•  восстановления;
•  тестирования;

•  интерфейса  с  пользователем.