Лабораторная работа разделена на две части, первая - в файле MSZKI-01-classic.doc (данный файл), вторая - в файле MSZKI-01-public.doc (в том же каталоге). По каждой части пишется отдельный отчет в электронном виде под заголовками: Лабораторная №1 Часть первая: классическая криптография, Лабораторная №1 Часть вторая: криптография с открытым ключом.
Последние годы всё чаще можно услышать: «Криптография то, криптография это. Американцы запустили космический разведывательный аппарат (печально известный шатл, например), и он передаёт шифрованные сообщения о положении в мире в режиме реального времени. Однако русские уже давно расшифровали и читают эти сообщения, не тратя миллионы долларов на запуски спутников». Такие «сенсации» можно встретить тысячами. Являются ли они правдой или вымыслом, «газетной уткой» или чем-нибудь ещё никак не повлияет на роль криптографии в современной жизни развитого общества. О роли криптографии в истории можно прочесть в [1]. Сейчас эта замечательная наука встречается, чуть ли не на каждом шагу, а с ростом высоких технологий ей отводится огромная роль в компьютерном мире. Список областей применения огромен и пополняется достаточно активно. Перечислим лишь часть:
· военные секреты;
· дипломатические секреты;
· использование в электронных сетях:
- защищенная почта;
- виртуальные частные сети (VPN);
- корпоративные сети;
- протокол IPSec.
· использование в электронной коммерции:
- банковские расчёты:
- смарт-карты;
- цифровые деньги.
· цифровые подписи:
- совместная (одновременная) подпись;
- групповая подпись;
- неоспариваемая подпись;
- доверенная подпись;
- слепая подпись.
· сертификаты;
· электронное удостоверение личности;
· разделение секрета;
· тайное голосование;
· широковещательная анонимная передача;
· передача с забыванием;
· вероятностное шифрование;
· квантовая криптография;
· нейрокриптография;
· стеганография.
Криптография как наука состоит, во-первых, собственно из самой криптографии, в которую входят криптографические алгоритмы (методы) шифрования и криптографические протоколы и, во-вторых, криптоанализа. Однако такое деление условно, невозможно создать ни одного реально работающего алгоритма без его анализа, также как и невозможен криптоанализ без знания криптографии.
Любой алгоритм шифрования – это преобразование текста. Процесс преобразования открытого текста в закрытый текст (или иначе в шифртекст) называют зашифрованием, и обозначают:
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 и др.). Комбинированные шифры объединяют некоторые особенности двух предыдущих.
Подробное описание алгоритмов можно найти в доступных источниках
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.