Способы шифрования слов. Алгоритмы шифрования данных

08.05.2019

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»

ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ

ЮЖНОГО ФЕДЕРАЛЬНОГО УНИВЕРСИТЕТА В г. ТАГАНРОГЕ

Факультет информационной безопасности

Кафедра БИТ

Реферат на тему

"Криптография и виды шифрования"

ст. гр. И-21

Выполнил: В. И. Мищенко

Проверил: Е. А. Маро

Таганрог - 2012

Введение

1. История криптографии

1.1 Появление шифров

1.2 Эволюция криптографии

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

2.1 Характеристики сообщений

2.2 Свойства естественного текста

2.3 Критерии определения естественности

3. Симметричное шифрование

4. Ассиметричное шифрование

Заключение

Список литературы

Введение

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

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

С тех пор как письменность стала широко распространенной, криптография стала становиться вполне самостоятельной наукой. Первые криптографические системы можно встретить уже в начале нашей эпохи. Например, Юлий Цезарь в своей личной переписке пользовался систематическим шифром, который впоследствии был назван его именем.
Серьезное развитие шифровальные системы получили в эпоху первой и второй мировых войн. Начиная с ранней послевоенной поры и по сей момент, появление современных вычислительных аппаратов убыстрило создание и усовершенствование шифровальных методов.
Почему вопрос использования шифровальных методов в вычислительных системах (ВС) стал в наше время особенно актуальным?
Во-первых, расширилась сфера применения компьютерных сетей, таких как World Wide Web, с помощью которых передаются огромные объемы информации госудаpственного, военного, коммерческого и личного характера, не дающего возможности доступа к ней стоpонних лиц.
Во-вторых, появление современных сверхмощных компьютеpов, продвинутых технологий сетевых и нейpонных вычислений делает возможным дискpедитацию шифровальных систем еще вчера считавшихся совершенно безопасными.

1. История криптографии

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

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

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

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

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

1 Появление шифров

Некоторые из криптографических систем дошли до нас из дремучей древности. Вероятнее всего они родились одновременно с письменностью в IV тысячелетии до нашей эры. Способы тайной переписки были придуманы независимо во многих древних государствах, таких как Египет, Греция и Япония, но детальный состав криптологии в них сейчас неизвестен. Криптограммы находятся даже в древнее время, хотя из-за применявшейся в древнем мире идеографической письменности в виде стилизованных пиктограмм они были довольно примитивны. Шумеры, судя по всему, пользовались искусством тайнописи.

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

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

2 Эволюция криптографии

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

Начальный. Имел дело только с ручными шифрами. Начался в дремучей древности и закончился только в самом конце тридцатых годов двадцатого века. Тайнопись за это время преодолела длительный путь от магического искусства доисторических жрецов до повседневной прикладной профессии работников секретных агентств.

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

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

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

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

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

2.1 Характеристики сообщений

Сообщения, насколько бы сложными они ни были, вполне возможно представить себе в виде каком-либо порядке символов. Эти символы нужно взять из заранее фиксированного набора, к примеру, из русского алфавита или из палитры цветов (красный, желтый, зеленый). Различные символы могут встречаться в сообщениях с различной периодичностью. В связи с этим объем информации, транслируемый различными символами может быть разным. В том понимании, которое предложил Шеннон, объем информации определяется усредненным значением чисел возможных вопросов с вариантами ответов ДА и НЕТ для того, чтобы предугадать последующий знак в сообщении. Если символы в тексте расположены в последовательности, не зависящей друг от друга, то усредненное количество информации в таком сообщении приходящееся на один символ, равно:

где Pi - частота проявления знака i, a Ld- двоичный логарифм. Следует отметить три феномена такого распределения информации.

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

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

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

2 Свойства естественного текста

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

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

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

3 Критерии определения естественности

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

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

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

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

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

3. Симметричное шифрование

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

В настоящее время симметричные шифры - это:

Блочные шифры. Обрабатывают информацию блоками определённой длины (обычно 64, 128 бит), применяя к блоку ключ в установленном порядке, как правило, несколькими циклами перемешивания и подстановки, называемыми раундами. Результатом повторения раундов является лавинный эффект - нарастающая потеря соответствия битов между блоками открытых и зашифрованных данных.

Большинство симметричных шифров используют сложную комбинацию большого количества подстановок и перестановок. Многие такие шифры исполняются в несколько (иногда до 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.Виды ключей

4. Ассиметричное шифрование

Криптографическая система с открытым ключом (или асимметричное шифрование, асимметричный шифр) - система шифрования и/или электронной цифровой подписи, при которой открытый ключ передаётся по открытому (то есть незащищённому, доступному для наблюдения) каналу и используется для проверки ЭЦП и для шифрования сообщения. Для генерации ЭЦП и для расшифровки сообщения используется секретный ключ. Криптографические системы с открытым ключом в настоящее время широко применяются в различных сетевых протоколах, в частности, в протоколах TLS и его предшественнике SSL (лежащих в основе HTTPS), в SSH.

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

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

Понять идеи и методы криптографии с открытым ключом помогает следующий пример - хранение паролей в компьютере. Каждый пользователь в сети имеет свой пароль. При входе он указывает имя и вводит секретный пароль. Но если хранить пароль на диске компьютера, то кто-нибудь его может считать (особенно легко это сделать администратору этого компьютера) и получить доступ к секретной информации. Для решения задачи используется односторонняя функция. При создании секретного пароля в компьютере сохраняется не сам пароль, а результат вычисления функции от этого пароля и имени пользователя. Например, пользователь Алиса придумала пароль «Гладиолус». При сохранении этих данных вычисляется результат функции (ГЛАДИОЛУС), пусть результатом будет строка РОМАШКА, которая и будет сохранена в системе. В результате файл паролей примет следующий вид:


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


Когда Алиса вводит «секретный» пароль, компьютер проверяет, даёт или нет функция, применяемая к ГЛАДИОЛУС, правильный результат РОМАШКА, хранящийся на диске компьютера. Стоит изменить хотя бы одну букву в имени или в пароле, и результат функции будет совершенно другим. «Секретный» пароль не хранится в компьютере ни в каком виде. Файл паролей может быть теперь просмотрен другими пользователями без потери секретности, так как функция практически необратимая.

В предыдущем примере используется односторонняя функция без лазейки, поскольку не требуется по зашифрованному сообщению получить исходное. В следующем примере рассматривается схема с возможностью восстановить исходное сообщение с помощью «лазейки», то есть труднодоступной информации. Для шифрования текста можно взять большой абонентский справочник, состоящий из нескольких толстых томов (по нему очень легко найти номер любого жителя города, но почти невозможно по известному номеру найти абонента). Для каждой буквы из шифруемого сообщения выбирается имя, начинающееся на ту же букву. Таким образом букве ставится в соответствие номер телефона абонента. Отправляемое сообщение, например «КОРОБКА», будет зашифровано следующим образом:

Сообщение

Выбранное имя

Криптотекст

Кирсанова

Арсеньева

Криптотекстом будет являться цепочка номеров, записанных в порядке их в

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

Примеры таких криптотекстов:

Криптотекст 1

Криптотекст 2

Криптотекст 3


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

Схема шифрования с открытым ключом

Пусть - пространство ключей, а и - ключи шифрования и расшифрования соответственно. - функция шифрования для произвольного ключа , такая что:

Здесь , где - пространство шифротекстов, а , где - пространство сообщений.

Функция расшифрования, с помощью которой можно найти исходное сообщение , зная шифротекст :

{: } - набор шифрования, а {: } - соответствующий набор для расшифрования. Каждая пара имеет свойство: зная , невозможно решить уравнение , то есть для данного произвольного шифротекста , невозможно найти сообщение . Это значит, что по данному невозможно определить соответствующий ключ расшифрования . является односторонней функцией, а - лазейкой.

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

<#"655904.files/image030.gif"> и шлёт ключ шифрования (открытый ключ) Алисе по открытому каналу, а ключ расшифрования (закрытый ключ) защищён и секретен (он не должен передаваться по открытому каналу).

Чтобы послать сообщение Бобу, Алиса применяет функцию шифрования, определённую открытым ключом : , - полученный шифротекст.

Боб расшифровывает шифротекст , применяя обратное преобразование , однозначно определённое значением .

Научная основа

Начало асимметричным шифрам было положено в работе «Новые направления в современной криптографии» Уитфилда Диффи и Мартина Хеллмана, опубликованной в 1976 году. Находясь под влиянием работы Ральфа Меркле о распространении открытого ключа, они предложили метод получения секретных ключей, используя открытый канал. Этот метод экспоненциального обмена ключей, который стал известен как обмен ключами Диффи - Хеллмана, был первым опубликованным практичным методом для установления разделения секретного ключа между заверенными пользователями канала. В 2002 году Хеллман предложил называть данный алгоритм «Диффи - Хеллмана - Меркле», признавая вклад Меркле в изобретение криптографии с открытым ключом. Эта же схема была разработана Малькольмом Вильямсоном в 1970-х, но держалась в секрете до 1997 года. Метод Меркле по распространению открытого ключа был изобретён в 1974 и опубликован в 1978 году, его также называют загадкой Меркле.

В 1977 году учёными Рональдом Ривестом, Ади Шамиром и Леонардом Адлеманом из Массачусетского технологического института был разработан алгоритм шифрования, основанный на проблеме о разложении на множители. Система была названа по первым буквам их фамилий (RSA - Rivest, Shamir, Adleman). Эта же система была изобретена в 1973 году Клиффордом Коксом, работавшим в центре правительственной связи (GCHQ), но эта работа хранилась лишь во внутренних документах центра, поэтому о её существовании было не известно до 1977 года. RSA стал первым алгоритмом, пригодным и для шифрования, и для цифровой подписи.

Вообще, в основу известных асимметричных криптосистем кладётся одна из сложных математических проблем, которая позволяет строить односторонние функции и функции-лазейки. Например, криптосистемы Меркля - Хеллмана и Хора - Ривеста опираются на так называемую задачу об укладке рюкзака.

Основные принципы построения криптосистем с открытым ключом

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

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

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

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

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

Криптография с несколькими открытыми ключами

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

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

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

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

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

Криптоанализ алгоритмов с открытым ключом

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

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

Рисунок 4.Ассиметричная криптосистема с пассивным перехватчиком.

Большинство криптосистем с открытым ключом основаны на проблеме факторизации больших чисел. К примеру, RSA использует в качестве открытого ключа n произведение двух больших чисел. Сложность взлома такого алгоритма состоит в трудности разложения числа n на множители. Но эту задачу решить реально. И с каждым годом процесс разложения становится все быстрее. Ниже приведены данные разложения на множители с помощью алгоритма «Квадратичное решето».


Также задачу разложения потенциально можно решить с помощью Алгоритма Шора при использовании достаточно мощного квантового компьютера.

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

Заключение

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

Список литературы

Гатчин Ю.А., Коробейников А.Г. Основы криптографических алгоритмов. Учебное пособие. - СПб.: СПбГИТМО(ТУ), 2002.

Кон П. Универсальная алгебра. - М.: Мир. - 1968

Коробейников А. Г. Математические основы криптографии. Учебное пособие. СПб: СПб ГИТМО (ТУ), 2002.

Шнайер Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си = Applied Cryptography. Protocols, Algorithms and Source Code in C. - М.: Триумф, 2002.

Решение задачи определения ключа путем простого перебора всех возможных вариантов, как правило, является непрактичным, за исключением использования очень короткого ключа. Следовательно, если криптоаналитик хочет иметь реальные шансы на вскрытие шифра, он должен отказаться от «лобовых» методов перебора и применить другую стратегию. При раскрытии многих схем шифрования может применяться статистический анализ, использующий частоту появления отдельных символов или их комбинаций. Для усложнения решения задачи вскрытия шифра с использованием статистического анализа К. Шеннон предложил две концепции шифрования, получившие название смешения (confusion ) и диффузии (diffusion ). Смешение – это применение такой подстановки, при которой взаимосвязь между ключом и шифрованным текстом становится как можно более сложной. Применение данной концепции усложняет применение статистического анализа, сужающего область поиска ключа, и дешифрование даже очень короткой последовательности криптограммы требует перебора большого количества ключей. В свою очередь диффузия – это применение таких преобразований, которые сглаживают статистические различия между символами и их комбинациями. В результате использование криптоаналитиком статистического анализа может привести к положительному результату только при перехвате достаточно большого отрезка шифрованного текста.

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

10.4.1. Метод подстановки.

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

Рис. 10.3 , а )

Исходный текст

Криптограмма

Рис. 10.3 , б )

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

Другим примером классической схемы, основанной на методе подстановки, может служить система шифрования, называемая квадратом Полибиуса . Применительно к русскому алфавиту данная схема может быть описана следующим образом. Первоначально объединяются в одну буквы Е, Ё; И, Й и Ъ, Ь, истинное значение которых в дешифрованном тексте легко восстанавливается из контекста. Затем 30 символов алфавита размещаются в таблицу размером 65, пример заполнения которой представлен на рис. 10.4.

Рис. 10.4.

Шифрование любой буквы открытого текста осуществляется заданием ее адреса (т.е. номера строки и столбца или наоборот) в приведенной таблице. Так, например, слово ЦЕЗАРЬ шифруется с помощью квадрата Полибиуса как 52 21 23 11 41 61. Совершенно ясно, что изменение кода может быть осуществлено в результате перестановок букв в таблице. Следует также заметить, что те, кто посещал экскурсию по казематам Петропавловской крепости, должно быть памятны слова экскурсовода о том, как заключенные перестукивались между собой. Очевидно, что их способ общения полностью подпадает под данный метод шифрования.

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

Рис. 10.5.

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

Открытый текст

Шифрованный текст

Рис. 10.6.

Известны несколько интересных вариантов шифров, основанных на прогрессивном ключе Тритемиуса. В одном из них, называемом методом ключа Вижинера , применяется ключевое слово, которое указывает строки для шифрования и расшифрования каждого последующего символа открытого текста: первая буква ключа указывает строку таблицы на рис. 10.5, с помощью которой шифруется первый символ сообщения, вторая буква ключа определяет строку таблицы, шифрующей второй символ открытого текста и т.д. Пусть в качестве ключа выбрано слово «ТРОМБ», тогда сообщение, зашифрованное с помощью ключа Вижинера, может быть представлено следующим образом (рис. 10.7). Очевидно, что вскрытие ключа возможно осуществить на основе статистического анализа шифрограммы.

Открытый текст

Шифрованный текст

Рис. 10.7.

Разновидностью этого метода является т.н. метод автоматического (открытого ) ключа Вижинера , в котором в качестве образующего ключа используется единственная буква или слово. Этот ключ дает начальную строку или строки для шифрования первого или нескольких первых символов открытого текста аналогично ранее рассмотренному примеру. Затем в качестве ключа для выбора шифрующей строки используются символы открытого текста. В приведенном ниже примере в качестве образующего ключа использована буква «И» (рис. 10.8):

Открытый текст

Шифрованный текст

Рис. 10.8.

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

Еще одной разновидностью метода Вижинера служит метод автоматического (шифрованного ) ключа Вижинера . В нем, подобно шифрованию с открытым ключом, также используется образующий ключ и обратная связь. Отличие состоит в том, что после шифрования с помощью образующего ключа, каждый последующий символ ключа в последовательности берется не из открытого текста, а из получаемой криптограммы. Ниже представлен пример, поясняющий принцип применения данного метода шифрования, в котором, как и ранее, в качестве образующего ключа использована буква «И» (рис. 10.9):

Открытый текст

Шифрованный текст

Рис. 10.9.

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

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

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

Рис. 10.10.

Не составляет труда показать, что существует
различных подстановок или связанных с ними возможных моделей. В связи, с чем при больших значенияхm задача криптоаналитика становится в вычислительном плане практически невозможной. Например, при
число возможных подстановок определяется как
, т.е. представляет собой астрономическое число. Очевидно, что при подобном значенииm данное преобразование с помощью блока подстановки (substitution block , S –блок) можно считать обладающим практической секретностью. Однако его практическая реализация вряд ли возможна, поскольку предполагает существование
соединений.

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

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

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

Простейшим вариантом реализации данного метода шифрования может служить рассмотренный ранее алгоритм перемежения, суть которого заключается в разбиении потока информационных символов на блоки длиной
, построчной записи его в матрицу памяти размеромстрок истолбцов и считывании по столбцам. Иллюстрацией данному алгоритму служит пример с
на рис. 10.11, в ходе которого производится запись фразыX =«скоро начнется экзаменационная пора». Тогда на выходе устройства перестановки будет получена криптограмма вида

Рис. 10.11.

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

Рис. 10.12.

На рис. 10.13 приведен пример бинарной перестановки данных (линейная операция), из которого видно, что данные просто перемешиваются или переставляются. Преобразование осуществляется с помощью блока перестановки (permutation block , P –блок). Технология перестановки, реализуемая этим блоком, имеет один основной недостаток: она уязвима по отношению к обманным сообщениям. Обманное сообщение изображено на рис. 10.13 и заключается в подаче на вход одной единственной единицы при остальных нулях, что позволяет обнаружить одну из внутренних связей. Если криптоаналитику необходимо осуществить анализ подобной схемы с помощью атаки открытого текста, то он отправит последовательность подобных обманных сообщений, смещая при каждой передаче единственную единицу на одну позицию. В результате подобной атаки будут установлены все связи входа и выхода. Данный пример демонстрирует, почему защищенность схемы не должна зависеть от ее архитектуры.

10.4.3. Метод гаммирования .

Попытки приблизиться к совершенной секретности демонстрируют многие современные телекоммуникационные системы, использующие операцию скремблирования. Подскремблированием понимается процесс наложения на коды символов открытого текста кодов случайной последовательности чисел, которую называют также гаммой (по названию буквы  греческого алфавита, используемой в математических формулах для обозначения случайного процесса). Гаммирование относится к поточным методам шифрования, когда следующие друг за другом символы открытого текста последовательно превращаются в символы шифрограммы, что повышает скорость преобразования. Так, например, поток информационных бит поступает на один вход сумматора по модулю 2, изображенного на рис. 10.14, тогда как на второй – скремблирующая двоичная последовательность
. В идеале последовательность
должна быть случайной последовательностью с равновероятными значениями нулей и единиц. Тогда выходной шифрованный поток
будет статистически независимым от информационной последовательности
, а значит, будет выполняться достаточное условие совершенной секретности. В действительности абсолютная случайность
не является необходимой, поскольку в противном случае получатель не сможет восстановить открытый текст. Действительно, восстановление открытого текста на приемной стороне должно производиться по правилу
, так что на приемной стороне должна генерироваться точно такая же скремблирующая последовательность и с той же фазой. Однако вследствие абсолютной случайности
данная процедура становится невозможной.

На практике в качестве скремблирующих широкое применение нашли псевдослучайные последовательности (ПСП), которые могут быть воспроизведены на приемной стороне. В технологии поточного шифрования для формирования ПСП обычно используют генератор на основелинейного регистра сдвига с обратной связью (linear feedback shift register (LFSR)). Типичная структура генератора ПСП, представленная на рис. 10.15, включает регистр сдвига, который состоит из – ичных элементов задержки или разрядов, имеющихвозможных состояний и хранящих некоторый элемент поля
в течение тактового интервала, схема обратной связи, включающей умножители элементов (состояний), хранящихся в разрядах, на константы, и сумматоров. Формирование ПСП описывается рекуррентным соотношением вида

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

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

Пример 10.4.1. На рис. 10.16, a , представлена реализация генератора на основе регистра сдвига с линейной обратной связью, формирующего двоичную псевдослучайную последовательность периода
. Отметим, что в случае двоичной ПСП умножение на единицу эквивалентно простому соединению выхода разряда с сумматором. Рис. 10.16,b , иллюстрирует следующие друг за другом содержания регистра (состояния разрядов), а также состояния выхода обратной связи (точка ОС на схеме) при подаче тактовых импульсов. Последовательность считывается в виде последовательных состояний крайнего правого разряда. Считывание состояний других разрядов приводит к копиям той же самой последовательности, сдвинутой на один или два такта.

На первый взгляд можно предположить, что использование ПСП большого периода может обеспечить достаточно высокую защищенность. Так, например, в сотовой системе мобильной связи стандарта IS-95 в качестве скремблирующей используется ПСП периода
в числе элементарных чипов. При чиповой скорости 1.228810 6 симв/сек ее период составляет:

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

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

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

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

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

где символ ПСП, который вырабатывается схемой обратной связи и подается на вход первого разряда регистра, а
определяет отсутствие или наличиеi –го соединения между выходом разряда регистра сдвига и сумматором, т.е. схему обратной связи.

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

Решение данной системы уравнений дает следующие значения коэффициентов:

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

Обобщив рассмотренный пример на случай произвольного регистра сдвига памяти n , исходное уравнение может быть представлено в виде

,

а система уравнений записана в следующей матричной форме

,

где
, а
.

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

.

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

Чтобы затруднить аналитику вычисление элементов ПСП при сопоставлении фрагментов открытого текста и шифровки, применяется обратная связь по выходу и шифротексту. На рис. 10.17 поясняется принцип введения обратной связи по шифротексту.

Рис. 10.17. Поточное шифрование с обратной связью.

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

Методы аутентификации

Аутентификация - выдача определённых прав доступа абоненту на основе имеющегося у него идентификатора. IEEE 802.11 предусматривает два метода аутентификации:

1. Открытая аутентификация (англ. Open Authentication ):

Рабочая станция делает запрос аутентификации, в котором присутствует только MAC-адрес клиента. Точка доступа отвечает либо отказом, либо подтверждением аутентификации. Решение принимается на основе MAC-фильтрации, т.е. по сути это защита на основе ограничения доступа, что не безопасно.

2. Аутентификация с общим ключом (англ. Shared Key Authentication ):

Необходимо настроить статический ключ шифрования алгоритма WEP (англ. Wired Equivalent Privacy ). Клиент делает запрос у точки доступа на аутентификацию, на что получает подтверждение, которое содержит 128 байт случайной информации. Станция шифрует полученные данные алгоритмом WEP (проводится побитовое сложение по модулю 2 данных сообщения с последовательностью ключа) и отправляет зашифрованный текст вместе с запросом на ассоциацию. Точка доступа расшифровывает текст и сравнивает с исходными данными. В случае совпадения отсылается подтверждение ассоциации, и клиент считается подключенным к сети.
Схема аутентификации с общим ключом уязвима к атакам «Man in the middle». Алгоритм шифрования WEP – это простой XOR ключевой последовательности с полезной информацией, следовательно, прослушав трафик между станцией и точкой доступа, можно восстановить часть ключа.
IEEE начал разработки нового стандарта IEEE 802.11i, но из-за трудностей утверждения, организация WECA (англ. Wi-Fi Alliance ) совместно с IEEE анонсировали стандарт WPA (англ. Wi-Fi Protected Access ). В WPA используется TKIP (англ.Temporal Key Integrity Protocol , протокол проверки целостности ключа), который использует усовершенствованный способ управления ключами и покадровое изменение ключа.

WPA также использует два способа аутентификации:

1. Аутентификация с помощью предустановленного ключа WPA-PSK (англ. Pre-Shared Key ) (Enterprise Autentification);

2. Аутентификация с помощью RADIUS-сервера (англ. Remote Access Dial-in User Service )

Шифрова́ние - способ преобразования открытой информации в закрытую и обратно. Применяется для хранения важной информации в ненадёжных источниках или передачи её по незащищённым каналам связи. Шифрование подразделяется на процесс зашифровывания и расшифровывания.

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

В зависимости от структуры используемых ключей методы шифрования подразделяются на



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

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

Существуют следующие криптографические примитивы:

§ Бесключевые

1. Хеш-функции

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

3. Генераторы псевдослучайных чисел

§ Симметричные схемы

1. Шифры (блочные,потоковые)

2. Хеш-функции

4. Генераторы псевдослучайных чисел

5. Примитивы идентификации

§ Асимметричные схемы

3. Примитивы идентификации

Шифрование данных на диске
Система Zserver - средство защиты конфиденциальной информации, хранимой и обрабатываемой на корпоративных серверах, методом шифрования данных на диске. Zserver работает по принципу «прозрачного» шифрования разделов жестких дисков. Система автоматически, в online режиме, осуществляет шифрование информации при записи на диск и расшифровывает при чтении с него. Это обеспечивает хранение данных на диске в зашифрованном виде и невозможность использования их без ключа шифрования даже при изъятии сервера или носителя. Система Zserver обеспечивает шифрование файлов и папок на диске, а также всей служебной информации - таблицы размещения файлов и т. д. Таким образом, система Zserver не только надежно защищает конфиденциальные данные, но и скрывает сам факт их наличия от посторонних. Информация на защищенных дисках хранится в зашифрованном виде и становится доступна, только когда администратор сети предоставит пользователю соответствующие полномочия. Права доступа к защищенным дискам устанавливаются средствами операционной системы. Шифрование файлов и папок на диске осуществляется программным драйвером. Ключи шифрования данных на диске вводятся при загрузке сервера со смарт-карты, защищенной PIN-кодом. Не зная PIN-кода, воспользоваться смарт-картой нельзя. Три попытки неправильного ввода PIN-кода заблокируют карту. Смарт-карта необходима только при подключении защищенных носителей, и в процессе работы не требуется. При перезагрузке сервера без смарт-карты, защищенные диски не будут доступны. Система Zserver предоставляет возможность удаленного ввода ключей шифрования и администрирования системы с любой рабочей станции локальной сети, или через Интернет. В настоящее время разработаны системы Zserver, которые работают под управлением следующих операционных систем: Windows 2000/XP/2003/2008 (32- и 64-разрядные); Linux с ядром 2.6.x.

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

Криптография предполагает наличие трех компонентов: данных, ключа и криптографического преобразования. При шифровании исходными данными будет сообщение, а результирующими - шифровка. При расшифрований они меняются местами. Считается, что криптографическое преобразование известно всем, но, не зная ключа, с помощью которого пользователь закрыл смысл сообщения от любопытных глаз, требуется потратить невообразимо много усилий на восстановление текста сообщения. (Следует еще раз повторить, что нет абсолютно устойчивого от вскрытия шифрования. Качество шифра определяется лишь деньгами, которые нужно выложить за его вскрытие от $10 и до $1000000.) Такое требование удовлетворяется рядом современных криптографических систем, например, созданных по "Стандарту шифрования данных Национального бюро стандартов США" DES и ГОСТ 28147-89. Так как ряд данных критичен к некоторым их искажениям, которые нельзя обнаружить из контекста, то обычно используются лишь такие способы шифрования, которые чувствительны к искажению любого символа. Они гарантируют не только высокую секретность, но и эффективное обнаружение любых искажений или ошибок.

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

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

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

Задачи:

Ознакомиться с криптографией

Рассмотреть шифры, их виды и свойства

1. История криптографии

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

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

Аутентичность информации состоит в подлинности авторстваи целостности.

Криптоанализ объединяет математические методы нарушения конфиденциальности и аутентичности информации без знания ключей.

Алфавит - конечное множество используемых для кодирования информации знаков.

Текст - упорядоченный набор из элементов алфавита. В качестве примеров алфавитов можно привести следующие:

алфавит Z 33 - 32 буквы русского алфавита (исключая "ё") и пробел;

алфавит Z 256 - символы, входящие в стандартные коды ASCII и КОИ-8;

двоичный алфавит - Z 2 = {0, 1};

восьмеричный или шестнадцатеричный алфавит

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

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

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

Пространство ключей K - это набор возможных значений ключа.

Обычно ключ представляет собой последовательный ряд букв алфавита. Следует отличать понятия "ключ" и "пароль". Пароль также является секретной последовательностью букв алфавита, однако используется не для шифрования (как ключ), а для аутентификации субъектов.

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

Зашифрованием данных называется процесс преобразования открытых данных в зашифрованные с помощью шифра, а расшифрованием данных - процесс преобразования закрытых данных в открытые с помощью шифра.

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

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

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

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

В истории криптографии условно можно выделить четыре этапа: наивный, формальный, научный, компьютерный.

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

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

2. Этап формальной криптографии ( конец XV - начало XX вв) связан с появлением формализованных и относительно стойких к ручному криптоанализу шифров. В европейских странах это произошло в эпоху Возрождения, когда развитие науки и торговли вызвало спрос на надежные способы защиты информации. Важная роль на этом этапе принадлежит Леону Батисте Альберти, итальянскому архитектору, который одним из первых предложил многоалфавитную подстановку. Данный шифр, получивший имя дипломата XVI в. Блеза Вижинера, состоял в последовательном "сложении" букв исходного текста с ключом (процедуру можно облегчить с помощью специальной таблицы). Его работа "Трактат о шифре" считается первой научной работой по криптологии. Одной из первых печатных работ, в которой обобщены и сформулированы известные на тот момент алгоритмы шифрования, является труд "Полиграфия" немецкого аббата Иоганна Трисемуса. Ему принадлежат два небольших, но важных открытия: способ заполнения полибианского квадрата (первые позиции заполняются с помощью легко запоминаемого ключевого слова, остальные - оставшимися буквами алфавита) и шифрование пар букв (биграмм). Простым, но стойким способом многоалфавитной замены (подстановки биграмм) является шифр Плейфера, который был открыт в начале XIX в. Чарльзом Уитстоном. Уитстону принадлежит и важное усовершенствование - шифрование "двойным квадратом". Шифры Плейфера и Уитстона использовались вплоть до первой мировой войны, так как с трудом поддавались ручному криптоанализу. В XIX в. голландец Керкхофф сформулировал главное требование к криптографическим системам, которое остается актуальным и поныне: секретность шифров должна быть основана на секретности ключа, но не алгоритма .

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

Состоит в следующем. Каждая буква сообщения заменяется на другую, которая в русском алфавите отстоит от исходной на три позиции дальше. Таким образом, буква A заменяется на Г , Б на Д и так далее вплоть до буквы Ь , которая заменялась на Я , затем Э на A , Ю на Б и, наконец, Я на В .

АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ Листинг 1.1. Исходный алфавит

Таблица 1.1. Перебор вариантов для поиска ключа при использовании метода Цезаря
Перехваченная криптограмма ЧСЮЭЮЪ
1 ШТЯЮЯЫ 17 ЗВОНОК
2 ЩУАЯАЬ 18 ИГПОПЛ
3 ЪФБАБЭ 19 ЙДРПРМ
4 ЫХВБВЮ 20 КЕСРСН
5 ЬЦГВГЯ 21 ЛЁТСТО
6 ЭЧДГДА 22 МЖУТУП
7 ЮШЕДЕБ 23 НЗФУФР
8 ЯЩЁЕЁВ 24 ОИХФХС
9 АЪЖЁЖГ 25 ПЙЦХЦТ
10 БЫЗЖЗД 26 РКЧЦЧУ
11 ВЬИЗИЕ 27 СЛШЧШФ
12 ГЭЙИЙЁ 28 ТМЩШЩХ
13 ДЮКЙКЖ 29 УНЪЩЪЦ
14 ЕЯЛКЛЗ 30 ФОЫЪЫЧ
15 ЁАМЛМИ 31 ХПЬЫЬШ
16 ЖБНМНЙ 32 ЦРЭЬЭЩ

Мы видим, что единственное слово , имеющее смысл, – это ЗВОНОК . Это слово располагается на 17 месте. Следовательно, если шифрованный текст сдвинуть на 17 позиций вперед получится открытый текст . Это означает, что для получения шифрованного текста открытый текст нужно сдвинуть на (33-17)=16 позиций. Таким образом, получили, что при шифровании ключ n=16 .

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

Так, например, пусть исходный алфавит состоит из арабских цифр, то есть имеет вид

0 1 2 3 4 5 6 7 8 9.

Один из абонентов желает переслать другому секретный код замка, состоящий из пяти цифр и равный 12345 . Отправитель и получатель заранее договорились о том, что ключ шифрования n будет равен 3 . Отправитель шифрует выбранным ключом исходное сообщение 12345 , получает 45678 и переправляет полученное значение своему абоненту. Возможно, противник перехватит криптограмму и попытается вскрыть ее, используя, как и раньше, метод последовательного перебора. Так как исходный алфавит состоял из 10 символов, то значение ключа может лежать в диапазоне от 1 до 9 . Выпишем, как и раньше все варианты, которые получаются сдвигом каждого знака перехваченного сообщения на 1, 2, 3, ... , 9 позиций соответственно (