Основы криптографии

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 23.12.2011
Размер файла 767,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

1

44

Размещено на http://www.allbest.ru/

ДИПЛОМНАЯ РАБОТА

ОСНОВЫ КРИПТОГРАФИИ

Оглавление

криптография протокол алгоритм ключ

Введение

История, предпосылки и необходимость

Теория

Протоколы

Протоколы с посредником

Арбитражные протоколы

Самодостаточные протоколы

Попытки вскрытия протоколов

Передача информации с использованием симметричной криптографии

Передача информации с использованием криптографии с открытыми ключами

Цифровые подписи

Подпись документа с помошью симметричных криптосистем и посредника

Подпись документа с помошью криптографии с открытыми ключами

Сообщения и ширование

Алгоритмы и ключи

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

Алгоритмы с открытым ключом

Криптоанализ

Безопасность алгоритмов

Вскрытие шифра простой замены

Взлом многоалфавитных шифров

Теория информации

Энтропия и неопредленность

Норма языка

Расстояние уникальности

Путаница и диффузия

Арифменика вычетов

Простые числа

НОД

Обратные значения по модулю

Функция Эйлера

Квадратичные вычеты

Символ Лежандра

Символ Якоби

Вычисления в поле Галуа

Разложение на множители

Простое XOR

Одноразовые блокноты

Управление ключами

Генерация ключей

Накопление ключей

Алгоритм Диффи-Хеллмана

Использование «блуждающих» ключей

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

Практика

DES

Описание DES

Схема алгоритма

Начальная перестановка

Преобразование ключа

Перестановка с расширением

Постановка с помощью S-блоков

Перестановка с помощью P-блоков

Заключительная перестановка

Дешифрование DES

Безопастность DES

Слабые ключи

Полуслабые ключи

ГОСТ

Основной шаг криптопреобразование

Базовые циклы криптографических преобразований

Основные режимы шифрования

Гаммирование

Выработка иммитовставки к массиву данных

RSA

Шифрование RSA

Скорость RSA

Безопасность RSA

Вскрытие в выбранным шифротекстом против RSA

Вскрытие общего модуля RSA

Вскрытие шифрования и подписи с использованием RSA

Шифр Эль Гамаля

Цифровые подписи

Описание DSA

Подписи DSA

Шифрование Эль Гамаля с DSA

Шифрование RSA с DSA

Заключение

Список испльзованной литературы

Приложения

DES

GOST

XOR

File Coding

Введение

Криптография - по сути, одно из самых древних явлений, порожденных человеком. Как только человек стал homo sapiens sapiens, пройдя стадию homo Sapiens prasapiens- у него начали появляться секреты. Секрет - само собой разумеется, не подлежит разглашению, поэтому для того, чтобы его передать, требовалось какое-то средство для его целостной передачи. Таким средством по началу стал.... язык. Да да! Именно язык- ибо не будь у одного племени секретов от другого (например рецепт приготовления мамонта) - то все люди на земле пользовались бы одним и тем же языком.

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

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

Но, несмотря на всё вышесказанное, кое что в науке о шифрах (crypto- зашитить graphy-писать, или, криптология, что переводится как: kryptos-тайный logos-наука) кое-что осталось неизменным - это Протоколы, алгоритмы, ключи, пароли - объяснения этого и других слов и их более широкий смысл я постараюсь дам попозже, а пока…

История, предпосылки и необходимость

Решительно нет никакой возможности понять пути развития человеческого общества в отрыве от его жгучего стремления к тайнам. Политики и военные, священники и торговцы, писатели и ученые, шарлатаны и аферисты тысячелетиями развивали науку о секретах, доводя их создание до совершенства, служили тайнам, насыщали свои потребности в них. Без тайн не может быть не только государства, но даже малой общности людей - без них нельзя выиграть сражение или выгодно. продать товар, одолеть своих политических противников в жестокой борьбе за власть или сохранить первенство в технологии. Тайны составляют основу науки, техники и политики любой человеческой формации, являясь цементом государственности. История хранит так много секретов, что просто удивительно, до чего людям они необходимы. Служба безопасности пытается делить их на ряд уровней: от для служебного пользования до совершенно секретно и сугубо доверительно. Американский физик Ричард Фейнман шутил, что при работе над созданием атомной бомбы ему наряду с документами, имеющими пометку ingest after reading, то есть буквально съесть после прочтения, попадались иногда бумаги и со штампом уничтожить до прочтения. Сколь ни высоконаучная теория, лежащая в основе такой классификации, она сводится к заурядной дискриминации групп людей, нарушая их естественные права. Если финансовые хищения юридически можно делить на мелкие и крупные, то степень секретности классифицировать абсурдно. Доклад Хрущева на XX съезде партии о культе личности Сталина представлялся секретным лишь для партаппарата, но не для большинства обывателей, прекрасно знавших положение в обществе. Секрет для каждого конкретного человека либо есть, либо его нет. Более того, вскрытие тайны аналитически не только не составляет преступления, а являет торжество человеческого разума и должно приветствоваться, если делается открыто, из лучших побуждений. Французы говорят: "Удел богов - создавать тайны, а королей - раскрывать". Действительно, покажите специалистам лишь один узел сложного устройства, и они реконструируют полный его вид, назначение и характеристики. Если биолога спросить, чем питаются черти, то ответ будет однозначным: "Рога и копыта - явные признаки травоядных!" Правительства всех стран мира стремятся лишить людей интимной (личной, для тех кто не понял) жизни: письма читаются, телефоны прослушиваются, багаж и носильные вещи досматривается, за людьми наблюдают. Вместе с тем все больше наши частные сообщения идут по электронным каналам. Сначала были телефоны, потом появились факсы и наконец вовсю заработала электронная почта. Сообщения электронной почты особенно легко перехватывать или сканировать по ключевым словам, что широко делается как правительственными органами, так хакерами и просто любопытными. Международные отправления все без исключения читаются государственными службами. Трогательно наивные люди, верящие, будто неприкосновенность содержания их писем, телеграмм и телефонных разговоров охраняется Конституцией, должны понять: она лишь дает право на такую защиту, но охранять сама не может. У московского международного почтамта нередко можно найти валяющиеся на тротуаре вскрытые письма, так и не дошедшие до получателя. Известная американская киноактриса, ознакомившись со своим досье в ФБР, воскликнула: "Боже, так я всю жизнь купалась в стеклянной ванне на людном перекрестке!"

Но (опять это но!), начнём, пожалуй, все по-порядку - ибо, криптография, как считают многие (да и я в том числе), условно делится на несколько частей, а именно: историю, теорию и практику.

Ряд систем шифрования дошел до нас из глубокой древности. Скорее всего они появились одновременно с письменностью в 4 тысячелетии до нашей эры. Методы секретной переписки были изобретены независимо во многих древних обществах, таких как Египет, Шумер и Китай, но детальное состояние криптологии в них неизвестно. Криптограммы выискиваются даже в древние времена, хотя из-за применяемого в древнем мире идеографического письма в виде стилизованных картинок были примитивны. Шумеры, по-видимому, пользовались тайнописью. Археологами найдены глиняные клинописные таблички, где первая запись замазывалась слоем глины, на котором делалась вторая запись. Происхождение таких странных таблиц могло быть вызвано и тайнописью, и утилизацией. Оттого что число знаков идеографического письма было более тысячи, то запоминание их представляло собой трудную задачу - тут не до шифрования. Тем не менее, коды, появившиеся вместе со словарями, были хорошо известны в Вавилоне и Ассирии, а древние египтяне применяли по меньшей мере 3 системы шифрования. С развитием фонетического письма письменность резко упростилась. В древнем семитском алфавите во 2-м тысячелетии до нашей эры было всего около 30 знаков. Ими обозначались согласные звуки, а также некоторые гласные и слоги. Упрощение письма стимулировало развитие криптографии.

Даже в Библии можно найти примеры шифровок, хотя мало кто это замечает. В книге пророка Иеремии (25,26) читаем: "...а царь Сессаха выпьет после них." Такого царя или царства не было - неужели ошибка писца? Нет, просто порой священные иудейские тексты шифровались простой заменой. Вместо первой буквы алфавита писалась последняя, вместо второй - предпоследняя и так далее. Этот древний метод шифрования назывался атбаш. Читая по нему слово СЕССАХ, на языке оригинала получаем слово ВАВИЛОН, и смысл библейского текста может быть принят даже не верящим слепо в истинность писания.

После падения Римской империи от вторжения варваров в Европе пошли столетия упадка, которые историки образно назвали Темными веками. Все лучшие достижения цивилизации, а вместе с ними и криптология, были утрачены. По свидетельству святого Джерома "весь мир погрузился в руины". Лишь к концу средневековья применение криптографии начинает возрождаться. Например, книга "Экватор Планет", вышедшая в 1390 году и приписываемая Джефри Чосеру, содержит отдельные шифрованные главы.

Эволюция общественной жизни к концу XIV столетия, приведшая к культуре Возрождения, кризису городских коммун, обострению политического противостояния отдельных групп людей, регрессу в развитии общества из-за войн, выдвинула новые факторы усиления позиций криптографии. Появившаяся интеллектуальная элита в виде гуманистов приходит на службу могущественным меценатам, все более отдаляясь от простого народа. В сфере коммуникаций это проявляется тем, что главенствующим языком сообщений становится античная латынь, которая отходит от живого языка даже в Италии. Древние опыты шифрования восстанавливаются и развиваются целой плеядой крупных ученых. Наряду с традиционными применениями криптографии в политике и военном деле возникают неожиданно близкие к нашему времени задачи ее применения для охраны интеллектуальной собственности от преследований инквизицией или заимствования другими учеными. Слова Вергилия из 16 песни "Ада" "Божественной комедии" Данте, приведенные в эпиграфе этой главы, сколь нельзя более верно описывают точку, вокруг которой стала кристаллизовываться средневековая криптология.

В ручных шифрах того времени часто используются таблицы, которые дают простые шифрующие процедуры перестановки букв в сообщении. Ключом в них служат размер таблицы, фраза, задающая перестановку или специальная особенность таблиц. Простая перестановка без ключа - один из самых простых методов шифрования, родственный шифру скитала. Например, сообщение НЕЯСНОЕ СТАНОВИТСЯ ЕЩЕ БОЛЕЕ НЕПОНЯТНЫМ записывается в таблицу по столбцам. Для таблицы из 5 строк и 7 столбцов это выглядит так:

Н

О

Н

С

Б

Н

Я

Е

Е

О

Я

О

Е

Т

Я

С

В

Е

Л

П

Н

С

Т

И

Щ

Е

О

Ы

Н

А

Т

Е

Е

Н

М

После того, как открытый текст записан колонками, для образования шифровки он считывается по строкам. Если его записывать группами по 5 букв, то получится: НОНСБ НЯЕЕО ЯОЕТЯ СВЕЛП НСТИЩ ЕОЫНА ТЕЕНМ. Для использования этого шифра отправителю и получателю нужно договориться об общем ключе в виде размера таблицы. Объединение букв в группы не входит в ключ шифра и используется лишь для удобства записи несмыслового текста.

Более практический метод шифрования, называемый одиночной перестановкой по ключу очень похож на предыдущий. Он отличается лишь тем, что колонки таблицы переставляются по ключевому слову, фразе или набору чисел длиной в строку таблицы. Использовав в виде ключа слово ЛУНАТИК, получим такую таблицу.

Л

У

Н

А

Т

И

К

4

7

5

1

6

2

З

Н

О

Н

С

Б

Н

Я

Е

Е

О

Я

О

Е

Т

Я

С

В

Е

Л

П

Н

С

Т

И

Щ

Е

О

Ы

Н

А

Т

Е

Е

Н

М

до перестановки

А

И

К

Л

Н

Т

У

1

2

З

4

5

6

7

С

Н

Я

Н

Н

Б

О

Я

Е

Т

Е

О

О

Е

Е

П

Н

Я

В

Л

С

Щ

О

Ы

С

И

Е

Т

Е

Н

М

Н

Т

Е

А

после перестановки

В верхней строке ее записан ключ, а номера под ключом определены по естественному порядку соответствующих букв ключа в алфавите. Если в ключе встретились бы одинаковые буквы, они бы нумеровались слева направо. Получается шифровка: СНЯНН БОЯЕТ ЕООЕЕ ПНЯВЛ СЩОЫС ИЕТЕН МНТЕА. Для дополнительной скрытности можно повторно шифровать сообщение, которое уже было зашифровано. Этот способ известен под названием двойная перестановка. Для этого размер второй таблицы подбирают так, чтобы длины ее строк и столбцов были другие, чем в первой таблице. Лучше всего, если они будут взаимно простыми. Кроме того, в первой таблице можно переставлять столбцы, а во второй строки. Наконец, можно заполнять таблицу зигзагом, змейкой, по спирали или каким-то другим способом. Такие способы заполнения таблицы если и не усиливают стойкость шифра, то делают процесс шифрования гораздо более занимательным.

Архитекторы и исследователи Италии эпохи Возрождения считают, что один из самых важных этапов ренессансной архитектуры связан с именем Леона Батиста Альберти, написавшем десять книг о зодчестве, построившим палаццо Ручеллаи, церковь Иль Джезу и ряд других замечательных произведений зодчества средневековой Италии. Будучи теоретиком искусства, он обобщил опыт гуманистической науки в изучении античного наследия, написав ряд трактатов: "О статуе", "О живописи", "О зодчестве". С другой стороны, криптологи всего мира почитают его отцом своей науки. Главным достижением Альберти в криптологии было изобретение многоалфавитной замены, сделавших шифровку очень устойчивой к вскрытию. Кроме самого шифра он еще подробно описал устройства из вращающихся колес для его реализации.

Этот шифр можно описать таблицей шифрования, иногда называемой таблицей Виженера, по имени Блеза Виженера, дипломата XVI века, который развивал и совершенствовал криптографические системы:

АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ

А

АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ

Б

_АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ

В

Я_АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮ

Г

ЮЯ_АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЬЫЪЭ

.......

Я

ВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ_АБ

_

БВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ_А

Каждая строка в этой таблице соответствует одному шифру замены вроде шифра Юлия Цезаря для алфавита, дополненного пробелом. При шифровании сообщения его выписывают в строку, а под ним ключ. Если ключ оказался короче сообщения, то его циклически повторяют. Шифровку получают, находя символ в колонке таблицы по букве текста и строке, соответствующей букве ключа. Этот очень распространенный вид шифра сохранился до наших дней. Например, используя ключ АГАВА, из сообщения ПРИЕЗЖАЮ ШЕСТОГО получаем следующую шифровку:

сообщение:

ПРИЕЗЖАЮ ШЕСТОГО

ключ:

АГАВААГАВААГАВАА

шифровка:

ПНИГЗЖЮЮЮАЕОТМГО

В компьютере такая операция соответствует сложению кодов ASCII символов сообщения и ключа по некоторому модулю. Кажется, что если таблица будет более сложной, чем циклическое смещение строк, то шифр станет надежнее. Это действительно так, если ее менять почаще, например, от слова к слову. Но составление таких таблиц, представляющих собой латинские квадраты, где любая буква встречается в строке или столбце один раз, трудоемко и его стоит делать лишь на ЭВМ. Для ручного же многоалфавитного шифра полагаются лишь на длину и сложность ключа, используя приведенную таблицу, которую можно не держать в тайне, а это упрощает шифрование и расшифровывание. Итак, помимо ряда строений в античной манере, являющихся шедеврами архитектуры итальянского Возрождения, Альберти еще ввел в практику криптографии многоалфавитные шифры замены. Его книга "Трактат о шифре", написанная в 1466 году, представляла собой первый в мире научный труд по криптологии, если не считать арабских рукописей, с которыми Европа в это время вряд ли была хорошо знакома.

Многие историки считают Иоганна Трисемуса, аббата из Германии, вторым отцом современной криптологии. В 1508 году Трисемус написал "Полиграфию", первую печатную работу по криптологии. В ней он первым систематически описал применение шифрующих таблиц, заполненных алфавитом в случайном порядке. Для получения такого шифра обычно использовались ключевое слово или фраза и таблица, которая для русского языка может иметь размер 5 Х 6. Ключевое слово вписывалось в таблицу по строкам, а повторяющиеся буквы отбрасывались. Таблица дозаполнялась не вошедшими в нее буквами алфавита по порядку. Поскольку ключевое слово легко хранить в памяти, то такой подход упрощал процессы шифрования и дешифрования. Для ключа РЕСПУБЛИКА таблица будет иметь следующий вид:

Р

Е

С

П

У

Б

Л

И

К

А

В

Г

Д

Ж

3

М

Н

О

Т

Ф

Х

Ц

Ч

Ш

Щ

Ь

Ы

Э

Ю

Я

Для описанного выше шифра Полибия с данной таблицей сообщение ОТПЛЫВАЕМ давало шифровку ШЩАДСНМИЦ. Такие табличные шифры называются монограммными, так как шифрование ведется по одной букве. Трисемус первым заметил, что можно шифровать по две буквы за раз. Такие шифры были названы биграммными. Наиболее известный шифр биграммами называется Playfair. Он применялся Великобританией в Первую мировую войну. Опишем его на примере той же самой таблицы. Открытый текст разбивался на пары букв (биграммы) и текст шифровки строился из него по следующим двум очень простым правилам.

1. Если обе буквы биграммы исходного текста принадлежали одной колонке таблицы, то буквами шифра считались буквы, которые лежали под ними. Так биграмма УН давала текст шифровки ВЧ. Если буква открытого текста находилась в нижнем ряду, то для шифра бралась соответствующая буква из верхнего ряда и биграмма ОЯ давала шифр ШБ. (Биграмма из одной буквы или пары одинаковых букв тоже подчинялась этому правилу и текст ЕЕ давал шифр ИИ).

2. Если обе буквы биграммы исходного текста принадлежали одной строке таблицы, то буквами шифра считались буквы, которые лежали справа от них. Так биграмма ИВ давала текст шифровки КГ. Если буква открытого текста находилась в правой колонке, то для шифра бралась соответствующая буква из левой колонки и биграмма ОМ давала шифр ДН.

Если обе буквы биграммы открытого текста лежали в разных рядах и колонках, то вместо них брались такие две буквы, чтобы вся четверка их представляла прямоугольник. При этом последовательность букв в шифре была зеркальной исходной паре. Например, СТ шифровалось как РХ, а ТБ шифровалось как ШР. При шифровании фразы ПУСТЬ КОНСУЛЫ БУДУТ БДИТЕЛЬНЫ по биграммам получается такая шифровка:

ПУ

СТ

ЬК

ОН

СУ

ЛЫ

БУ

ДУ

ТБ

ДИ

ТЕ

ЛЬ

НЫ

УБ

РХ

ЫИ

ДО

ПБ

КЩ

РБ

HP

ШР

ЖЛ

ФР

ИЩ

ЗЮ

Шифрование биграммами резко усилило стойкость шифров к вскрытию. При всем при том, что "Полиграфия" была довольно доступной печатной книгой, описанные в ней идеи получили признание лишь тремя веками позже. Скорее всего это вызвано плохой известностью среди криптографов Трисемуса, который слыл богословом, библиофилом и основателем архивного дела.Среди шифров средневековья встречается много курьезов. Леонардо да Винчи шифровал большинство своих личных записей. Самый простой вид шифра которым он пользовался, это обратное написание текста так, что прочесть его можно лишь в отражении зеркала. Однако Леонардо иногда использовал шифры и посерьезнее, поэтому далеко не все его заметки и записи расшифрованы и изучены. Люди, умеющие писать левой рукой справа налево зеркальный текст, нередки. Изумительно, но встречаются люди, которые умеют даже произносить фразы "наоборот" и понимать их на слух. Поистине, человеческим способностям нет и не будет предела!Новое время привнесло новые достижения в криптографию. Постоянно расширяющееся применение шифров выдвинуло новое требование к ним - легкость массового использования, а старое требование - устойчивость к взлому не только осталось, но и было усилено. Поэтому 1854 год, когда англичанин Чарльз Уитстон разработал новую шифровку биграммами, которую называют двойной квадрат, открыл новый этап в криптографии. Название шифр получил по аналогии с полибианским квадратом. В отличие от полибиаиского, двойной квадрат использует сразу две таблицы, расположенные по горизонтали, а шифрование идет биграммами, как в шифре Playfair. Эти, казалось бы и не столь уж значительные изменения привели к появлению на свет новой криптографической системы ручного шифрования. Она оказалась так надежна и удобна, что применялась немцами даже в годы Второй мировой войны. По отзыву ее создателя, шифрование двойным квадратом предельно просто и его "можно доверить даже дипломатам". Приведем пример использования шифра двойной квадрат для русских текстов. Имеются две таблицы со случайно расположенными в них алфавитами:

Ч

В

Ы

П

О

К

:

Д

У

Г

Ш

3

Э

Ф

Л

Ъ

Х

А

,

Ю

Р

Ж

Щ

Н

Ц

Б

И

Т

Ь

.

С

Я

М

Е

Е

Л

Ц

:

П

.

Х

Ъ

А

Н

Ш

Д

Э

К

С

Ы

Б

Ф

У

Я

Т

И

Ч

Г

М

О

,

Ж

Ь

В

Щ

3

Ю

Р

Для шифрования сообщение разбивают на биграммы. Первая буква биграммы находится в левой таблице, а вторая в правой. Затем, мысленно в таблице строится прямоугольник так, чтобы буквы биграммы лежали в его противоположных вершинах. Другие две вершины этого прямоугольника дают буквы шифровки. Предположим, что шифруется биграмма текста ОЖ. Буква О находится в колонке 1 строки 2 левой таблицы. Буква Ж находится в колонке 4 строки 6 правой таблицы. Значит, прямоугольник образован строками 2 и 6, а также колонками 1 левой и 4 правой таблиц. Следовательно, шифровке соответствуют буквы, лежащие в колонке 1 строки 6 левой таблицы Ц и в колонке 4 строки 2 правой таблицы А - биграмма АЦ. Так парами букв шифруется все сообщение:

Сообщение:

ПР

ИЕ

ЗЖ

АЮ

Ш

ЕС

ТО

ГО

Шифровка :

ПЕ

МБ

КИ

ФМ

ЕШ

РФ

ЖБ

ДЦ

ЩП

Если обе буквы биграммы сообщения лежат в одной строке, то и буквы шифровки берутся из этой же строки. Первая буква биграммы шифровки берется из левой таблицы в столбце, соответствующем второй букве биграммы сообщения. Вторая же буква биграммы шифровки берется из правой таблицы в столбце, соответствующем первой букве биграммы сообщения. Так, по приведенным выше таблицам биграмма сообщения ТО превращается в биграмму шифровки ЖБ. Несомненно, что шифрование биграммами дает весьма устойчивый к вскрытию и простой шифр, а это было в то время крупным успехом. Взлом шифровки двойного квадрата требует больших усилий и длины сообщения более тридцати строк.

Предшественницей современных криптографических машин была роторная машина, изобретенная Эдвардом Хеберном в 1917 году и названная впоследствии Энигмой (Слово enigma переводится как загадка. Промышленные образцы этой машины изготовляла фирма Siemens.). Независимая промышленная ее версия создана чуть позже берлинским инженером Артуром Кирхом (некоторые источники называют его Артуром Шербиусом). Она сначала представляла собой 4 вращающихся на одной оси барабана, обеспечивающих более миллиона вариантов шифра простой замены, определяемого текущим положением барабанов. На каждой стороне барабана по окружности располагалось 25 электрических контактов, столько же, сколько букв в алфавите. Контакты с обеих сторон барабана соединялись попарно случайным образом 25 проводами, формировавшими замену символов. Колеса складывались вместе и их контакты, касаясь друг друга, обеспечивали прохождение электрических импульсов сквозь весь пакет колес. Перед началом работы барабаны поворачивались так, чтобы устанавливалось заданное кодовое слово - ключ, а при нажатии клавиши и кодировании очередного символа правый барабан поворачивался на один шаг. После того, как он делал оборот, на один шаг поворачивался следующий барабан - будто бы в счетчике электроэнергии. Таким образом, получался ключ заведомо гораздо более длинный, чем текст сообщения.Например, в первом правом барабане провод от контакта, соответствующего букве U, присоединен к контакту буквы F на другой его стороне. Если же барабан поворачивался на один шаг, то этот же провод соответствовал замене следующей за U буквы V на следующую за F букву G. Так как барабаны соприкасались контактами, то электрический импульс от нажатой клавиши с буквой исходного текста прежде чем достигал выхода претерпевал 4 замены: по одной в каждом барабане. Для затруднения расшифрования барабаны день ото дня переставлялись местами или менялись. Дальнейшее усовершенствование этой машины сделало движение барабанов хаотичным, а число их увеличилось сначала до 5, а потом до 6. Все устройство могло поместиться в портфеле и было так просто, что обслуживалось обычными связистами.

Казалось бы, сделано все для невозможности вскрытия шифровок Энигмы. И все же английские криптографические службы в Блетчли Парке (уединенное поместье в 80 километрах севернее Лондона, отведенное британским криптологам.) почти всю войну читали немецкие шифры. Это стало возможным лишь благодаря польской разведке, которая к злополучному 1939 году смогла получить чертежи Энигмы и разобраться в ее устройстве. После нападения гитлеровцев на Польшу чертежи немецкой шифровальной машины были переданы Англии. Довольно быстро британские криптоаналитики установили, что для взлома шифра, нужно знать распайку проводов в шифрующих колесах. Началась охота британских спецслужб за образцами Энигмы. Первый удалось выкрасть прямо с завода на юго-востоке Германии, второй сняли со сбитого в небе Норвегии немецкого бомбардировщика, третий был найден во время боев за Францию у немецких военных связистов, взятых в плен. Остальные Энигмы сняты водолазами с немецких подводных лодок, за которыми специально стали охотиться и топить на малых глубинах.Взлом шифров Энигмы шел тяжело до тех пор, пока в 1942 году не вступили в строй несколько ЭВМ, специально созданных для этого Аланом Тьюрингом. Это была первая в мире довольно быстродействующая ЭВМ под названием "Колосс", специализированная для взлома шифров. После этого английские криптоаналитики могли меньше чем за день могли расколоть любую шифровку Энигмы, полученную добытыми ранее колесами, методично перебирая все возможные ключи. Немцы рассчитывали на сложность своего шифра, исходя из его ручной дешифровки, в то время как англичане стали его ломать, используя ЭВМ. Отметим, что сами немцы допускали возможность взлома шифра Энигмы. Еще в 1930 году ведущий немецкий криптоаналитик Георг Шредер продемонстрировал такую возможность, едко заметив при этом: "Энигма - дерьмо!" (пардон, цитирую) Однако она постоянно усложнялась и были периоды, когда в Блетчли Парке с ней не могли справиться. Перед шифровками Энигмы, которые исходили не от войск, а из немецких криптографических центров, "Колосс" тоже был бессилен(недаром есть поговорка-"Чем больше в армии дубов, тем крепче наша оборона", армия в любой стране мира, при любом уровне цивилизация остается армией).

Надеюсь, маленький экскурс в историю, поможет Вам и мне продвинутся дальше.

Теория

Да да, именно с большой буквы, ибо я собираюсь приступить к написанию самой нудной и неинтересной части- теории.

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

Протоколы

Нет не подумайте, что я перехожу к Интернету- ни коем случае, по крайней мере пока. Протокол- вообшето, это формальность общения, или "Порядок действий, предпринимаемых двумя или более сторонами, предназначенный для peшения определенной задачи ".

Это важное определение. "Порядок действий" означает, протокол выполняется в определенной последовательности, с начала до конца. Каждое действие должно выполняться в свою очередь и только после окончания предыдущего. "Предпринимаемых двумя или более сторонами" означает, что для реализации протокола требуется по крайней мере два человека, один человек не сможет реализовать протокол. Человек в одиночку может выполнить некоторые действия, решая задачу (например, покупая торт), но это не протокол. (Для того, чтобы получился настоящий протокол, кто-то должен съесть торт.) Наконец, "предназначенный для решения определенной задачи" означает, что протокол должен приводить к какому-то результату. Что-то, похожее на протокол, но не решающее никакой задачи - это не протокол, это потеря времени. У протоколов есть также и другие характеристики:

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

Каждый участник протокола должен согласиться следовать протоколу .

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

не было возможности непонимания.

Протокол должен быть полным, каждой возможной ситуации должно соответствовать определенное действие.

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

Ш Невозможно сделать или узнать больше, чем определено в протоколе

Для демонстрации работы протоколов я использую несколько игроков. Первые двое - это А и B. Они участвуют во всех двусторонних протоколах. Как правило, A начинает все протоколы, а B отвечает. Если для протокола нужна третья или четвертая сторона, в игру вступают C и D. Другие участники играют специальные вспомогательные роли, они будут представлены позже.

Для начала, изобразим три основных типа протоколов графически.

Протоколы с посредником

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

В реальном мире в качестве посредников часто выступают юристы . Например, A продает незнакомому B машину. B хочет заплатить чеком, но у А нет способа проверить, действителен ли чек. A хочет, чтобы расчет по чеку был произведен прежде, чем право собственности перейдет к B . B, который верит А не больше, чем она ему, не хочет передавать чек, не получив права собственности. Обозначим юриста через С

Посредничество юриста устроит обоих. С его помощью A и B могут выполнить следующий протокол, чтобы защитить себя от обмана:

A передает право собственности юристу.

B передает чек юристу.

A депонирует чек.

Дождавшись оплаты чека юрист передает право собственности B. Если чек не оплачен в течение определенного времени, A доказывает этот факт юристу, и тот возвращает право собственности А.

В этом протоколе A верит, что юрист не передаст B право собственности до тех пор, пока чек не будет оплачен, и вернет право собственности А, если чек оплачен не будет. B верит, что юрист будет обладать правом собственности до тех пор, пока чек не будет оплачен, и передаст право собственности B сразу же после оплаты чека. С не заботится об оплате чека.

Арбитражные протоколы

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

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

Подпротокол без посредника (выполняется всегда):

A и B договариваются об условиях контракта.

A подписывает контракт.

B подписывает контракт.

Подпротокол с использованием арбитра (выполняется при наличии разногласий):

A и B предстают перед судьей.

A предоставляет свои доказательства.

B предоставляет свои доказательства.

Судья принимает решение на основании доказательств.

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

Самодостаточные протоколы

Самодостаточный протокол является лучшим типом протокола. Он полностью обеспечивает честность сторон . Для выполнения протокола не нужен ни посредник, не решающий споры арбитр . Само построение протокола обеспечивает отсутствие споров. Если одна из сторон попытается смошенничать, мошенничество будет немедленно обнаружено другой стороной, и протокол прекратит выполняться. Чего бы не пыталась добиться мошенничающая сторона, этому не суждено случиться.

Попытки вскрытия протоколов

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

Люди могут использовать множество способов взломать протокол. Некоторые, не являясь участниками протокола, могут "подслушивать" какую-то часть или весь протокол. Это называется пассивным вскрытием, так как взломщик не воздействует на протокол. Все, что он может сделать - это проследить за протоколом и попытаться добыть информацию. Этот тип вскрытия соответствует вскрытию с использованием только шифротекста.Так как пассивные вскрытия трудно обнаружить, протоколы стремятся предотвращать, а не обнаруживать их. В этих протоколах роль злоумышленника будет играть Е.

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

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

Активные вскрытия более серьезны, особенно в отношении протоколов, в которых стороны не обязательно доверяют друг другу. Взломщик не обязательно кто-то совсем посторонний, он может быть зарегистрированным пользователем системы и даже системным администратором. Может быть даже несколько активных взломщиков, работающих вместе. Роль злонамеренного активного взломщика будет играть F.

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

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

Передача информации с использованием симметричной криптографии

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

A и B выбирают систему шифрования.

A и B выбирают ключ.

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

A посылает шифрованное сообщение B.

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

Что может E, находясь между А и B, узнать, подслушивая этот протокол ? Если она может подслушать только передачу на этапе (4), ей придется подвергнуть шифротекст криптоанализу. Это пассивное вскрытие представляет собой вскрытие с использованием только шифротекста, применяемые алгоритмы устойчивы по отношению к любым вычислительным мощностям, который может заполучить Е для решения проблемы.

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

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

F, активный взломщик, может сделать кое-что другое. Он может попытаться нарушить линию связи не этапе (4), сделав так, что A вообще не сможет передавать информацию B . F также может перехватить сообщение А и заменить его своим собственным. Если ему удалось узнать ключ (перехватив обмен информацией на этапе (2) или взломав криптосистему), он сможет зашифровать свое сообщение и отправить его B вместо перехваченного, и B не сможет узнать, что сообщение отправлено не А. Если F не знает ключа, он может только создать сообщение, превращающееся при дешифровке в бессмыслицу . B, считая, что сообщение отправлено А, может решить, что либо у А, либо в сети возникли серьезные проблемы.

А A? Что она может сделать, чтобы испортить протокол? Она может передать копию ключа Е, и тогда Е сможет читать все, что говорит B, и напечатать его слова в любой газете, но проблема не в протоколе. A и так может передавать Е любые открытые тексты, передаваемые с использованием протокола. Конечно, то же самое может сделать и B. Протокол предполагает, что A и B доверяют друг другу. Итак, симметричным криптосистемам присущи следующие проблемы :

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

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

В предположении, что каждая пара пользователей сети использует отдельный ключ, общее число ключей быстро возрастает с ростом числа пользователей. Сеть из п пользователей требует n{n - l)/2 ключей. На пример, для общения 10 пользователей между собой нужно 45 различных ключей, для 100 пользователей потребуется 4950 ключей. Решение проблемы - в уменьшении числа пользователей, но это не всегда возможно.

Передача информации с использованием криптографии с открытыми ключами

Взгляните на симметричный алгоритм как на сейф. Ключ является комбинацией. Знающий комбинацию человек может открыть сейф, положить в него документ и снова закрыть. Кто-то другой при помощи той же комбинации может открыть сейф и забрать документ. Тем, кто не знает комбинации, придется научиться взламывать сейфы.

В 1976 году Уитфилд Диффи и Мартин Хеллман навсегда изменили эту парадигму криптографии. Они описали криптографию с открытыми ключами, используя два различных ключа - один открытый и один закрытый. Определение закрытого ключа по открытому требует огромных вычислительных затрат. Кто угодно, используя открытый ключ может зашифровать сообщение, но не расшифровать его. Расшифровать сообщение может только владелец закрытого ключа. Это похоже на превращение криптографического сейфа в почтовый ящик. Шифрование с открытым ключом аналогично опусканию письма в почтовый ящик, любой может сделать это, опустив письмо в прорезь почтового ящика. Дешифрирование с закрытым ключом напоминает извлечение почты из почтового ящика. Обычно это гораздо сложнее - вам может понадобиться сварочный агрегат . Однако, если вы знаете секрет (у вас есть ключ от почтового ящика), вы без труда достанете вашу почту.

Математической основой процесса являются однонаправленные хэш-функции с люком. Шифрование выполняется в прямом направлении. Указания по шифрованию открыты, каждый может зашифровать сообщение. Дешифрирование выполняется в обратном направлении. Оно настолько трудоемко, что, не зная секрета, даже на компьютерах Cray за тысячи (и миллионы) лет невозможно расшифровать cooбщение. Секретом, или люком, и служит закрытый ключ, он делает дешифрирование таким же простым, как и шифрование. Вот как, используя криптографию с открытыми ключами, A может послать сообщение B:

A и B согласовывают криптосистему с открытыми ключами.

B посылает А свой открытый ключ.

A шифрует свое сообщение и отправляет его B.

B расшифровывает сообщение A с помощью своего закрытого ключа.

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

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

A извлекает открытый ключ B из базы данных.

A шифрует свое сообщение с помощью открытого ключа B и посылает его B.

B расшифровывает сообщение А с помощью своего закрытого ключа.

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

Цифровые подписи

Рукописные подписи издавна используются как доказательство авторства документа или, по крайней мере, согласия с ним. Что же так притягательно в подписи?

Подпись достоверна. Она убеждает получателя документа в том, что подписавший сознательно подписал документ.

Подпись неподдельна. Она доказывает, что именно подписавший, и никто иной, сознательно подписал документ.

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

Подписанный документ нельзя изменить. После того, как документ подписан, его невозможно изменить.

От подписи не возможно отречься. Подпись и документ материальны. Подписавший не сможет впоследствии утверждать, что он не подписывал документ.

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

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

Подпись документа с помощью симметричных криптосистем и посредника

A хочет подписать цифровое сообщение и отправить его B. Она может это сделать с помощью C и симметричной криптосистемы.

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

A шифрует свое сообщение B ключом КА и посылает его С.

С, зная ключ КА, расшифровывает сообщение.

С добавляет к расшифрованному сообщению утверждение, что он получил это сообщение от А, и шифрует это новое сообщение ключом Кв.

С посылает новое сообщение B.

B расшифровывает сообщение ключом Кв. Он может прочитать и сообщение А и подтверждение С, что сообщение отправлено именно A.

Откуда С узнает, что сообщение пришло именно от A, а не от какого-то самозванца ? Он делает этот вывод из шифрования сообщения.

Также ли это хорошо, как подпись на бумаге? Посмотрим на требуемые свойства:

Эта подпись достоверна. С - это заслуживающий доверия посредник, и С знает, что сообщение получено от A. Подтверждение С служит доказательством для B.

Эта подпись неподдельна. Только A (и С, но ему все верят) знает КА, поэтому только A могла послать С сообщение, зашифрованное ключом КА. Если кто-нибудь попытается выдать себя за А, С сразу заметит это на этапе (2) и не заверит подлинность.

Эту подпись нельзя использовать повторно. Если B попытается взять подтверждение С и присоединить его к другому сообщению, A закричит "Караул!" Посредник (С или кто-то совсем другой, имеющий доступ к той же информации) попросит B предъявить его сообщение и шифрованное сообщение A. Затем посредник зашифрует сообщение ключом КА и увидит, что оно не соответствует шифрованному сообщению, переданному B. B, конечно же, не сможет создать правильное шифрованное сообщение, потому что он не знает ключа КА.

Подписанный документ нельзя изменить. Если B попытается, получив документ, изменить его, С обнаружит мошенничество уже описанным способом.

От подписи невозможно отказаться. Если впоследствии A заявит, что он никогда не посылал сообщение, то подтверждение С докажет обратное.

Если B захочет показать D документ, подписанный А, он не сможет раскрыть ей свой секретный ключ. Ему придется снова обратиться к С:

B берет сообщение и утверждение С, что сообщение получено от A, шифрует их ключом Кв и посылает обратно С.

С расшифровывает полученный пакет с помощью ключа Кв.

С проверяет свою базу данных и подтверждает, что отправителем оригинального сообщения была A.

С шифрует полученный от B пакет ключом Kc, который он выделил для К, и посылает К шифрованный пакет.

С расшифровывает полученный пакет с помощью ключа Kc. Теперь он может прочитать и сообщение, и подтверждение С, что сообщение отправленое А.

Подпись документа с помощью криптографии с открытыми ключами

Существуют алгоритмы с открытыми ключами, которые можно использовать для цифровых подписей. В некоторых алгоритмах - примером является RSA - для шифрования может быть использован или открытый, или закрытый ключ. Зашифруйте документ своим закрытым ключом, и вы получите надежную цифровую подпись. В других случаях - примером является DSA - для цифровых подписей используется отдельный алгоритм, который невозможно использовать для шифрования . Эта идея впервые была изобретена Диффи и Хеллманом и в дальнейшем была расширена и углублена в других работах. Основной протокол прост:

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

A посылает подписанный документ B.

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

Этот протокол гораздо лучше предыдущего. С не нужен ни для подписи документов, ни для ее проверки. (Он нужен для подтверждения, что открытый ключ принадлежит именно А.) С не нужен сторонам даже для разрешения споров: Если B не смог осуществить этап (3), то он знает, что подпись неправильна. Такая подпись соответствует всем требованиям:

ь Эта подпись достоверна. Когда B расшифровывает сообщение с помощью открытого ключа A, он знает что она подписала это сообщение.

ь Эта подпись неподдельна. Только A знает свой закрытый ключ.

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

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

ь От подписи невозможно отказаться. B не требуется помощь A при проверке его подписи.

Подпись документа и метки времени

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

Предположим, что A послал B подписанный чек на $100. B отнес чек в банк, который проверил подпись и перевел деньги с одного счета на другой. B, выступающий в роли жулика, сохранил копию электронного чека. На следующей неделе он снова отнес его в этот или другой банк. Банк подтвердил подпись и перевел деньги с одного счета на другой. Если A не проверяет свою чековую книжку, B сможет проделывать это годами.


Подобные документы

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

    дипломная работа [1,2 M], добавлен 20.06.2011

  • Краткая история развития криптографических методов защиты информации. Сущность шифрования и криптографии с симметричными ключами. Описание аналитических и аддитивных методов шифрования. Методы криптографии с открытыми ключами и цифровые сертификаты.

    курсовая работа [1,2 M], добавлен 28.12.2014

  • Определения криптографии как практической дисциплины, изучающей и разрабатывающей способы шифрования сообщений. История развития шифров. Хэш-функции и понятие электронной подписи. Системы идентификации, аутентификации и сертификации открытых ключей.

    реферат [77,1 K], добавлен 10.12.2011

  • Классы сложности задач в теории алгоритмов. Общие сведения о симметричной и ассиметрично-ключевой криптографии. "Лазейка" в односторонней функции. Криптографическая система RSA. Криптографическая система Эль-Гамаля. Алгоритм обмена ключами Диффи-Хеллмана.

    курсовая работа [706,6 K], добавлен 06.06.2010

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

    реферат [29,3 K], добавлен 01.05.2012

  • Криптография — наука о методах обеспечения конфиденциальности и аутентичности информации. Реализация криптографии на примере трех программных продуктов: PGP, Tor, I2P. Понятие криптографических примитивов и протоколов, симметричных и асимметричных шифров.

    учебное пособие [180,4 K], добавлен 17.06.2011

  • История развития криптографии, ее основные понятия. Простейший прием дешифровки сообщения. Основные методы и способы шифрования, современный криптографический анализ. Перспективы развития криптографии. Создание легкого для запоминания и надежного пароля.

    курсовая работа [3,9 M], добавлен 18.12.2011

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

    курсовая работа [55,7 K], добавлен 08.03.2008

  • Криптографическая защита как элемент систем обеспечения безопасности информации. Исторические шифры и их взлом. Особенности современной криптологии и криптографии. Основные методы современного криптоанализа, их сущность, особенности и характеристика.

    курсовая работа [57,1 K], добавлен 14.06.2012

  • Принципы криптографии, история ее развития. Шифры с секретным и с открытым ключом. Криптография как оружие, угрозы данным, их раскрытие. Ужесточчение мер в отношении использования криптоалгоритмов. Раскрытие криптосистемы и стойкость системы к раскрытию.

    доклад [35,8 K], добавлен 09.11.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.