Автор работы: Пользователь скрыл имя, 18 Марта 2012 в 11:16, курсовая работа
С зарождением человеческой цивилизации возникла необходимость передачи информации одним людям так, чтобы она не становилась известной другим. Сначала люди использовали для передачи сообщений исключительно голос и жесты. С возникновением письменности задача обеспечения секретности и подлинности передаваемых сообщений стала особенно актуальной. Поэтому именно после возникновения письменности появилось искусство тайнописи, искусство «тайно писать» – набор методов, предназначенных для секретной передачи записанных сообщений от одного человека другому.
ВВЕДЕНИЕ………………………………………………………………..………3
1. Теоретическая часть…………………………………………………..……..…5
Введение…………………………………………………………….….…...5
1.1. Собственно о шифровании…….…………………..………..….....…..6
1.2. Хэш-функции и совсем чуть-чуть об электронной подписи…....…11
1.3. Системы идентификации и аутентификации……………………...13
Заключение……………………………………………….………….……18
2. Практическая часть……………………………………………………..…….15
2.1. Общая характеристика задачи……………………………………….15
2.2. Описание алгоритма решения задачи……...……………..…….…...17
Список литературы…………………………………………………….……….23
- 26 -
Министерство образования и науки РФ
Федеральное агентство по образованию
Государственное образовательное учреждение
высшего профессионального образования
Всероссийский заочный финансово-экономический институт
Филиал в г. Туле
КУРСОВАЯ РАБОТА
по дисциплине «Информатика»
Тема 45. История развития криптографии.
Выполнила: студентка 2 курса
факультета УС
Тула 2010
Оглавление
ВВЕДЕНИЕ…………………………………………………………
1. Теоретическая часть…………………………………………………..……..
Введение…………………………………………………………
1.1. Собственно о шифровании…….…………………..………..…..
1.2. Хэш-функции и совсем чуть-чуть об электронной подписи…....…11
1.3. Системы идентификации и аутентификации……………………...13
Заключение……………………………………………….…
2. Практическая часть……………………………………………………..…….
2.1. Общая характеристика задачи……………………………………….15
2.2. Описание алгоритма решения задачи……...……………..…….…...17
Список литературы……………………………………………………
ВВЕДЕНИЕ.
С зарождением человеческой цивилизации возникла необходимость передачи информации одним людям так, чтобы она не становилась известной другим. Сначала люди использовали для передачи сообщений исключительно голос и жесты. С возникновением письменности задача обеспечения секретности и подлинности передаваемых сообщений стала особенно актуальной. Поэтому именно после возникновения письменности появилось искусство тайнописи, искусство «тайно писать» – набор методов, предназначенных для секретной передачи записанных сообщений от одного человека другому.
Человечество изобрело большое число способов секретного письма, например, симпатические чернила, которые исчезают вскоре после написания ими текста или невидимы с самого начала, «растворение» нужной информации в сообщении большего размера с совершенно «посторонним» смыслом, подготовка текста при помощи непонятных знаков. Криптография возникла именно как практическая дисциплина, изучающая и разрабатывающая способы шифрования сообщений, то есть при передаче сообщений – не скрывать сам факт передачи, а сделать сообщение недоступным посторонним. Для этого сообщение должно быть записано так, чтобы с его содержимым не мог ознакомиться никто за исключением самих корреспондентов.
Появление в середине ХХ столетия первых ЭВМ кардинально изменило ситуацию – практическая криптография сделала в своем развитии огромный скачок и термин «криптография» далеко ушел от своего первоначального значения – «тайнопись», «тайное письмо». Сегодня эта дисциплина объединяет методы защиты информационных взаимодействий совершенно различного характера, опирающиеся на преобразование данных по секретным алгоритмам, включая алгоритмы, использующие секретные параметры. Термин «информационное взаимодействие» или «процесс информационного взаимодействия» здесь обозначает такой процесс взаимодействия двух и более субъектов, основным содержанием которого является передача и/или обработка информации. Базовых методов преобразования информации, которыми располагает современная криптография немного, но все они являются «кирпичами» для создания прикладных систем.
На сегодняшний день криптографические методы применяются для идентификации и аутентификации пользователей, защиты каналов передачи данных от навязывания ложных данных, защиты электронных документов от копирования и подделки.
В данной работе нас будет интересовать история развития криптографии. Также рассмотрим, какие существуют криптосистемы и криптоалгоритмы, реализованные с использованием компьютера. В работе не будут рассмотрены методы шифрования с использованием шифроблокнотов или специальной шифровальной техники как в силу недостатка открытой информации об этих методах, так и в силу недоступности такого оборудования массовому потребителю.
В практической части рассмотрена задача (Вариант 20), о предоставлении услуг доступа к сети Интернет и приведен алгоритм ее решения с использованием MS Excel 2007.
Работа выполнена на компьютере:
Intel(R)
Celeron(R) CPU
2.80GHz 2.80 ГГц 512 МБ ОЗУ
Программное обеспечение:
Microsoft Windows XP
Professional
версия 2002
Service Pack 2
1. Теоретическая часть.
Введение.
Что обычно приходит на ум при произнесении слова «криптография»? Спецслужбы, дипломатическая переписка, "математическое шаманство"? А при произнесении фразы «криптография в информационных технологиях»? Шифрование данных припомнят сразу. Про электронную подпись вспомнят. Кто-то знает что-то про «Сертификаты открытых ключей». Или про «взлом» чужих шифров. Попробуем разобраться со всеми этими, а заодно и другими, понятиями и подходами, которыми оперирует современная криптография.
Криптография в прошлом использовалась лишь в военных целях. Однако сейчас, по мере образования информационного общества, криптография становится одним из основных инструментов, обеспечивающих конфиденциальность, доверие, авторизацию, электронные платежи, корпоративную безопасность и бесчисленное множество других важных вещей. Справедливости ради надо отметить, что криптография — не панацея от всех бед. Криптографические методы могут помочь обеспечить безопасность, но только на эти методы надеяться не следует. Криптографические методы могут применяться для решений следующих проблем безопасности:
конфиденциальности передаваемых/хранимых данных
аутентификации
целостности хранимых и передаваемых данных
обеспечения подлинности документов Базовых методов преобразования информации, которыми располагает криптография, немного, среди них:
- шифрование (симметричное и несимметричное)
- вычисление хэш-функций
- генерация электронной цифровой подписи
- генерация последовательности псевдослучайных чисел.
1.1. Собственно о шифровании.
Шифрование – это обратимое преобразование данных с целью их сокрытия от посторонних. Методов шифрования было придумано множество – от шифров простой замены (наиболее известный пример – «Пляшущие человечки» Конан Дойля) до принципиально невскрываемого шифра Вернама (двоичное сложение исходного текста с однократно используемой случайной последовательностью). Почти все методы шифрования используют ключ шифрования – секретную кодовую последовательность, используемую в процессе преобразования информации. Где-то даже довелось прочесть такое определение шифрованию: «Шифрование – это процесс замены Вашего большого секрета (документа) маленьким (ключом)». В случае применения шифра Вернама, ключ шифрования равен по длине шифруемому сообщению, да еще и должен использоваться однократно. И хотя шифр Вернама при правильном его применении обеспечивает «абсолютную» секретность, он не удобен для большинства применений. Современные криптосистемы используют ключ для шифрования длиной от 64 до 1024–2048 бит. Традиция мерить длину ключа в битах, видимо, останется с нами навсегда. У читателя может возникнуть вопрос — откуда взялись такие цифры и почему TripleDES считается не менее надежным, чем 1024 битный RSA? И вообще, как зависит надежность шифрования(или, как говорят, стойкость шифра) от длины используемого ключа? Для того, чтобы ответить на эти вопросы необходимо разобраться с тем, какие алгоритмы шифрования сейчас используются на практике.
Вообще «классическими шифрами» принято называть симметричные блочные шифры. То есть те, которые для шифрования и расшифрования информации используют один и тот же ключ и шифруют информацию блоками. Длина блока обычно составляет 8 или 16 байт. Есть алгоритмы, допускающие переменную длину блока. Первым блочным шифром, широко использующимся на практике, стал DES (Data EncryptionStandard), разработанный специалистами IBM вначале 70х годов прошлого века и долгое время служивший стандартом для шифрования данных в США. Потом появилось много блочных алгоритмов – IDEA, Blowfish, советский ГОСТ28147 89 (и ныне являющийся отечественным стандартом). Оригинальный DES, к примеру, использовал ключ длиной 112 бит и блок шифрования длиной 64 бита. Но после его «анализа» специалистами NSA1 длина ключа была уменьшена до 64 бит. При этом в ключе было только 56 бит уникальных, а 8 бит – контрольных, служащих для контроля целостности ключа. Именно с ключом длиной в 56 бит DES и был утвержден в качестве Национального Стандарта. При том уровне развития вычислительной техники задача перебора 2**56 ключей за приемлемое время была или технически не выполнимой, или неоправданно дорогой. Сейчас DES c длиной ключа в 56 бит не представляется стойким алгоритмом. Большинство современных стойких симметричных алгоритмов используют ключ длиной 64–256 бит (8–32 байта). Необходимо отметить, что кроме блочных шифров существуют и активно используются поточные шифры. Они, как и блочные шифры, используют симметричный ключ, но выполняют шифрования входного потока побайтно или иногда побитно.
Идея поточного шифра состоит в том, что на основе симметричного ключа вырабатывается ключевая последовательность или гамма–последовательность, которая складывается по модулю два (операция xor) с входным потоком. Поточные шифры, как правило, более производительны, чем блочные и используются для шифрования речи, сетевого трафика и иных данных с заранее неизвестной длиной. При достаточно частой смене ключа для выработки гаммы поточные шифры обеспечивают достаточную стойкость. Вектор инициализации, как видно из его названия, является инициализирующей двоичной посылкой длиной равной блоку алгоритма. Вектор инициализации не является секретным элементом. В частности, в мобильной связи стандартом GSM предусмотрена возможность шифрования передаваемого голосового потока на участке от телефонного аппарата до базовой станции шифром A5, который является поточным. С алгоритмом A5 связана одна поучительная история. Изначально описание алгоритма A5 было закрытым. Но из за юридической ошибки компании владельца алгоритма его описание попало в Интернет и алгоритм был проанализирован. Его стойкость оказалась даже ниже стойкости DES. Осознав важность открытости алгоритмов для обеспечения их стойкости, разработчики третьего поколения сети GSM пообещали сделать предлагаемые к использованию алгоритмы шифрования голоса достоянием широкой криптографической общественности. Пример показывает важность наличия открытого описания алгоритма даже для самих его разработчиков. На сегодняшний день алгоритмы с длиной ключа 64 и больше бит обеспечивают приемлемую стойкость. Однако, зачем тогда использовать ключи длиной 512 и более бит? Ответ таков– эти ключи от другого замка! В семидесятых же годах прошлого века Диффи и Хэлман придумали абсолютно «новую» криптографию – криптографию с открытым ключом. Еще ее называют «открытой криптографией» или «несимметричной криптографией»1.
Идея Диффи и Хеллмана состояла в следующем. Возьмем некоторое число и назовем его «секретным ключом». Произведем над ним некоторые действия, в результате которых получим другое число – «открытый ключ». Причем выберем такие действия, что получить «открытый ключ» по известному «секретному» не будет требовать больших вычислительных ресурсов и времени, а обратное действие – вычисление по «открытому ключу» «секретного» окажется невозможным или очень длительным. Не вдаваясь в математические подробности отметим, что на современном персональном компьютере генерация открытого ключа по известному открытому ключу производится за время, порядка секунды, а на обратное преобразование в зависимости от длины ключа, может уйти до сотен (и даже тысяч) лет. Рассматривая исходный текст как некоторое большое число, произведем его преобразование с использованием открытого ключа. В результате получим новое число, которое будем рассматривать как шифр. Имея в распоряжении секретный ключ и используя тот факт, что открытый ключ был получен из секретного специальным образом, мы можем
______________________________
относительно быстро (в вычислительном плане) расшифровать текст. При этом надо заметить, что в целом процесс шифрования расшифрования с использованием пары ключей проходит на два-три порядка медленнее, чем шифрование расшифрование того же текста симметричным алгоритмом.
Казалось бы, зачем нужно использовать относительно медленную несимметричную криптографию, при наличии быстрых и проверенных временем и практикой симметричных алгоритмов? Нужно это за тем, что при использовании не симметричной криптографии радикально упрощается процедура распределения ключей между участниками обмена, а также становится возможным использование электронно-цифровой подписи (но, об этом – ниже). Самым известным несимметричным алгоритмом шифрования на сегодняшний день является алгоритм, предложенный Ривестом, Шамиром и Адельманом и носящий их имена – алгоритм RSA. В самом деле, если участников обмена немного и все они недалеко друг от друга, то проблема распределения между ними симметричных ключей решается относительно просто. Для связи «каждый с каждым» N участникам обмена каждому из них необходимо иметь N 1 ключей парной связи. При этом каждый участник обмена должен иметь безопасный канал обмена ключами с остальными участниками. При увеличении числа участников обмена задача распределения и замены скомпрометированных симметричных ключей может оказаться и вовсе неразрешимой, особенно тогда, когда участники обмена не доверяют друг другу. Использование несимметричной криптографии радикально упрощает процесс распределения ключей. Открытый ключ потому и назвали «открытым», что он не представляет секрета. Можно создать общедоступный «справочник открытых ключей», куда можно поместить открытые ключи всех участников обмена. При этом каждый владелец ключа волен отозвать свой ключ из справочника или заменить его – эта процедура не отразится на остальных участниках обмена. При этом возникает проблема подлинности ключа в справочнике, но и она разрешима.