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

Автор работы: Пользователь скрыл имя, 30 Ноября 2014 в 17:41, реферат

Описание работы

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

Содержание работы

Введение………………………………………………………………………...3
Алгоритм симметричного шифрования…...………………………………….5
Структура алгоритмов шифрования…………………………………………..8
Заключение…………………………………………………………………….13
Список использованной литературы………………………………………...15

Файлы: 1 файл

алгоритмы шифрования.docx

— 33.01 Кб (Скачать файл)

 

 

МИНОБРНАУКИ РОССИИ

 

Федеральное государственное бюджетное образовательное учреждение  
высшего профессионального образования

«Санкт-Петербургский государственный

экономический университет»

 

Факультет Торгового и таможенного дела

Кафедра информатики

 

Реферат

по дисциплине: «Информатика»

по теме: «Алгоритмы шифрования»

 

Студент: ______________________________________

                                       

____  курса   спец. 036401 – Таможенное дело

 

группа___________ № зачет. книжки_____________

 

Подпись: ____________________________________

 

Проверил: ___________________________________

      

Должность___________________________________

     

 

Оценка:  _______________________     Дата: ____________

 

Подпись: _______________

 

Санкт-Петербург

2014

 

 

 

 

 

 

Содержание

 

Введение………………………………………………………………………...3

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

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

Заключение…………………………………………………………………….13

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

 

 

 

 

 

 

 

 

 

 

 

 

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

 

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

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

С = Ek1(M), где:

M (message) - открытая информация,

С (cipher text) - полученный в результате зашифрования шифртекст,

E (encryption) - функция зашифрования, выполняющая криптографические преобразования над M,

k1 (key) - параметр функции E, называемый ключом зашифрования.

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

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

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

M' = Dk2(C), где:

M'- сообщение, полученное в результате расшифрования,

D (decryption) - функция расшифрования; так же, как и функция зашифрования, выполняет криптографические преобразования над шифртекстом,

k2 - ключ расшифрования.

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

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

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

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

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

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

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

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

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

k1 = ak2 mod p,

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

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

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

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

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

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

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

 

 

 

 

 

 

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

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

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

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

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

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

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

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

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

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

Такая структура называется обобщенной или расширенной сетью Фейстеля и используется существенно реже традиционной сети Фейстеля. Примером такой сети Фейстеля может служить алгоритм RC6.

2. Алгоритмы на основе  подстановочно-перестановочных сетей (SP-сеть - Substitution-permutation network).

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

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

SP-сети распространены  существенно реже, чем сети Фейстеля; в качестве примера SP-сетей можно привести алгоритмы Serpent или SAFER+.

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

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

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

Информация о работе Алгоритмы шифрования