Алгоритмы шифрования данных. Симметричные алгоритмы шифрования

шифрование можно интерпретировать и как аутентификацию.

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

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

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

Основные концепции шифрования

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

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

С помощью шифрования обеспечиваются три состояния безопасности информации.

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

Термины, связанные с шифрованием

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

Существуют также четыре термина, которые необходимо знать:

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

Атаки на систему шифрования

Системы шифрования могут подвергнуться атакам тремя следующими способами:

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

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

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

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

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

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

Проблема защиты информации волнует людей несколько столетий.

По свидетельству Геродота, уже в V в. до н. э. использовалось преобразование информации методом кодирования.

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

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

Шифры появились в глубокой древности в виде криптограмм (по-гречески - тайнопись). Порой священные иудейские тексты шифровались методом замены. Вместо первой буквы алфавита записывалась последняя буква, вместо второй- предпоследняя и т. д. Этот древний шифр назывался атбаш. Известен факт шифрования переписки Юлия Цезаря (100-44 до н. э.) с Цицероном (106-43 до н. э.).

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

В Древней Греции (II в. до н.э.) был известен шифр, который создавался с помощью квадрата Полибия. Таблица для шифрования представляла собой квадрат с пятью столбцами и пятью строками, которые нумеровались цифрами от 1 до 5. В каждую клетку такой таблицы записывалась одна буква. В результате каждой букве соответствовала пара цифр, и шифрование сводилось к замене буквы парой цифр.

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

Зашифруем с помощью квадрата Полибия слово КРИПТОГРАФИЯ:

26 36 24 35 42 34 14 36 11 44 24 63

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

В настоящее время проблемами защиты информации занимается криптология (kryptos - тайный, logos - наука). Криптология разделяется на два направления - криптографию и криптоанализ. Цели этих двух направлений криптологии прямо противоположны.

Криптография - наука о защите информации от несанкционированного получения ее посторонними лицами. Сфера интересов криптографии - разработка и исследование методов шифрования информации.

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

Сфера интересов криптоанализа противоположная - разработка и исследование методов дешифрования (раскрытия) шифрограммы даже без знания секретного ключа.

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

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

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

Существует несколько классификаций шифров.

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

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

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

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

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

Алгоритмы шифрования с открытым ключом используют так называемые необратимые или односторонние функции. Эти функции обладают следующим свойством: при заданном значении аргумента х относительно просто вычислить значение функции f(x). Однако если известно значение Функции у =f(x), то нет простого пути для вычисления значения аргумента х.

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

1. Разложение больших чисел на простые множители (алгоритм RSA, авторы - Райвест, Шамир и Адлеман - Rivest, Shamir, Adleman).

2. Вычисление логарифма или возведение в степень (алгоритм DH, авторы - Диффи и Хелман).

3. Вычисление корней алгебраических уравнений.

Рассмотрим простейший пример «необратимых» функций. Легко в уме найти произведение двух простых чисел 11 и 13. Но попробуйте быстро в уме найти два простых числа, произведение которых равно 437. Подобные трудности возникают и при использовании вычислительной техники для отыскания двух простых сомножителей для очень большого числа: найти сомножители можно, но потребуется много времени.

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

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

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

В 40-х годах XX в. американский инженер и математик Клод Шеннон предложил разрабатывать шифр таким образом, чтобы его раскрытие было эквивалентно решению сложной математической задачи. Причем, сложность задачи должна быть такой, чтобы объем необходимых вычислений превосходил бы возможности современных ЭВМ.

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

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

В США для передачи секретных сообщений наибольшее распространение получил стандарт DES (Data Encryption Standard).

Стандарт DES является блочным шифром. Он шифрует данные блоками по 64 бита. При шифровании используется ключ длиной 56 битов. Данный стандарт подвергался многократному детальному криптоанализу. Для его взлома были разработаны специализированные ЭВМ стоимостью, достигавшей 20 миллионов долларов. Были разработаны способы силового взлома стандарта DES на основании распределенных вычислений с использованием множества ЭВМ. Для увеличения криптостойкости впоследствии был разработан способ DES-шифрования с использованием трех ключей - так называемый «тройной DES».

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

Буква Частота Буква Частота Буква Частота Буква Частота
о 0.09 в 0.038 з 0.016 ж 0.007
е, ё 0.072 л 0.035 ы 0.016 ш 0.006
а 0.062 к 0.028 б 0.014 ю 0.006
и 0.062 м 0.026 ь, ъ 0.014 ц 0.004
н 0.053 д 0.025 г 0.013 щ 0.003
т 0.053 п 0.023 ч 0.012 э 0.003
с 0.045 у 0.021 и 0.01 ф 0.002
р 0.04 я 0.018 х 0.009

Относительная частота появления пробела или знака препинания в русском языке составляет 0,174. Приведенные цифры означают следующее: среди 1000 букв текста в среднем будет 174 пробелов и знаков препинания, 90 букв «о», 72 буквы «е» и т. д.

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

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

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

Рассмотрим еще одну классификацию шифров.

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

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

Следующая простейшая «шифровка» получена методом перестановки двух соседних букв РКПИОТРГФАЯИ.

В этом «секретном» сообщении легко узнать слово КРИПТОГРАФИЯ.

Более сложный алгоритм перестановок сводится к разбиению сообщения на группы по три буквы. В каждой группе первую букву ставят на третье место, а вторую и третью буквы смещают на одну позицию влево. В результате получится криптограмма: РИКТОПРАГИЯФ.

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

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

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

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

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

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

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

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


Шифрование сообщений различными методами

Вместо хвоста - нога, А на ноге - рога.

Л. Дербенеёв.

Рассмотрим, как зашифровать сообщение методом замены (другими словами методом подстановки). Вначале используем шифр Цезаря. Предположим, что требуется зашифровать сообщение «ГДЕ АББА».

Как известно, циклический шифр Цезаря получается заменой каждой буквы открытого текста буквами этого же алфавита, расположенными впереди через определенное число позиций, например через три позиции. Циклическим он называется потому, что при выполнении замены вслед за последней буквой алфавита вновь следует первая буква алфавита. Запишем фрагменты русского алфавита и покажем, как выполняется шифрование (порядок замены):

В результате проведенного преобразования получится шифрограмма:

ЁЖЗ ГДДГ.

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

Замена может осуществляться на символы другого алфавита и с более сложным ключом (алгоритмом замены). Для простоты опять приведем лишь начальные части алфавитов. Линии показывают порядок замены букв русского алфавита на буквы латинского алфавита. Зашифруем фразу «ГДЕ АББА»

В результате такого шифрования получится криптограмма:

Рациональнее использованный в последнем случае ключ записать в виде таблицы:

А Б В Г Д Е
Е F А С D В

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

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

Более высокую криптостойкость по сравнению с шифром Цезаря имеют аффинные криптосистемы.

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

Аффинные криптосистемы задаются при помощи двух чисел а и b. Для русского алфавита эти числа выбираются из условия а ≥ 0, b ≤ 32. Максимальное число символов в используемом алфавите обозначаются символом γ. Причем числа а и γ = 33 должны быть взаимно простыми. Если это условие не будет выполняться, то две разные буквы могут отображаться (превращаться) в одну. Каждый код буквы открытого текста μ заменяется кодом буквы криптограммы по следующему правилу. Вначале вычисляется число α= a∙μ + b, a затем выполняется операция целочисленного деления числа αна число γ = 33, то есть α= β(mod (γ)). В качестве кода символа Шифрограммы используется остаток от целочисленного деления. Для определенности выберем такие числа: а = 5 и b =3. Фрагмент процедуры, иллюстрирующей порядок шифрования, приведен в таблице.

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

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

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

Ниже приведен фрагмент ключа многоалфавитной замены:

А Б В Г Д Е

С помощью многоалфавитного шифра сообщение «ГДЕ АББА» можно зашифровать несколькими способами:

19-83-32-48-4-7-12,

10-99-15-12-4-14-12 и т. д.

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

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

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

Предположим, что нужно зашифровать сообщение «ГДЕ АББА». В качестве ключа выберем слово «ДЕВА». В результате получим:

ЯЯГ АЭЬЮ.

Система Плейфейра создает многоалфавитные шифры. Рассмотрим основную идею этой системы.

Шифрование производится с помощью квадрата (или прямоугольника), в который занесены буквы соответствующего национального алфавита. Буквы записываются в квадрат или прямоугольник в произвольном порядке. Этот порядок записи букв и конфигурация таблицы являются секретным ключом. Для определенности возьмем прямоугольную таблицу размером 8x4, в качестве букв алфавита - кириллицу, а буквы расположим в алфавитном порядке. Так как число русских букв 33, а число клеток - 32, исключим из таблицы букву Ё.

Предположим, что требуется зашифровать слово КРИПТОГРАФИЯ. Рассмотрим правила шифрования.

1. Открытый текст делится на блоки по две буквы. Буквы в одном блоке не должны быть одинаковыми. Произведем разделение исходного слова на блоки по две буквы КР-ИП-ТО-ГР-АФ-ИЯ.

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

3. Если буквы открытого текста попадают в одну строку, то шифрограмма получается путем циклического сдвига вправо на одну клетку. Например, блок ИП будет преобразован в ЙИ. Еще один пример к этому правилу. Если, предположим, требуется преобразовать блок КН, то получится ЛО.

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

Блок ЖЦ будет преобразован в символы ОЮ, а блок ТЪ в символы ЪВ.

В соответствии с описанными правилами слово КРИПТОГРАФИЯ будет преобразовано в криптограмму ИТЙИЦКАУДРПШ.

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

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

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

Первоначально открытый текст методом замены следует преобразовать в совокупность чисел. Предположим, что шифруется текст, написанный с использованием 26-ти латинских букв. Выберем следующий алгоритм замены букв на числа: латинские буквы А, В, С, D, ..., Z будем заменять соответственно числами 1, 2, 3, 4,..., 26. Другими словами: пронумеруем буквы в порядке их расположения в алфавите, и при замене будем использовать их порядковые номера. В данном случае выбран такой алгоритм замены, но понятно, что он может быть любым.

Предположим, что нужно зашифровать немецкое слово ZEIT. Заменим буквы в соответствии с их порядковыми номерами в алфавите четырьмя числами: 26 - 5 - 9 - 20.

Далее следует выбрать некоторое число d > 2. Это число показывает, порядок разбиения открытого текста на группы символов (определяет, сколько букв будет в каждой группе). С математической точки зрения число d показывает, сколько строк должно быть в векторах-столбцах. Примем d = 2. Это означает, что числа 26 - 5 - 9 - 20 нужно разбить на группы по два числа в каждой группе и записать их в виде векторов-столбцов:

Рассмотрим примеры шифрования сообщения методом перестановок.

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

Для пояснения идеи возьмем квадратную таблицу (матрицу) 8x8. Будем записывать текст последовательно по строкам сверху вниз, а считывать по столбцам последовательно слева направо.

Предположим, что требуется зашифровать сообщение:

НА ПЕРВОМ КУРСЕ ТЯЖЕЛО УЧИТЬСЯ ТОЛЬКО ПЕРВЫЕ ЧЕТЫРЕ ГОДА ДЕКАНАТ.

н А _ П Е Р в О
м к У Р С Е _
т Я ж Е Л О _ У
ч И т Ь С Я _ т
О Л ь К О _ П Е
р в ы Е _ Ч Е Т
ы р Е _ г О д А
_ д Е К А н А Т

В таблице символом «_» обозначен пробел.

В результате преобразований получится шифровка

НМТЧОРЫ_А_ЯИЛВРД_КЖТЬЫЕЕПУЕЬКЕ_КЕРЛСО_ГАРСОЯ_ЧОНВЕ_

ПЕДАО_УТЕТАТ.

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

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

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

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

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

Рассмотрим пример дешифрации криптограммы, полученной методом перестановок. Известно, что при шифровании использованы матрица 6x6, ключ записи 352146 и ключ считывания 425316. Текст шифрограммы таков:

ДКАГЧЬОВА_РУААКОЕБЗЕРЕ_ДСОХТЕСЕ_Т_ЛУ

Разобьем шифрограмму на группы по 6 символов:

ДКАГЧЬ ОВА_РУ ААКОЕБ ЗЕРЕ_Д СОХТЕС Е_Т_ЛУ

Затем первую группу символов запишем в столбец 4 матрицы 6x6, так как первая цифра ключа считывания - 4 (см. рисунок а). Вторую группу из 6 символов запишем в столбец 2 (см. рисунок б), третью группу символов - в столбец 5 (см. рисунок в), пропустив две фазы заполнения матрицы, изобразим полностью заполненную матрицу (см. рисунок г).

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

ХАРАКТЕР ЧЕЛОВЕКА СОЗДАЕТ ЕГО СУДЬБУ

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


Д
К
А
Г
ч
ь
О д
В к
А А
Г
Р ч
У ь

О Д А
В К А
А А К
Г О
Р ч Е
У ь Б
С О д А Е
О В Е к А
X А Р А К Т
т Е Г О
Е Р ч Е Л
С У д ь Б У

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

©2015-2019 сайт
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-11

Тема: «Криптография. Шифры, их виды и свойства»


Введение

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

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

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

Задачи:

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

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

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

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

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

Практическое распространение роторные машины получили только в начале XX в. Одной из первых практически используемых машин, стала немецкая Enigma, разработанная в 1917 г. Эдвардом Хеберном и усовершенствованная Артуром Кирхом. Роторные машины активно использовались во время второй мировой войны. Помимо немецкой машины Enigma использовались также устройства Sigaba( США), Турех (Великобритания), Red, Orangeи Purple( Япония). Роторные системы - вершина формальной криптографии, так как относительно просто реализовывали очень стойкие шифры. Успешные криптоатаки на роторные системы стали возможны только с появлением ЭВМ в начале 40-х гг.

3. Главная отличительная черта научной криптографии( 1930 - 60-е гг.) - появление криптосистем со строгим математическим обоснованием криптостойкости. К началу 30-х гг. окончательно сформировались разделы математики, являющиеся научной основой криптологии: теория вероятностей и математическая статистика, общая алгебра, теория чисел, начали активно развиваться теория алгоритмов, теория информации, кибернетика. Своеобразным водоразделом стала работа Клода Шеннона «Теория связи в секретных системах», которая подвела научную базу под криптографию и криптоанализ. С этого времени стали говорить о криптологии (от греческого kryptos - тайный и logos - сообщение) - науке о преобразовании информации для обеспечения ее секретности. Этап развития криптографии и криптоанализа до 1949 г. стали называть донаучной криптологией.

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

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

Первым классом криптосистем, практическое применение которых стало возможно с появлением мощных и компактных вычислительных средств, стали блочные шифры. В 70-е гг. был разработан американский стандарт шифрования DES. Один из его авторов, Хорст Фейстель описал модель блочных шифров, на основе которой были построены другие, более стойкие симметричные криптосистемы, в том числе отечественныйстандарт шифрованияГОСТ 28147-89.

С появлением DES обогатился и криптоанализ, для атак на американский алгоритм был создано несколько новых видов криптоанализа (линейный, дифференциальный и т.д.), практическая реализация которых опять же была возможна только с появлением мощных вычислительных систем. В середине 70-х гг. ХХ столетия произошел настоящий прорыв в современной криптографии - появление асимметричных криптосистем, которые не требовали передачи секретного ключа между сторонами. Здесь отправной точкой принято считать работу, опубликованную Уитфилдом Диффи и Мартином Хеллманом в 1976 г. под названием «Новые направления в современной криптографии». В ней впервые сформулированы принципы обмена шифрованной информацией без обмена секретным ключом. Независимо к идее асимметричных криптосистем подошел Ральф Меркли. Несколькими годами позже Рон Ривест, Ади Шамир и Леонард Адлеман открыли систему RSA , первую практическую асимметричную криптосистему, стойкость которой была основана на проблеме факторизации больших простых чисел. Асимметричная криптография открыла сразу несколько новых прикладных направлений, в частности системы электронной цифровой подписи( ЭЦП) и электронных денег.

В 1980-90-е гг. появились совершенно новые направления криптографии: вероятностное шифрование, квантовая криптография и другие . Осознание их практической ценности еще впереди. Актуальной остается и задача совершенствования симметричных криптосистем. В этот же период были разработаны нефейстелевские шифры (SAFER, RC6 и др.), а в 2000 г. после открытого международного конкурса был принят новый национальный стандарт шифрования США - AES .

Таким образом, мы узнали следующее:

Криптология - это наука о преобразовании информации для обеспечения ее секретности, состоящая из двух ветвей: криптографии и криптоанализа.

Криптоанализ - наука (и практика ее применения) о методах и способах вскрытия шифров.

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

2. Шифры, их виды и свойства

В криптографии криптографические системы (или шифры) классифицируются следующим образом:

симметричные криптосистемы

асимметричные криптосистемы

2.1 Симметричные криптографические системы

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

I. Моно - и многоалфавитные подстановки.

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

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


Используя эту таблицу, зашифруем слово победа. Получим следующее: btpzrs

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

Самая простая перестановка - написать исходный текст наоборот и одновременно разбить шифрограмму на пятерки букв . Например, из фразы

ПУСТЬ БУДЕТ ТАК, КАК МЫ ХОТЕЛИ

получится такой шифротекст:

ИЛЕТО ХЫМКА ККАТТ ЕДУБЪ ТСУП

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

ОИЛЕТ ОХЫМК АККАТ ТЕДУБ ЬТСУП

III. Блочные шифры - семейство обратимых преобразований блоков (частей фиксированной длины) исходного текста. Фактически блочный шифр - это система подстановки на алфавите блоков. Она может быть моно - или многоалфавитной в зависимости от режимаблочного шифра. Иначе говоря, при блочном шифровании информация разбивается на блоки фиксированной длины и шифруется поблочно. Блочные шифры бывают двух основных видов: шифры перестановки (transposition, permutation, P-блоки) и шифры замены (подстановки, substitution, S-блоки) . В настоящее время блочные шифры наиболее распространены на практике.

Американский стандарт криптографического закрытия данных DES ( Data Encryption Standard), принятый в 1978 г., является типичным представителем семейства блочных шифров и одним из наиболее распространенных криптографических стандартов на шифрование данных, применяемых в США. Этот шифр допускает эффективную аппаратную и программную реализацию, причем возможно достижение скоростей шифрования до нескольких мегабайт в секунду. Первоначально метод, лежащий в основе данного стандарта, был разработан фирмой IBMдля своих целей. Он был проверен Агентством Национальной Безопасности США, которое не обнаружило в нем статистических или математических изъянов.

DES имеет блоки по 64 бит и основан на 16-кратной перестановке данных, также для шифрования использует ключ в 56 бит. Существует несколько режимов DES : Electronic Code Book ( ECB ) и Cipher Block Chaining ( CBC ).56 бит - это 8 семибитовыхсимволов, т.е. пароль не может быть больше чем восемь букв. Если вдобавок использовать только буквы и цифры, то количество возможных вариантов будет существенно меньше максимально возможных 256. Однако, данный алгоритм, являясь первым опытом стандарта шифрования, имеет ряд недостатков. За время, прошедшее после создания DES , компьютерная техника развилась настолько быстро, что оказалось возможным осуществлять исчерпывающий перебор ключей и тем самым раскрывать шифр. В 1998 г. была построена машина, способная восстановить ключ за среднее время в трое суток. Таким образом, DES , при его использовании стандартным образом, уже стал далеко не оптимальным выбором для удовлетворения требованиям скрытности данных. Позднее стали появляться модификации DESa , одной из которой является Triple Des («тройной DES» - так как трижды шифрует информацию обычным DESом ). Он свободен от основного недостатка прежнего варианта - короткого ключа: он здесь в два раза длиннее. Но зато, как оказалось, Triple DES унаследовал другие слабые стороны своего предшественника: отсутствие возможности для параллельных вычислений при шифровании и низкую скорость.

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

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

2.2 Асимметричные криптографические системы

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

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

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

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

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

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

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

Для примера выберем два очень больших простых числа (большие исходные числа нужны для построения больших криптостойких ключей). Определим параметр n как результат перемножения р и q. Выберем большое случайное число и назовем его d, причем оно должно быть взаимно простым с результатом умножения (р - 1) * (q - 1). Найдем такое число e, для которого верно соотношение:

(e*d) mod ((р - 1) * (q - 1)) = 1

(mod - остаток от деления, т.е. если e, умноженное на d, поделить на ((р - 1) * (q - 1)), то в остатке получим 1).

Открытым ключом является пара чисел e и n, а закрытым - d и n. При шифровании исходный текст рассматривается как числовой ряд, и над каждым его числом мы совершаем операцию:

C (i) = (M (i) e) modn

В результате получается последовательность C (i), которая и составит криптотекст.д.екодирование информации происходит по формуле

M (i) = (C (i) d) modn

Как видите, расшифровка предполагает знание секретного ключа.

Попробуем на маленьких числах. Установим р=3, q=7. Тогда n=р*q=21. Выбираем d как 5. Из формулы (e*5) mod 12=1 вычисляем e=17. Открытый ключ 17, 21, секретный - 5, 21.

Зашифруем последовательность «2345»:

C (2) = 217 mod 21 =11

C (3) = 317 mod 21= 12

C (4) = 417 mod 21= 16

C (5) = 517 mod 21= 17

Криптотекст - 11 12 16 17.

Проверим расшифровкой:

M (2) = 115 mod 21= 2

M (3) = 125 mod 21= 3

M (4) = 165 mod 21= 4

M (5) = 175 mod 21= 5

Как видим, результат совпал.

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

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

Заключение

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

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

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

1. Златопольский Д.М. Простейшие методы шифрования текста. /Д.М. Златопольский - М.: Чистые пруды, 2007

2. Молдовян А. Криптография. /А. Молдовян, Н.А. Молдовян, Б.Я. Советов - СПб: Лань, 2001

3. Яковлев А.В., Безбогов А.А., Родин В.В., Шамкин В.Н. Криптографическая защита информации. /Учебное пособие - Тамбов: Изд-во Тамб. гос. техн. ун-та, 2006

Тема: "Криптография. Шифры, их виды и свойства"


Введение

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

2. Шифры, их виды и свойства

Заключение

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


Введение

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

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

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

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

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


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

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

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

Практическое распространение роторные машины получили только в начале XX в. Одной из первых практически используемых машин, стала немецкая Enigma, разработанная в 1917 г. Эдвардом Хеберном и усовершенствованная Артуром Кирхом. Роторные машины активно использовались во время второй мировой войны. Помимо немецкой машины Enigma использовались также устройства Sigaba (США), Турех (Великобритания), Red, Orange и Purple (Япония). Роторные системы - вершина формальной криптографии, так как относительно просто реализовывали очень стойкие шифры. Успешные криптоатаки на роторные системы стали возможны только с появлением ЭВМ в начале 40-х гг.

3. Главная отличительная черта научной криптографии (1930 - 60-е гг.) - появление криптосистем со строгим математическим обоснованием криптостойкости. К началу 30-х гг. окончательно сформировались разделы математики, являющиеся научной основой криптологии: теория вероятностей и математическая статистика, общая алгебра, теория чисел, начали активно развиваться теория алгоритмов, теория информации, кибернетика. Своеобразным водоразделом стала работа Клода Шеннона "Теория связи в секретных системах", которая подвела научную базу под криптографию и криптоанализ. С этого времени стали говорить о криптологии (от греческого kryptos - тайный и logos - сообщение) - науке о преобразовании информации для обеспечения ее секретности. Этап развития криптографии и криптоанализа до 1949 г. стали называть донаучной криптологией.

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

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

Первым классом криптосистем, практическое применение которых стало возможно с появлением мощных и компактных вычислительных средств, стали блочные шифры. В 70-е гг. был разработан американский стандарт шифрования DES. Один из его авторов, Хорст Фейстель описал модель блочных шифров, на основе которой были построены другие, более стойкие симметричные криптосистемы, в том числе отечественный стандарт шифрования ГОСТ 28147-89.

С появлением DES обогатился и криптоанализ, для атак на американский алгоритм был создано несколько новых видов криптоанализа (линейный, дифференциальный и т.д.), практическая реализация которых опять же была возможна только с появлением мощных вычислительных систем. В середине 70-х гг. ХХ столетия произошел настоящий прорыв в современной криптографии - появление асимметричных криптосистем, которые не требовали передачи секретного ключа между сторонами. Здесь отправной точкой принято считать работу, опубликованную Уитфилдом Диффи и Мартином Хеллманом в 1976 г. под названием "Новые направления в современной криптографии". В ней впервые сформулированы принципы обмена шифрованной информацией без обмена секретным ключом. Независимо к идее асимметричных криптосистем подошел Ральф Меркли. Несколькими годами позже Рон Ривест, Ади Шамир и Леонард Адлеман открыли систему RSA, первую практическую асимметричную криптосистему, стойкость которой была основана на проблеме факторизации больших простых чисел. Асимметричная криптография открыла сразу несколько новых прикладных направлений, в частности системы электронной цифровой подписи (ЭЦП) и электронных денег.

В 1980-90-е гг. появились совершенно новые направления криптографии: вероятностное шифрование, квантовая криптография и другие. Осознание их практической ценности еще впереди. Актуальной остается и задача совершенствования симметричных криптосистем. В этот же период были разработаны нефейстелевские шифры (SAFER, RC6 и др.), а в 2000 г. после открытого международного конкурса был принят новый национальный стандарт шифрования США - AES.

Таким образом, мы узнали следующее:

Криптология - это наука о преобразовании информации для обеспечения ее секретности, состоящая из двух ветвей: криптографии и криптоанализа.

Криптоанализ - наука (и практика ее применения) о методах и способах вскрытия шифров.

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


2. Шифры, их виды и свойства

В криптографии криптографические системы (или шифры) классифицируются следующим образом:

симметричные криптосистемы

асимметричные криптосистемы

2.1 Симметричные криптографические системы

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

I. Моно - и многоалфавитные подстановки.

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

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


Исходные символы шифруемого текста а б в г д е ж з и к л м н о п р с т у ф
Заменяющие символы s р x l r z i m a y e d w t b g v n j o

Используя эту таблицу, зашифруем слово победа. Получим следующее: btpzrs

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

Самая простая перестановка - написать исходный текст наоборот и одновременно разбить шифрограмму на пятерки букв. Например, из фразы

ПУСТЬ БУДЕТ ТАК, КАК МЫ ХОТЕЛИ

получится такой шифротекст:

ИЛЕТО ХЫМКА ККАТТ ЕДУБЪ ТСУП

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

ОИЛЕТ ОХЫМК АККАТ ТЕДУБ ЬТСУП

III. Блочные шифры - семейство обратимых преобразований блоков (частей фиксированной длины) исходного текста. Фактически блочный шифр - это система подстановки на алфавите блоков. Она может быть моно - или многоалфавитной в зависимости от режима блочного шифра. Иначе говоря, при блочном шифровании информация разбивается на блоки фиксированной длины и шифруется поблочно. Блочные шифры бывают двух основных видов: шифры перестановки (transposition, permutation, P-блоки) и шифры замены (подстановки, substitution, S-блоки) . В настоящее время блочные шифры наиболее распространены на практике.

Американский стандарт криптографического закрытия данных DES (Data Encryption Standard), принятый в 1978 г., является типичным представителем семейства блочных шифров и одним из наиболее распространенных криптографических стандартов на шифрование данных, применяемых в США. Этот шифр допускает эффективную аппаратную и программную реализацию, причем возможно достижение скоростей шифрования до нескольких мегабайт в секунду. Первоначально метод, лежащий в основе данного стандарта, был разработан фирмой IBM для своих целей. Он был проверен Агентством Национальной Безопасности США, которое не обнаружило в нем статистических или математических изъянов.

DES имеет блоки по 64 бит и основан на 16-кратной перестановке данных, также для шифрования использует ключ в 56 бит. Существует несколько режимов DES: Electronic Code Book (ECB) и Cipher Block Chaining (CBC).56 бит - это 8 семибитовых символов, т.е. пароль не может быть больше чем восемь букв. Если вдобавок использовать только буквы и цифры, то количество возможных вариантов будет существенно меньше максимально возможных 2 56 . Однако, данный алгоритм, являясь первым опытом стандарта шифрования, имеет ряд недостатков. За время, прошедшее после создания DES, компьютерная техника развилась настолько быстро, что оказалось возможным осуществлять исчерпывающий перебор ключей и тем самым раскрывать шифр. В 1998 г. была построена машина, способная восстановить ключ за среднее время в трое суток. Таким образом, DES, при его использовании стандартным образом, уже стал далеко не оптимальным выбором для удовлетворения требованиям скрытности данных. Позднее стали появляться модификации DESa, одной из которой является Triple Des ("тройной DES" - так как трижды шифрует информацию обычным DESом). Он свободен от основного недостатка прежнего варианта - короткого ключа: он здесь в два раза длиннее. Но зато, как оказалось, Triple DES унаследовал другие слабые стороны своего предшественника: отсутствие возможности для параллельных вычислений при шифровании и низкую скорость.

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

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

2.2 Асимметричные криптографические системы

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

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

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

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

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

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

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

Для примера выберем два очень больших простых числа (большие исходные числа нужны для построения больших криптостойких ключей). Определим параметр n как результат перемножения р и q. Выберем большое случайное число и назовем его d, причем оно должно быть взаимно простым с результатом умножения (р - 1) * (q - 1). Найдем такое число e, для которого верно соотношение:

(e*d) mod ((р - 1) * (q - 1)) = 1

(mod - остаток от деления, т.е. если e, умноженное на d, поделить на ((р - 1) * (q - 1)), то в остатке получим 1).

Открытым ключом является пара чисел e и n, а закрытым - d и n. При шифровании исходный текст рассматривается как числовой ряд, и над каждым его числом мы совершаем операцию:

C (i) = (M (i) e) mod n

В результате получается последовательность C (i), которая и составит криптотекст.д.екодирование информации происходит по формуле

M (i) = (C (i) d) mod n

Как видите, расшифровка предполагает знание секретного ключа.

Попробуем на маленьких числах. Установим р=3, q=7. Тогда n=р*q=21. Выбираем d как 5. Из формулы (e*5) mod 12=1 вычисляем e=17. Открытый ключ 17, 21, секретный - 5, 21.

Зашифруем последовательность "2345":

C (2) = 2 17 mod 21 =11

C (3) = 3 17 mod 21= 12

C (4) = 4 17 mod 21= 16

C (5) = 5 17 mod 21= 17

Криптотекст - 11 12 16 17.

Проверим расшифровкой:

M (2) = 11 5 mod 21= 2

M (3) = 12 5 mod 21= 3

M (4) = 16 5 mod 21= 4

M (5) = 17 5 mod 21= 5

Как видим, результат совпал.

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

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


Заключение

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

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


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

1. Златопольский Д.М. Простейшие методы шифрования текста. /Д.М. Златопольский - М.: Чистые пруды, 2007

2. Молдовян А. Криптография. /А. Молдовян, Н.А. Молдовян, Б.Я. Советов - СПб: Лань, 2001

3. Яковлев А.В., Безбогов А.А., Родин В.В., Шамкин В.Н. Криптографическая защита информации. /Учебное пособие - Тамбов: Изд-во Тамб. гос. техн. ун-та, 2006

4. http://ru. wikipedia.org

5. http://cryptoblog.ru

6. http://Stfw.ru

7. http://www.contrterror. tsure.ru


Молдовян А. Криптография./А. Молдовян, Н. А. Молдовян, Б. Я. Советов – СПб: Лань, 2001

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

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

Знаете ли вы?
Еще во времена Римской империи, шифрование использовалось Юлием Цезарем для того, чтобы сделать письма и сообщения нечитаемыми для врага. Это играло важную роль как военная тактика, особенно во время войн.

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

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

Типы шифрования

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

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

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

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

Ограничения

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

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

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

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

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

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

Diffie-Hellman и RSA являются примерами алгоритмов, использующих шифрование с открытым ключом.

Ограничения

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

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

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

Таким образом, когда Саша получает это сообщение, его заставили поверить, что оно пришло от Наташи, и продолжает не подозревать о нечестной игре.

Хеширование

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

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

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

Message Digest 5 (MD5) и Secure Hashing Algorithm (SHA) являются двумя широко используемыми алгоритмами хеширования.

Ограничения

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

Сочетание методов шифрования

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

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

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

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

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

Статьи по теме: