Автор работы: Пользователь скрыл имя, 30 Мая 2013 в 00:14, реферат
В рамках проведения учебной практики мной была выбрана тема «Криптография и виды шифрования». В ходе выполнения работы были рассмотрены такие вопросы, как история возникновения криптографии, её эволюция, виды шифрования. Мной был проведен обзор существующих алгоритмов шифрования, в результате чего можно отметить, что человечество не стоит на месте и постоянно придумывает различные способы хранения и защиты информации.
Вопрос защиты ценной информации путем ее видоизменения, исключающего ее прочтение незнакомым лицом тревожила лучшие человеческие умы еще с самых древних времён. История шифрования – почти что ровесница истории человеческой речи. Кроме того, изначально письмо само по себе было криптографической системой, поскольку в древних обществах подобным знанием обладали лишь избранные. Священные манускрипты различных древних государств тому примеры.
Введение 3
1. История криптографии 4
1.1. Появление шифров 5
1.2. Эволюция криптографии 6
2. Криптоанализ 7
2.1. Характеристики сообщений 8
2.2. Свойства естественного текста 9
2.3. Критерии определения естественности 10
3. Симметричное шифрование 11
4. Ассиметричное шифрование 13
Заключение 23
Самым простым на первый взгляд критерием, который может прийти в голову, является использованием алфавита фрагмента сообщения. Учитывая то, что в нем теоретически могут встречаться только знаки препинания, числа, заглавные и строчные русские буквы, в тексте фрагмента сообщения может встретится не больше половины комплекта кодовой таблицы ASCII.
Это означает, что встретив в фрагменте текста недопустимый знак компьютеру можно определенно заявить о том, что он не является осмысленным - ошибки второго рода при этом практически исключены при хорошо функционирующем канале связи.
Для того, чтобы уменьшить теоретическую возможность "ложных тревог" до обозначенной в предыдущей статье величины, нам необходимо, чтобы фрагмент сообщения состоял не меньше чем из двадцати трех знаков. Вопрос усложняется, в том случае, если используемый код букв не является избыточным, как представление в ASCII русского текста, а содержит в себе ровно столько знаков, сколько их существует в алфавите.
В таком случае
нам придется ввести оценку по теоретическим
возможностям попадания символов в
тексте. Для того, чтобы обеспечить
принятые нами возможности ошибок первого
и второго рода, при оценивании
максимально возможной
Поэтому, короткие
фрагменты сообщений при
Симметри́чные
криптосисте́мы (также симметри
В настоящее время симметричные шифры — это:
Большинство симметричных шифров используют сложную комбинацию большого количества подстановок и перестановок. Многие такие шифры исполняются в несколько (иногда до 80) проходов, используя на каждом проходе «ключ прохода». Множество «ключей прохода» для всех проходов называется «расписанием ключей» (key schedule). Как правило, оно создается из ключа выполнением над ним неких операций, в том числе перестановок и подстановок.
Типичным способом построения алгоритмов симметричного шифрования является сеть Фейстеля. Алгоритм строит схему шифрования на основе функции F(D, K), где D — порция данных, размером вдвое меньше блока шифрования, а K — «ключ прохода» для данного прохода. От функции не требуется обратимость — обратная ей функция может быть неизвестна. Достоинства сети Фейстеля — почти полное совпадение дешифровки с шифрованием (единственное отличие — обратный порядок «ключей прохода» в расписании), что сильно облегчает аппаратную реализацию.
Операция перестановки перемешивает биты сообщения по некоему закону. В аппаратных реализациях она тривиально реализуется как перепутывание проводников. Именно операции перестановки дают возможность достижения «эффекта лавины». Операция перестановки линейна — f(a) xor f(b) == f(a xor b)
Операции подстановки выполняются как замена значения некоей части сообщения (часто в 4, 6 или 8 бит) на стандартное, жестко встроенное в алгоритм иное число путем обращения к константному массиву. Операция подстановки привносит в алгоритм нелинейность.
Зачастую стойкость алгоритма, особенно к дифференциальному криптоанализу, зависит от выбора значений в таблицах подстановки (S-блоках). Как минимум считается нежелательным наличие неподвижных элементов S(x) = x, а также отсутствие влияния какого-то бита входного байта на какой-то бит результата — то есть случаи, когда бит результата одинаков для всех пар входных слов, отличающихся только в данном бите.
Рисунок 1.Виды ключей
Криптографическая
система с открытым ключом (или асимметричное шифрование, асимметричный шифр) —
система шифрования и/или
Идея криптографии с открытым ключом очень тесно связана с идеей односторонних функций, то есть таких функций , что по известному довольно просто найти значение , тогда как определение из невозможно за разумный срок.
Но сама односторонняя функция бесполезна в применении: ею можно зашифровать сообщение, но расшифровать нельзя. Поэтому криптография с открытым ключом использует односторонние функции с лазейкой. Лазейка — это некий секрет, который помогает расшифровать. То есть существует такой , что зная и , можно вычислить . К примеру, если разобрать часы на множество составных частей, то очень сложно собрать вновь работающие часы. Но если есть инструкция по сборке (лазейка), то можно легко решить эту проблему.
Понять идеи и методы криптографии с открытым ключом помогает следующий пример — хранение паролей в компьютере. Каждый пользователь в сети имеет свой пароль. При входе он указывает имя и вводит секретный пароль. Но если хранить пароль на диске компьютера, то кто-нибудь его может считать (особенно легко это сделать администратору этого компьютера) и получить доступ к секретной информации. Для решения задачи используется односторонняя функция. При создании секретного пароля в компьютере сохраняется не сам пароль, а результат вычисления функции от этого пароля и имени пользователя. Например, пользователь Алиса придумала пароль «Гладиолус». При сохранении этих данных вычисляется результат функции (ГЛАДИОЛУС), пусть результатом будет строка РОМАШКА, которая и будет сохранена в системе. В результате файл паролей примет следующий вид:
Имя |
(имя_пароль) |
АЛИСА |
РОМАШКА |
БОБ |
НАРЦИСС |
Вход в систему теперь выглядит так:
Имя: |
АЛИСА |
Пароль: |
ГЛАДИОЛУС |
Когда Алиса вводит «секретный» пароль, компьютер проверяет, даёт или нет функция, применяемая к ГЛАДИОЛУС, правильный результат РОМАШКА, хранящийся на диске компьютера. Стоит изменить хотя бы одну букву в имени или в пароле, и результат функции будет совершенно другим. «Секретный» пароль не хранится в компьютере ни в каком виде. Файл паролей может быть теперь просмотрен другими пользователями без потери секретности, так как функция практически необратимая.
В предыдущем примере
используется односторонняя функция
без лазейки, поскольку не требуется
по зашифрованному сообщению получить
исходное. В следующем примере
рассматривается схема с
Сообщение |
Выбранное имя |
Криптотекст |
К |
Королёв |
5643452 |
О |
Орехов |
3572651 |
Р |
Рузаева |
4673956 |
O |
Осипов |
3517289 |
Б |
Батурин |
7755628 |
К |
Кирсанова |
1235267 |
А |
Арсеньева |
8492746 |
Криптотекстом будет являться цепочка номеров, записанных в порядке их выбора в справочнике. Чтобы затруднить расшифровку, следует выбирать случайные имена, начинающиеся на нужную букву. Таким образом исходное сообщение может быть зашифровано множеством различных списков номеров (криптотекстов).
Примеры таких криптотекстов:
Криптотекст 1 |
Криптотекст 2 |
Криптотекст 3 |
1235267 |
5643452 |
1235267 |
3572651 |
3517289 |
3517289 |
4673956 |
4673956 |
4673956 |
3517289 |
3572651 |
3572651 |
7755628 |
7755628 |
7755628 |
5643452 |
1235267 |
5643452 |
8492746 |
8492746 |
8492746 |
Чтобы расшифровать текст, надо иметь справочник, составленный согласно возрастанию номеров. Этот справочник является лазейкой (секрет, который помогает получить начальный текст), известной только легальным пользователям. Не имея на руках копии справочника, криптоаналитик затратит очень много времени на расшифровку.
Схема шифрования с открытым ключом
Пусть — пространство ключей, а и — ключи шифрования и расшифрования соответственно. — функция шифрования для произвольного ключа , такая что:
Здесь , где — пространство шифротекстов, а , где — пространство сообщений.
— функция расшифрования, с помощью которой можно найти исходное сообщение , зная шифротекст :
{ : } — набор шифрования, а { : } — соответствующий набор для расшифрования. Каждая пара имеет свойство: зная , невозможно решить уравнение , то есть для данного произвольного шифротекста , невозможно найти сообщение . Это значит, что по данному невозможно определить соответствующий ключ расшифрования . является односторонней функцией, а — лазейкой.
Ниже показана схема передачи информации лицом А лицу В. Они могут быть как физическими лицами, так и организациями и так далее. Но для более лёгкого восприятия принято участников передачи отождествлять с людьми, чаще всего именуемыми Алиса и Боб. Участника, который стремится перехватить и расшифровать сообщения Алисы и Боба, чаще всего называют Евой.
Рисунок 2.Ассиметричное шифрование