Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MSZKI-01-classic.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
188.42 Кб
Скачать

Лабораторная работа № 1 часть первая.

Введение в криптографию. Классическая криптография.

Цель: Знакомство с пакетами прикладных программ систем криптографической защиты информации (СКЗИ), классической криптографией (ПО Crypton).

Отчёт: Отчёт по лабораторной работе должен содержать:

  1. цель работы;

  2. постановка задачу;

  3. алгоритм действий (по шагам);

  4. полученные в результате работы файлы (ключи и пр.).

  5. Ответы на контрольные вопросы с пояснениями

Краткая теория

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

Последние годы всё чаще можно услышать: «Криптография то, криптография это. Американцы запустили космический разведывательный аппарат (печально известный шатл, например), и он передаёт шифрованные сообщения о положении в мире в режиме реального времени. Однако русские уже давно расшифровали и читают эти сообщения, не тратя миллионы долларов на запуски спутников». Такие «сенсации» можно встретить тысячами. Являются ли они правдой или вымыслом, «газетной уткой» или чем-нибудь ещё никак не повлияет на роль криптографии в современной жизни развитого общества. О роли криптографии в истории можно прочесть в [1]. Сейчас эта замечательная наука встречается, чуть ли не на каждом шагу, а с ростом высоких технологий ей отводится огромная роль в компьютерном мире. Список областей применения огромен и пополняется достаточно активно. Перечислим лишь часть:

  • военные секреты;

  • дипломатические секреты;

  • использование в электронных сетях:

    1. защищенная почта;

    2. виртуальные частные сети (VPN);

    3. корпоративные сети;

    4. протокол IPSec.

  • использование в электронной коммерции:

    1. банковские расчёты:

    2. смарт-карты;

    3. цифровые деньги.

  • цифровые подписи:

    1. совместная (одновременная) подпись;

    2. групповая подпись;

    3. неоспариваемая подпись;

    4. доверенная подпись;

    5. слепая подпись.

  • сертификаты;

  • электронное удостоверение личности;

  • разделение секрета;

  • тайное голосование;

  • широковещательная анонимная передача;

  • передача с забыванием;

  • вероятностное шифрование;

  • квантовая криптография;

  • нейрокриптография;

  • стеганография.

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

Алгоритмы шифрования

Любой алгоритм шифрования – это преобразование текста. Процесс преобразования открытого текста в закрытый текст (или иначе в шифртекст) называют зашифрованием, и обозначают:

E (M) = C,

где M – это открытый текст, C – полученный шифртекст, а E – функция зашифрования.

Процесс обратный зашифрованию называют расшифрованием и обозначают:

D (C) = M,

где D – функция расшифрования.

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

EK1 (M) = C

DK2 (C) = M

и при этом справедливо:

DK2 (EK1 (M)) = M,

где K1 – это ключ зашифрования, а K2 – это ключ расшифрования.

Если K1 = K2, то есть ключ зашифрования является одновременно ключом расшифрования, то данный алгоритм называют симметричным, а раздел криптографии, занимающийся данными шифрами – классическим (классическая криптография). В противном случае, алгоритм называют асимметричным, а соответствующий раздел – современной криптографией. Таким образом, классификацию алгоритмов можно представить в виде рисунка (рис. 1):

Рисунок 1 Классификация алгоритмов шифрования

В данной лабораторной работе рассматриваются симметричные алгоритмы.

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

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

Общий вид симметричной криптосистемы показан на рисунке 2:

Рисунок 2 Криптозащита при симметричном шифровании

Где A и B – законные пользователи системы, W – противник или криптоаналитик.

Симметричные алгоритмы подразделяются на три категории. Одни алгоритмы обрабатываю открытый текст побитово (иногда побайтово). Такие алгоритмы получили распространение в основном в Европейских странах и названы «потоковыми шифрами» (RC4, SEAL и ряд других). Другие алгоритмы обрабатывают группы битов (обычно 64 бита) открытого текста. Эти группы битов называются блоками, а алгоритмы – блочными шифрами (DES, Lucifer, LOKI, RC2, RC5, IDEA, ГОСТ 28147-89, CAST, Blowfish, SAFER и др.). Комбинированные шифры объединяют некоторые особенности двух предыдущих.

Подробное описание алгоритмов можно найти в доступных источниках литературы, например в [2].

Распределение ключей

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

Протоколы распределения секретных ключей в симметричной криптографии делятся на три группы:

  1. без использования третьих сторон;

  2. с использованием центра трансляции ключей (ЦТК);

  3. с использованием центра распределения ключей (ЦРК).

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

Во втором случае, используется доверенный центр. При регистрации, пользователь получает пароль (например, на дискете, USB-ключе и т.п.), с помощью которого он общается с центром (ЦТК). Теперь, если, например, пользователь A, который при регистрации получил ключ KA, захочет послать секретное сообщение пользователю B, который в свою очередь при регистрации получил ключ KB, то он создаёт сеансовый секретный ключ (KAB), шифрует его на своём секретном ключе KA и отправляет в ЦТК вместе с именем B.

{B, EKA(KAB)}

Центр извлекает ключ KAB, шифрует его на секретном ключе пользователя B (KB) и отправляет пользователю B вместе с именем B:

{A, EKB(KAB)}

Теперь пользователи A и B могут общаться друг с другом с помощью сеансового секретного ключа KAB.

Существует вариант, когда пользователь отсылает в ЦТК только имя B, в этом случае центр сам создаёт необходимые ключи и посылает их обоим пользователям. Имеются также и другие модификации протокола с ЦТК. ЦТК обычно используется в системах с большим или не постоянным количеством пользователей и должен быть полностью автоматизирован (программно или аппаратно).

В третьем случае, при использовании центра распределения ключей, количество пользователей должно быть фиксированным. Здесь ключи создаются и распределяются центром один раз перед началом работы системы. Центр должен создать такое количество ключей, чтобы любая пара пользователей могла общаться без обращения в центр. Для этого в центре создается так называемая «сетевая таблица», в которой в заголовках строк и столбцов поставлены имена пользователей, а в ячейках хранятся ключи. Эта матрица симметрична, то есть ключ для передачи от пользователя A к пользователю B (ключ A-B) в точности равен ключу B-A. Выглядит она следующим образом:

Таблица 1 Сетевая таблица

User 1

User 2

User 3

User N

User 1

K1

K12

K13

K1N

User 2

K12

K2

K23

K2N

User 3

K13

K23

K3

K3N

User N

K1N

K2N

K3N

KN

Таким образом, для сети из N пользователей необходимо N*(N-1) разных ключей.

Сетевая таблица хранится в ЦРК криптографической системы и шифруется на его ключе. Каждому пользователю отдается соответствующая ему строка (столбец) из таблицы. Теперь, при передаче от User 1 к User 3 сообщения, User 1 выбирает K13 из третьего столбца своей строки и шифрует его этим ключом. User 3 в свою очередь выбирает K13 из первого столбца своей строки и расшифровывает сообщение. Ключи K1, K2, K3,…, KN служат для связи с ЦРК соответственно пользователей User 1, User 2, User 3, …, User N.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]