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

Курсовая работа

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

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

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

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

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

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

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

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

16 стр., 7771 слов

Сочинение деньги это главное в жизни человека

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

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

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

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

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

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

    1.

Назначение и структура алгоритмов шифрования.

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

1. Бесключевые, в которых не используются какие-либо ключи.

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

3. Двухключевые, использующие в своих вычислениях два ключа: секретный и открытый.

Рис. 1. Криптоалгоритмы

1.1 Обзор криптографических методов.

Шифрование является основным методом защиты; рассмотрим его подробно далее.

Стоит сказать несколько слов и об остальных криптографических методах:

o секретный ключ используется для вычисления электронной подписи;

o открытый ключ используется для ее проверки.

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

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

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

o ключевое и бесключевое хэширование;

o вычисление имитоприставок;

o использование кодов аутентификации сообщений.

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

6 стр., 2823 слов

Кодирование и шифрование информации

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

o в самих схемах электронной подписи — «подписывается» обычно хэш данных, а не все данные целиком;

o в различных схемах аутентификации пользователей.

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

o случайные числа необходимы для генерации секретных ключей, которые, в идеале, должны быть абсолютно случайными;

o случайные числа применяются во многих алгоритмах электронной подписи;

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

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

2 Алгоритм симетричного шифрования., Шифрование

Можно представить зашифрование в виде следующей формулы:

В стандарте ГОСТ 28147-89 (стандарт определяет отечественный алгоритм симметричного шифрования) понятие ключ определено следующим образом: «Конкретное секретное состояние некоторых параметров алгоритма криптографического преобразования, обеспечивающее выбор одного преобразования из совокупности всевозможных для данного алгоритма преобразований».

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

Аналогичным образом можно представить и расшифрование:

Для получения в результате расшифрования корректного открытого текста (то есть того самого, который был ранее зашифрован: M’ = M), необходимо одновременное выполнение следующих условий:

1. Функция расшифрования должна соответствовать функции зашифрования.

2. Ключ расшифрования должен соответствовать ключу зашифрования.

При отсутствии верного ключа k2 получить исходное сообщение M’ = M с помощью правильной функции D невозможно. Под словом «невозможно» в данном случае обычно понимается невозможность вычисления за реальное время при существующих вычислительных ресурсах.

Алгоритмы шифрования можно разделить на две категории (см. рис. 1):

1. Алгоритмы симметричного шифрования.

2. Алгоритмы асимметричного шифрования.

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

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

k1 = a k2 mod p,

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

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

10 стр., 4589 слов

Основные протоколы сети Интернет. Интернет как единая система ресурсов

... развиваться протоколы передачи данных, которые были стандартизированы в1982—83 годах. Активную роль в разработке и стандартизации сетевых протоколов играл Джон Постел. 1 января 1983 года сеть ARPANET перешла с протокола NCP ...

криптостойкость

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

Симметричное шифрование бывает двух видов:

  • Блочное шифрование — информация разбивается на блоки фиксированной длины (например, 64 или 128 бит), после чего эти блоки поочередно шифруются. Причем, в различных алгоритмах шифрования или даже в разных режимах работы одного и того же алгоритма блоки могут шифроваться независимо друг от друга или «со сцеплением» — когда результат зашифрования текущего блока данных зависит от значения предыдущего блока или от результата зашифрования предыдущего блока.
  • Поточное шифрование — необходимо, прежде всего, в тех случаях, когда информацию невозможно разбить на блоки — скажем, некий поток данных, каждый символ которых должен быть зашифрован и отправлен куда-либо, не дожидаясь остальных данных, достаточных для формирования блока. Поэтому алгоритмы поточного шифрования шифруют данные побитно или посимвольно. Хотя стоит сказать, что некоторые классификации не разделяют блочное и поточное шифрование, считая, что поточное шифрование — это шифрование блоков единичной длины.

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

2.1 Структура алгоритмов шифрования

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

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

1. Алгоритмы на основе сети Фейстеля.

Сеть Фейстеля подразумевает разбиение обрабатываемого блока данных на несколько субблоков (чаще всего — на два), один из которых обрабатывается некоей функцией f() и накладывается на один или несколько остальных субблоков. На рис. 2 приведена наиболее часто встречающаяся структура алгоритмов на основе сети Фейстеля.

Рис. 2. Структура алгоритмов на основе сети Фейстеля.

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

17 стр., 8139 слов

Маршрутизация в мультисерверных сетях

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

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

2 n

Такая структура алгоритмов шифрования получила свое название по имени Хорста Фейстеля (Horst Feistel) — одного из разработчиков алгоритма шифрования Lucifer и разработанного на его основе алгоритма DES (Data Encryption Standard) — бывшего (но до сих пор широко используемого) стандарта шифрования США. Оба этих алгоритма имеют структуру, аналогичную показанной на рис. 2. Среди других алгоритмов, основанных на сети Фейстеля, можно привести в пример отечественный стандарт шифрования ГОСТ 28147-89, а также другие весьма известные алгоритмы: RC5, Blowfish, TEA, CAST-128 и т.д.

На сети Фейстеля основано большинство современных алгоритмов шифрования — благодаря множеству преимуществ подобной структуры, среди которых стоит отметить следующие:

o Алгоритмы на основе сети Фейстеля могут быть сконструированы таким образом, что для зашифрования и расшифрования могут использоваться один и тот же код алгоритма — разница между этими операциями может состоять лишь в порядке применения ключей Ki; такое свойство алгоритма наиболее полезно при его аппаратной реализации или на платформах с ограниченными ресурсами; в качестве примера такого алгоритма можно привести ГОСТ 28147-89.

o Алгоритмы на основе сети Фейстеля являются наиболее изученными — таким алгоритмам посвящено огромное количество криптоаналитических исследований, что является несомненным преимуществом как при разработке алгоритма, так и при его анализе.

Существует и более сложная структура сети Фейстеля, пример которой приведен на рис. 3.

Рис. 3. Структура сети Фейстеля.

обобщенной

подстановочно-перестановочных сетей

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

Рис. 4. Подстановочно-перестановочная сеть.

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

Serpent или SAFER+.

3. Алгоритмы со структурой «квадрат» (Square).

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

29 стр., 14174 слов

Криптографические методы защиты информации

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

Структура алгоритма получила свое название от алгоритма Square, который был разработан в 1996 году Винсентом Риджменом (Vincent Rijmen) и Джоан Деймен (Joan Daemen) — будущими авторами алгоритма Rijndael, ставшего новым стандартом шифрования США AES после победы на открытом конкурсе. Алгоритм Rijndael также имеет Square-подобную структуру; также в качестве примера можно привести алгоритмы Shark (более ранняя разработка Риджмена и Деймен) и Crypton. Недостатком алгоритмов со структурой «квадрат» является их недостаточная изученность, что не помешало алгоритму Rijndael стать новым стандартом США.

Рис. 5. Алгоритм Rijndael.

На рис. 5 приведен пример операции над блоком данных, выполняемой алгоритмом Rijndael.

4. Алгоритмы с нестандартной структурой, то есть те алгоритмы, которые невозможно причислить ни к одному из перечисленных типов. Ясно, что изобретательность может быть безгранична, поэтому классифицировать все возможные варианты алгоритмов шифрования представляется сложным. В качестве примера алгоритма с нестандартной структурой можно привести уникальный по своей структуре алгоритм FROG, в каждом раунде которого по достаточно сложным правилам выполняется модификация двух байт шифруемых данных (см. рис. 6).

Рис. 6. Модификация двух байт шифруемых данных.

Строгие границы между описанными выше структурами не определены, поэтому достаточно часто встречаются алгоритмы, причисляемые различными экспертами к разным типам структур. Например, алгоритм CAST-256 относится его автором к SP-сети, а многими экспертами называется расширенной сетью Фейстеля. Другой пример — алгоритм HPC, называемый его автором сетью Фейстеля, но относимый экспертами к алгоритмам с нестандартной структурой.

3. Применение симметричного алгоритма шифрования.

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

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

· стороны устанавливают на своих компьютерах программное обеспечение, обеспечивающее шифрование и расшифровку данных и первичную генерацию секретных ключей;

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

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

· зашифрованная информация передается получателю по каналам связи;

11 стр., 5023 слов

Криптографические системы защиты данных

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

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

Ниже приведен обзор некоторых алгоритмов симметричного шифрования:

· DES (Data Encryption Standard).

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

· Triple DES. Это усовершенствованный вариант DES, применяющий для шифрования алгоритм DES три раза с разными ключами. Он значительно устойчивее к взлому, чем DES;

· Rijndael. Алгоритм разработан в Бельгии. Работает с ключами длиной 128, 192 и 256 бит. На данный момент к нему нет претензий у специалистов по криптографии;

· Skipjack. Алгоритм создан и используется Агентством национальной безопасности США. Длина ключа 80 бит. Шифрование и дешифрование информации производится циклически (32 цикла);

· IDEA. Алгоритм запатентован в США и ряде европейских стран. Держатель патента компания Ascom-Tech. Алгоритм использует циклическую обработку информации (8 циклов) путем применения к ней ряда математических операций;

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

В соответствии с законодательством США (соглашение International Traffic in Arms Peguiation), криптографические устройства , включая программное обеспечение , относится к системам вооружения .

Поэтому при экспорте программной продукции , в которой используется криптография , требуется разрешение Госдепартамента. Фактически экспорт криптографической продукции контролирует NSA (National Security Agency).

правительство США очень неохотно выдаёт подобные лицензии , поскольку это может нанести ущерб национальной безопасности США. Вместе с тем совсем недавно компании Hewlett–Packard выдано разрешение на экспорт её криптографического комплекса Ver Secure в Великобританию , Германию, Францию , Данию и Австралию. Теперь НР может эксплуатировать в эти страны системы, использующие 128-битный криптостандарт Triple DES ,который считается абсолютно надёжным.

ЗАКЛЮЧЕНИЕ.

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

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

Однако, этот критерий не учитывает других важных требований к криптосистемам:

* невозможность раскрытия или осмысленной модификации информации на основе анализа ее структуры,

7 стр., 3387 слов

Защита информации в информационных системах

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

* совершенство используемых протоколов защиты,

* минимальный объем используемой ключевой информации,

* минимальная сложность реализации (в количестве машинных операций), ее стоимость,

* высокая оперативность.

Желательно конечно использование некоторых интегральных показателей, учитывающих указанные факторы.

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

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

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

Эллиптические функции также относятся к симметричным методам шифрования.

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

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

1) Чмора А.Л. Современная прикладная криптография. 2-е изд., стер. – М.: Гелиос АРВ, 2004. – 256с.: ил.

2) А.Г. Ростовцев, Н.В. Михайлова Методы криптоанализа классических шифров.

3) А. Саломаа Криптография с открытым ключом.

4) Герасименко В.А. Защита информации в автоматизированных системах обработки данных кн. 1.-М.: Энергоатомиздат. -2004.-400с.