Криптография
Рязанский Государственный Педагогический
Университет им. Есенина
Реферат
на тему:
«Криптография»
Выполнила
студентка I курса
Факультета русской филологии
и национальной культуры
группы 1Б (Связи с общественностью)
Прялухина Ксения
Проверил: Андреев
В.В.
Рязань 2010
Содержание:
Введение
Что такое криптография?
Криптогра́фия – наука о методах обеспечения конфиденциальности (невозможности прочтения информации посторонним) и аутентичности (целостности и подлинности авторства, а также невозможности отказа от авторства) информации.
Изначально криптография изучала методы шифрования информации – обратимого преобразования открытого (исходного) текста на основе секретного алгоритма и/или ключа в шифрованный текст (шифротекст). Традиционная криптография образует раздел симметричных криптосистем, в которых зашифрование и расшифрование проводится с использованием одного и того же секретного ключа. Помимо этого раздела современная криптография включает в себя асимметричные криптосистемы, системы электронной цифровой подписи (ЭЦП), хеш-функции, управление ключами, получение скрытой информации, квантовую криптографию.
Разные люди понимают под шифрованием разные вещи. Дети играют в игрушечные шифры и секретные языки. Это, однако, не имеет ничего общего с настоящей криптографией. Настоящая криптография (strong cryptography) должна обеспечивать такой уровень секретности, чтобы можно было надежно защитить критическую информацию от расшифровки крупными организациями – такими как мафия, транснациональные корпорации и крупные государства. Настоящая криптография в прошлом использовалась лишь в военных целях. Однако сейчас, со становлением информационного общества, она становится центральным инструментом для обеспечения конфиденциальности.
По мере образования информационного общества, крупным государствам становятся доступны технологические средства тотального надзора за миллионами людей. Поэтому криптография становится одним из основных инструментов обеспечивающих конфиденциальность, доверие, авторизацию, электронные платежи, корпоративную безопасность и бесчисленное множество других важных вещей.
Криптография не является более придумкой военных, с которой не стоит связываться. Настала пора снять с криптографии покровы таинственности и использовать все ее возможности на пользу современному обществу. Широкое распространение криптографии является одним из немногих способов защитить человека от ситуации, когда он вдруг обнаруживает, что живет в тоталитарном государстве, которое может контролировать каждый его шаг.
Базовая терминология
Представим, что нам надо отправить сообщение адресату. Мы хотим, чтобы никто кроме адресата не смог прочитать отправленную информацию. Однако всегда есть вероятность, что кто-либо вскроет конверт или перехватит электронное послание.
В криптографической терминологии исходное послание именуют открытым текстом (plaintext или cleartext). Изменение исходного текста так, чтобы скрыть от прочих его содержание, называют шифрованием (encryption). Зашифрованное сообщение называют шифротекстом (ciphertext). Процесс, при котором из шифротекста извлекается открытый текст, называют дешифровкой (decryption). Обычно в процессе шифровки и дешифровки используется некий ключ (key) и алгоритм обеспечивает, что дешифрование можно сделать, лишь зная этот ключ.
Криптография – это наука о том, как обеспечить секретность сообщения. Криптоанализ – это наука о том, как вскрыть шифрованное сообщение, то есть как извлечь открытый текст не зная ключа. Криптографией занимаются криптографы, а криптоанализом занимаются криптоаналитики.
Криптография покрывает все практические аспекты секретного обмена сообщениями, включая аутенфикацию, цифровые подписи, электронные деньги и многое другое. Криптология – это раздел математики, изучающий математические основы криптографических методов.
История
История криптографии насчитывает около 4 тысяч лет. В качестве основного критерия периодизации криптографии, возможно, использовать технологические характеристики используемых методов шифрования.
Первый период (приблизительно с 3-го тысячелетия до н. э.) характеризуется господством моноалфавитных шифров (основной принцип – замена алфавита исходного текста другим алфавитом через замену букв другими буквами или символами).
Второй период (хронологические рамки – с IX века на Ближнем Востоке (Ал-Кинди) и с XV века в Европе (Леон Баттиста Альберти) – до начала XX века) ознаменовался введением в обиход полиалфавитных шифров.
Третий период (с начала и до середины XX века) характеризуется внедрением электромеханических устройств в работу шифровальщиков. При этом продолжалось использование полиалфавитных шифров.
Четвертый период – с середины до 70-х годов XX века – период перехода к математической криптографии. В работе Шеннона появляются строгие математические определения количества информации, передачи данных, энтропии, функций шифрования. Обязательным этапом создания шифра считается изучение его уязвимости к различным известным атакам – линейным и дифференциальным криптоанализам. Однако, до 1975 года криптография оставалась «классической», или же, более корректно, криптографией с секретным ключом.
Современный период развития криптографии (с конца 1970-х годов по настоящее время) отличается зарождением и развитием нового направления – криптография с открытым ключом. Её появление знаменуется не только новыми техническими возможностями, но и сравнительно широким распространением криптографии для использования частными лицами (в предыдущие эпохи использование криптографии было исключительной прерогативой государства). Правовое регулирование использования криптографии частными лицами в разных странах сильно различается – от разрешения до полного запрета.
Современная криптография образует отдельное научное направление на стыке математики и информатики – работы в этой области публикуются в научных журналах, организуются регулярные конференции. Практическое применение криптографии стало неотъемлемой частью жизни современного общества – её используют в таких отраслях как электронная коммерция, электронный документооборот (включая цифровые подписи), телекоммуникации и других.
Криптография, как искусство
Долгое время занятие криптографией было уделом чудаков-одиночек. Среди них были одаренные ученые, дипломаты, священнослужители. Известны случаи, когда криптография считалась даже черной магией. Этот период развития криптографии как искусства длился с незапамятных времен до начала XX века, когда появились первые шифровальные машины. Понимание математического характера решаемых криптографией задач пришло только в середине XX века – после работ выдающегося американского ученого К. Шеннона.
История криптографии связана с большим количеством дипломатических и военных тайн и поэтому окутана туманом легенд. Наиболее полная книга по истории криптографии содержит более тысячи страниц. Она опубликована в 1967 году в Нью-Йорке и на русский язык еще не переведена. На русском языке недавно вышел в свет фундаментальный труд по истории криптографии в России.
Свой след в истории криптографии оставили многие хорошо известные исторические личности. Приведем несколько наиболее ярких примеров.
Первые сведения об использовании шифров в военном деле связаны с именем спартанского полководца Лисандра (шифр «Сциталь», V век до нашей эры). Цезарь использовал в переписке шифр, который вошел в историю как «шифр Цезаря». В древней Греции был изобретен вид шифра, который в дальнейшем стал называться «квадрат Полибия». Братство франкмасонов с момента своего возникновения (VIII век) I разработало и использовало целую систему особых шифров. Одну из первых книг по криптографии написал аббат И. Трителий (1462 – 1516), живший в Германии. В 1566 году известный механик и математик Д. Кардано опубликовал работу с описанием изобретенной им системы шифрования («решетка Кардано»). Франция XVI века оставила в истории криптографии шифры короля Генриха IV и Ришелье. В упомянутой книге Т. А. Соболевой подробно описано много российских шифров, в том числе и «цифирная азбука» 1700 года, автором которой был Петр Великий.
Некоторые сведения о свойствах шифров и их применениях можно найти и в художественной литературе, особенно в приключенческой, детективной и военной. Хорошее подробное объяснение особенностей одного из простейших шифров – шифра замены и методов его вскрытия содержится в двух известных рассказах: «Золотой жук» Э. По и «Пляшущие человечки» А. Конан-Дойля.
Много занимательной информации по криптографии публикуется в издаваемом в США научно-популярном журнале «Cryptology». Обширный библиографический список (111 названий) зарубежной литературы по криптографии содержится в очень полезной и важной статье Диффи и Хеллмэна, которая переведена на русский язык.
Рассмотрим более подробно несколько примеров.
Шифр «Сциталь»
Этот шифр известен со времен войны Спарты и Персии против Афин. Спартанский полководец Лисандр подозревал персов в возможной измене, но не знал их тайных планов. Его агент в стане персов прислал шифрованное сообщение, которое позволило Лисандру опередить персов и разгромить их. Шифрованное сообщение было написано на поясе официального гонца от персов следующим образом: агент намотал пояс на сциталь (деревянный цилиндр определенного диаметра) и написал на поясе сообщение вдоль сциталя; потом он размотал пояс, и получилось, что поперек пояса в беспорядке написаны буквы. Гонец не догадывался, что узор на его красивом поясе на самом деле содержит зашифрованную информацию. Лисандр взял сциталь такого же диаметра, аккуратно намотал на него пояс и вдоль сциталя прочитал сообщение от своего агента.
Например, если роль сциталя выполняет карандаш с шестью гранями, то открытый текст КРИПТОГРАФИЯ может быть преобразован в шифртекст РПОРРФЯКИТГАИ. Шифртекст может быть и другим, так как он зависит не только от диаметра карандаша.
Можно отметить, что в этом шифре преобразование открытого текста в шифрованный заключается в определенной перестановке букв открытого текста. Поэтому класс шифров, к которым относится и шифр «Сциталь», называется шифрами перестановки.
Шифр перестановки
Этот метод заключается в том, что символы шифруемого текста переставляются по определенным правилам внутри шифруемого блока символов. Рассмотрим некоторые разновидности этого метода, которые могут быть использованы в автоматизированных системах.
Самая простая перестановка – написать исходный текст задом наперед и одновременно разбить шифрограмму на группы из нескольких букв. Пусть группа состоит из пяти букв. Например, из фразы
ПУСТЬ БУДЕТ ТАК, КАК МЫ ХОТЕЛИ.
получится такой шифротекст – ИЛЕТО ХЫМКА ККАТТ ЕДУБЪ ТСУП
В последней группе (пятерке) не хватает одной буквы. Значит, прежде чем шифровать исходное выражение, следует его дополнить незначащей буквой (например, О) до числа, кратного пяти – ПУСТЬ-БУДЕТ-ТАККА-КМЫХО-ТЕЛИО.
Тогда шифрограмма, несмотря на столь незначительные изменения, будет выглядеть по-другому – ОИЛЕТ ОХЫМК АККАТ ТЕДУБ ЬТСУП
Кажется, ничего сложного, но при расшифровке проявляются серьезные неудобства.
Во время Гражданской войны в США в ходу был такой шифр: исходную фразу писали в несколько строк. Например, по пятнадцать букв в каждой (с заполнением последней строки незначащими буквами).
П У С Т Ь Б У Д Е Т Т А К К А
К М Ы Х О Т Е Л И К Л М Н О П
После этого вертикальные столбцы по порядку писали в строку с разбивкой на пятерки букв – ПКУМС ЫТХЬО БТУЕД ЛЕИТК ТЛАМК НКОАП
Если
строки укоротить, а количество строк
увеличить, то получится прямоугольник-
Шифр Цезаря
Историческим примером шифра замены является шифр Цезаря (I век до н.э.), описанный историком Древнего Рима Светонием. Гай Юлий Цезарь в своей переписке использовал шифр собственного изобретения. Применительно к русскому языку он состоял в следующем: каждая буква алфавита заменялась другой буквой, из этого алфавита, идущей за первой через некоторый интервал.
Пример – выпишем алфавит
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ю Я,
И запишем под ним тот же алфавит, но с циклическим сдвигом
Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ю Я А Б В
При шифровании буква А заменялась буквой Г, Б заменялась на Д, и так далее. Так, например, слово «Империя» превращалось в слово «Лптзулв». Получатель сообщения искал буквы, из которых написано послание, и заменял их буквами из верхней строки – в этом заключался способ декодирования.
Естественное развитие шифра Цезаря очевидно: нижняя строка двустрочной записи букв алфавита может быть произвольным расположением этих букв. Если в алфавитном расположении букв существует всего 32 варианта (для русского языка, без буквы «ё»), то при произвольном расположении число ключей становиться 33!≈10^35.
Основные алгоритмы шифрования
Метод шифровки/дешифровки называют шифром (cipher). Некоторые алгоритмы шифрования основаны на том, что сам метод шифрования (алгоритм) является секретным. Ныне такие методы представляют лишь исторический интерес и не имеют практического значения. Все современные алгоритмы используют ключ для управления шифровкой и дешифровкой; сообщение может быть успешно дешифровано, только если известен ключ. Ключ, используемый для дешифровки, может не совпадать с ключом, используемым для шифрования, однако в большинстве алгоритмов ключи совпадают.
Алгоритмы с использованием ключа делятся на два класса: симметричные (или алгоритмы секретным ключом) и асимметричные (или алгоритмы с открытым ключом). Разница в том, что симметричные алгоритмы используют один и тот же ключ для шифрования и для дешифрования (или же ключ для дешифровки просто вычисляется по ключу шифровки). В то время как асимметричные алгоритмы используют разные ключи, и ключ для дешифровки не может быть вычислен по ключу шифровки.
Симметричные алгоритмы подразделяют на потоковые шифры и блочные шифры. Потоковые алгоритмы позволяют шифровать информацию по битам, в то время как блочные работают с некоторым набором бит данных (обычно размер блока составляет 64 бита) и шифруют этот набор как единое целое.
Ассиметричные шифры (также именуемые алгоритмами с открытым ключом, или – в более общем плане – криптографией с открытым ключом) допускают, чтобы открытый ключ был доступен всем (скажем, опубликован в газете). Это позволяет любому зашифровать сообщение. Однако расшифровать это сообщение сможет только нужный человек (тот, кто владеет ключом дешифровки). Ключ для шифрования называют открытым ключом, а ключ для дешифрования – закрытым ключом или секретным ключом.
Современные алгоритмы шифровки/дешифровки достаточно сложны и их невозможно проводить вручную. Настоящие криптографические алгоритмы разработаны для использования компьютерами или специальными аппаратными устройствами. В большинстве приложений криптография производится программным обеспечением и имеется множество доступных криптографических пакетов.
Вообще говоря, симметричные алгоритмы работают быстрее, чем ассиметричные. На практике оба типа алгоритмов часто используются вместе: алгоритм с открытым ключом используется для того, чтобы передать случайным образом сгенерированный секретный ключ, который затем используется для дешифровки сообщения.
Многие качественные криптографические алгоритмы доступны широко – в книжном магазине, библиотеке, патентном бюро или в Интернете. К широко известным симметричным алгоритмам относятся DES и IDEA, Наверное, самым лучшим асимметричным алгоритмом является RSA.
Цифровые подписи
Некоторые из асимметричных алгоритмов могут использоваться для генерирования цифровой подписи. Цифровой подписью называют блок данных, сгенерированный с использованием некоторого секретного ключа. При этом с помощью открытого ключа можно проверить, что данные были действительно сгенерированы с помощью этого секретного ключа. Алгоритм генерации цифровой подписи должен обеспечивать, чтобы было невозможно без секретного ключа создать подпись, которая при проверке окажется правильной.
Цифровые подписи используются для того, чтобы подтвердить, что сообщение пришло действительно от данного отправителя (в предположении, что лишь отправитель обладает секретным ключом, соответствующим его открытому ключу). Также подписи используются для проставления штампа времени (timestamp) на документах: сторона, которой мы доверяем, подписывает документ со штампом времени с помощью своего секретного ключа и, таким образом, подтверждает, что документ уже существовал в момент, объявленный в штампе времени.
Цифровые
подписи также можно
Цифровая подпись документа обычно создается так: из документа генерируется так называемый дайджест (message digest) и к нему добавляется информация о том, кто подписывает документ, штамп времени и прочее. Получившаяся строка далее зашифровывается секретным ключом подписывающего с использованием того или иного алгоритма. Получившийся зашифрованный набор бит и представляет собой подпись. К подписи обычно прикладывается открытый ключ подписывающего. Получатель сначала решает для себя доверяет ли он тому, что открытый ключ принадлежит именно тому, кому должен принадлежать (с помощью сети доверия или априорного знания), и затем дешифрует подпись с помощью открытого ключа. Если подпись нормально дешифровалась, и ее содержимое соответствует документу (дайджест и др.), то сообщение считается подтвержденным.
Свободно доступны несколько методов создания и проверки цифровых подписей. Наиболее известным является алгоритм RSA.
Криптографические хэш-функции
Криптографические хэш-функции используются обычно для генерации дайджеста сообщения при создании цифровой подписи. Хэш-функции отображают сообщение в имеющее фиксированный размер хэш-значение (hash value) таким образом, что все множество возможных сообщений распределяется равномерно по множеству хэш-значений. При этом криптографическая хэш-функция делает это таким образом, что практически невозможно подогнать документ к заданному хэш-значению.
Криптографические хэш-функции обычно производят значения длиной в 128 и более бит. Это число значительно больше, чем количество сообщений, которые когда-либо будут существовать в мире.
Много
хороших криптографических хэш-
Криптографические генераторы случайных чисел
Криптографические генераторы случайных чисел производят случайные числа, которые используются в криптографических приложениях, например – для генерации ключей. Обычные генераторы случайных чисел, имеющиеся во многих языках программирования и программных средах, не подходят для нужд криптографии (они создавались с целью получить статистически случайное распределение, криптоаналитики могут предсказать поведение таких случайных генераторов).
В идеале случайные числа должны основываться на настоящем физическом источнике случайной информации, которую невозможно предсказать. Примеры таких источников включают шумящие полупроводниковые приборы, младшие биты оцифрованного звука, интервалы между прерываниями устройств или нажатиями клавиш. Полученный от физического источника шум затем "дистиллируется" криптографической хэш-функцией так, чтобы каждый бит зависел от каждого бита. Достаточно часто для хранения случайной информации используется довольно большой пул (несколько тысяч бит) и каждый бит пула делается зависимым от каждого бита шумовой информации каждого другого бита пула криптографически надежным (strong) способом.
Когда нет настоящего физического источника шума, приходится пользоваться псевдослучайными числами. Такая ситуация нежелательна, но часто возникает на компьютерах общего назначения. Всегда желательно получить некий шум окружения – скажем от величины задержек в устройствах, цифры статистики использования ресурсов, сетевой статистики, прерываний от клавиатуры или чего-то иного. Задачей является получить данные, непредсказуемые для внешнего наблюдателя. Для достижения этого случайный пул должен содержать, как минимум 128 бит настоящей энтропии.
Криптографические генераторы псевдослучайных чисел обычно используют большой пул (seed-значение), содержащий случайную информацию. Биты генерируется путем выборки из пула с возможным прогоном через криптографическую хэш-функцию, чтобы спрятать содержимое пула от внешнего наблюдателя. Когда требуется новая порция бит, пул перемешивается путем шифровки со случайным ключом (его можно взять из неиспользованной пока части пула) так, чтобы каждый бит пула зависел от каждого другого бита. Новый шум окружения должен добавляться к пулу перед перемешиваниям, дабы сделать предсказание новых значений пула еще более сложным.
Несмотря на то, что при аккуратном проектировании криптографически надежный генератор случайных чисел реализовать, не так уж и трудно, этот вопрос часто упускают из вида. Таким образом, следует подчеркнуть важность криптографического генератора случайных чисел – если он сделан плохо, он может легко стать самым уязвимым элементом системы.
Типы шифров
Криптосистемы разделяются на симметричные (с секретным ключом) и с открытым ключом.
В симметричных криптосистемах и для шифрования, и для дешифрования используется один и тот же ключ.
В системах с открытым ключом используются два ключа – открытый и закрытый, которые математически связаны друг с другом. Информация шифруется с помощью открытого ключа, который доступен всем желающим, а расшифровывается с помощью закрытого ключа, известного только получателю сообщения.
Обеспечиваемая шифром степень защиты
Хорошие
криптографические системы
Теоретически, любой шифровальный алгоритм с использованием ключа может быть вскрыт методом перебора всех значений ключа. Если ключ подбирается методом грубой силы (brute force), требуемая мощность компьютера растет экспоненциально с увеличением длины ключа. Ключ длиной в 32 бита требует 2^32 (около 10^9) шагов. Такая задача под силу любому дилетанту и решается на домашнем компьютере. Системы с 40-битным ключом (например, экспортный американский вариант алгоритма RC4) требуют 2^40 шагов - такие компьютерные мощности имеются в большинстве университетов и даже в небольших компаниях. Системы с 56-битными ключами (DES) требуют для вскрытия заметных усилий, однако могут быть легко вскрыты с помощью специальной аппаратуры. Стоимость такой аппаратуры значительна, но доступна для мафии, крупных компаний и правительств. Ключи длиной 64 бита в настоящий момент, возможно, могут быть вскрыты крупными государствами и уже в ближайшие несколько лет будут доступны для вскрытия преступными организациями, крупными компаниями и небольшими государствами. Ключи длиной 80 бит могут в будущем стать уязвимыми. Ключи длиной 128 бит, вероятно, останутся недоступными для вскрытия методом грубой силы в обозримом будущем. Можно использовать и более длинные ключи. В пределе нетрудно добиться того, чтобы энергия, требуемая для вскрытия (считая, что на один шаг затрачивается минимальный квантовомеханический квант энергии) превзойдет массу солнца или вселенной.

- Криптография
- Криптография
- Криптография
- Криптография
- Криптография
- Криптография
- Криптография
- Криптографические методы и средства защиты информации
- Криптографические методы шифрования информации
- Криптографические протоколы
- Криптографические системы защиты информации
- Криптографические средства защиты информации
- Криптографический алгоритм RC4
- Криптографический метод защиты информации