Криптография

Автор работы: Пользователь скрыл имя, 07 Января 2011 в 21:35, реферат

Краткое описание

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

Содержание

Введение 3
Что такое криптография? 3
Базовая терминология 4
История 5
Криптография, как искусство 6
Шифр «Сциталь» 7
Шифр перестановки 8
Шифр Цезаря 9
Основные алгоритмы шифрования 10
Цифровые подписи 11
Криптографические хэш-функции 13
Криптографические генераторы случайных чисел 13
Типы шифров 15
Обеспечиваемая шифром степень защиты 15
Принципы стойкости шифра. Принципы Керкхоффса 18
«Невзламываемые» шифры 18
Криптоанализ и атаки на криптосистемы 21
Разнообразие шифрмашин 22
Криптография и уровень технологий 23
Криптография сегодня 24
Список литературы: 26

Вложенные файлы: 1 файл

Криптография - реферат по информатике.doc

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

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

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

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

     Чтобы дать представление о степени  сложности вскрытия RSA, скажем, что модули длиной 256 бит легко факторизуются обычными программистами. Ключи в 384 бита могут быть вскрыты исследовательской группой университета или компании. 512-битные ключи находятся в пределах досягаемости крупных государств. Ключи длиной в 768 бит, вероятно, не будут надежны продолжительное время. Ключи длиной в 1024 бит могут считаться безопасными до тех пор, пока не будет существенного прогресса в алгоритме факторизации; ключи длиной в 2048 большинство считает надежными на десятилетия. Более подробную информацию о длинах ключей RSA можно почерпнуть из статьи Брюса Шнайера (Bruce Scheier).

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

Принципы стойкости шифра. Принципы Керкхоффса

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

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

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

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

«Невзламываемые» шифры

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

     Шифрование  по принципу Вермана

Ключ  EVTIQWXQVVOPMCXREPYZ
Открытый текст ALLSWELLTHATENDSWELL
Шифротекст  EGEAMAIBOCOIQPAJATJK
Шифрограмма EGEAM AIBOC OIQPA JATJK

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

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

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

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

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

Криптоанализ  и атаки на криптосистемы

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

    • Атака со знанием лишь шифрованного текста (ciphertext-only attack) – это ситуация, когда атакующий не знает ничего о содержании сообщения, и ему приходится работать лишь с самим шифрованным текстом. На практике, часто можно сделать правдоподобные предположения о структуре текста, поскольку многие сообщения имеют стандартные заголовки. Даже обычные письма и документы начинаются с легко предсказуемой информации. Также часто можно предположить, что некоторый блок информации содержит заданное слово.
    • Атака со знанием содержимого шифровки (known-plaintext attack) – атакующий знает или может угадать содержимое всего или части зашифрованного текста. Задача заключается в расшифровке остального сообщения. Это можно сделать либо путем вычисления ключа шифровки, либо минуя это.
    • Атака с заданным текстом (chosen-plaintext attack) – атакующий имеет, возможно, получить шифрованный документ для любого нужного ему текста, но не знает ключа. Задачей является нахождение ключа. Некоторые методы шифрования и, в частности, RSA, весьма уязвимы для атак этого типа. При использовании таких алгоритмов надо тщательно следить, чтобы атакующий не мог зашифровать заданный им текст.
    • Атака с подставкой (Man-in-the-middle attack) – атака направлена на обмен шифрованными сообщениями и, в особенности, на протокол обмена ключами. Идея заключается в том, что когда две стороны обмениваются ключами для секретной коммуникации (например, используя шифр Диффи-Хелмана, Diffie-Hellman), противник внедряется между ними на линии обмена сообщениями. Далее противник выдает каждой стороне свои ключи. В результате, каждая из сторон будет иметь разные ключи, каждый из которых известен противнику. Теперь противник будет расшифровывать каждое сообщение своим ключом и затем зашифровывать его с помощью другого ключа перед отправкой адресату. Стороны будут иметь иллюзию секретной переписки, в то время как на самом деле противник читает все сообщения. Одним из способов предотвратить такой тип атак заключается в том, что стороны при обмене ключами вычисляют криптографическую хэш-функцию значения протокола обмена (или, по меньшей мере, значения ключей), подписывают ее алгоритмом цифровой подписи и посылают подпись другой стороне. Получатель проверит подпись и то, что значение хэш-функции совпадает с вычисленным значением. Такой метод используется, в частности, в системе Фотурис (Photuris).
    • Атака с помощью таймера (timing attack) – этот новый тип атак основан на последовательном измерении времен, затрачиваемых на выполнение операции возведения в степень по модулю целого числа. Ей подвержены, по крайней мере, следующие шифры: RSA, Диффи-Хеллман и метод эллиптических кривых. Дополнительную информацию смотрите в оригинальной статье и во множестве последовавших статей.

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

Разнообразие шифрмашин

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

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

     Из-за такого разнообразия требований приходится разрабатывать различные шифры, которые реализуются в сотнях типов шифрующих машин и устройств. Вместе с тем в наиболее развитых в криптографическом отношении странах существуют стандартные шифры: например, DES – в США и СКЗД – в России.

Криптография  и уровень технологий

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

     Условно можно выделить три принципиально  разные этапа в развитии математического  аппарата криптографии.

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

Информация о работе Криптография