Принципы криптографии

Автор работы: Пользователь скрыл имя, 03 Февраля 2013 в 18:34, доклад

Описание

Первым документально зафиксированным в письменности шифром является шифр Цезаря, хотя существуют свидетельства о наличии простейших устройств шифрования и у древних греков в V—VI веках до нашей эры. Историки относят к шифрованным даже некоторые письмена еще более древних цивилизаций — Месопотамии и Египта, хотя в то время сам факт письменного изложения уже являлся барьером для большой части населения. В те времена использование своего, несоответствующего общепринятому, идеографического или слогового письма было почти 100% гарантией сохранности сообщения в секрете.

Работа состоит из  1 файл

Принципы криптографии.pptx

— 172.78 Кб (Скачать документ)

 

Рисунок  4. Таблица Виженера

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

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

При том, если все буквы  латинского алфавита пронумеровать  по порядку от 0 до 25, то процедура  шифрования по такой таблице превратится  в обычную операцию сложения. Например, буква текста Б (код 1) + буква пароля В (код 2) = код 3-  буква Г. При дешифровании, наоборот, из кода каждой зашифрованной  буквы вычитается код буквы пароля. Если при сложении получается число, большее 25, то из него вычитается 26, если при вычитании получается от­рицательное число — к нему прибавляется 26. Подобная схема сложе­ния/вычитания называется сложением по модулю — в данном случае сложением по модулю 26.

 

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

     

С наступлением XIX века и шквалом изобретений в области электричества, а затем и радио криптография перешла на качественно новый уровень — началась эра цифровой криптографии. Представление символов сначала в виде чисел из некоторого диапазона, а затем и в виде двоичных сигналов (код Морзе: "точка/тире", "единица/ноль": "сигнал/пауза") открыло огромные возможности для шифрования.

 

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

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

В момент передачи очередного импульса в канал связи лента-пароль сдвигалась на одну позицию и с  нее считывалось текущее двоичное значение.

Если был считан «0", то исходный двоичный сигнал не изменялся, если на ленте-пароле в этом месте  оказывалась "1", то исходный сигнал инвертировался. На приемной стороне  должна была присутствовать точно такая  же лента и, причем в том же начальном  положении, как у отправителя. Процедура  дешифрования точно соответствовала  процедуре шифрования.

 

Помимо того, что шифровальный аппарат Вернама был, по-видимому, первым полностью автоматическим электрическим  шифратором, данная схема содержала  две очень интересные идеи. Во-первых, в ней была применена операция сложения по модулю 2, ставшая базовой в цифровой криптографии. Заметим, что если примененную Вернамом операцию изменения одного бита в зависимости от значения другого представить как сложение двух двоичных чисел с отбрасыванием старшего бита, то правило выполнится для всех четырех возможных комбинаций: 0&0=0, 0&1= 1, 1&0= l, 1&1 = 0.

Подобная операция имеет  еще одно название — исключающее ИЛИ — и записывается двумя обозначениями: "&" и XOR— английским сокращением от исключающее ИЛИ (англ. exclusive OR). В отношении сложения по модулю 2 интересен еще один факт — обратной к нему, т. е. восстанавливающей, операцией является кроме вычитания по модулю 2 еще и сама эта операция, т. е. для любых X и Y выполняется (X У) & Y=X — это очень удобное свойство нередко используется в различных современных шифрах и схемах.

 

Вторым интересным моментом оказалось то, что если ленту, склеенную у Вернама в кольцо, сделать потенциально бесконечно длинной, а на самом деле — равной длине сообщения, то данный шифр станет абсолютно стойким. Не имея информации о ленте-пароле, третья сторона не сможет cделать никаких предположений о содержании исходного сообщения. Ведь сам факт взлома шифра может быть установлен только в том случае, когда дешифровщик получит из перехваченного послания какое-либо осмысленное сообщение. А если пароль по длине равен самому сообщению, то существу­ет огромное множество потенциальных паролей, которые при наложении на шифровку будут давать осмысленный текст — и все время разный. Из одного и того же послания, подбирая разные пароли, можно прочесть и "Я_Вас_люблю" и "Уходи прочь".

 

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

Решение состоит  в за­благовременном обмене большим  объемом ключей и надежном хранении их "до поры до случая". Естественно, в современном мире роль ленты-пароля играет уже двоичная информация на цифровом носителе, а само преобразование выполняется вычислительной техникой. Но одноразовый блокнот, как теперь называют данную схему, все еще имеет очень широкое применение именно из-за своей 100%-й стойкости к взлому при перехвате шифровок третьей стороной.

 

2. Классификация  шифров 
     по ключевой информации

 

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

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

 

В конце XIX века голландец А. Кергофф (Auguste Kerkhqff) в своей книге, посвященной применению шифров, упомянул, как одну из настоятельных рекомендаций, идею о том, что при раскрытии самого алгоритма преобразований третья сторона не должна ни на шаг приблизиться к сокрытому тексту. Это должно было достигаться базированием всего алгоритма шифрования на небольшом объеме секретной информации. Данная идея легла в основу всей современной криптографии и получила название принцип Кергоффа.

    

 

 

В противовес тайнописи криптографией с ключом называют сегодня алгоритмы шифрования, в которых сам алгоритм преобразований широко известен и доступен для исследований каждому желающему, но шифрование производится на основе небольшого объема информации — ключа, известного только отправителю и получателю сообщения. В современной криптографии в зависимости от методик размер ключа составляет от 56 до 4096 бит. Естественно, любой криптоалгоритм с ключом можно превратить в тайнопись, просто "зашив" в исходном коде программы некоторый фиксированный ключ и считая закрытым весь алгоритм. А вот обратное преобразование — попытка выделить из тайнописи некий небольшой аргумент-параметр — удастся далеко не всегда.

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

 

Рисунок 5. Шифрование на секретном ключе

 

Секретный

ключ

 

Сообщение

 

EnCript

 

отправитель

 

получатель

 

Секретный ключ

 

DeCript

 

Сообщение

 

Незащищенный  канал связи

 

Предварительная конфиденциальная передача

Дело в том, что запоминать ключ, который является на самом  деле просто большой последовательностью  чисел, обычному чело­веку довольно сложно хоть в двоичной, хоть в десятичной записи. Скажем, символьный эквивалент ключа в 192 бита будет представлять набор более чем 55 цифр. Криптосистема, которая требует подобных действий от своего пользователя, попросту вынуждает  его записывать ключ где-нибудь на листочке и хранить в портмоне, кармане  или ящике стола, что сводит на нет все дальнейшие усилия по защите переписки.  Поэтому все современные  системы предлагают пользователю вводить  не ключ — набор цифр, а пароль — произвольную текстовую фразу. Пароль может состоять из одного или  нескольких слов, быть осмысленным  или нет, главное — чтобы он легко запоминался пользователем.

 

 

3. Симметричное / асимметричное шифрование

 

Все криптоалгоритмы  с ключом делятся на симметричные и асимметричные.

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

     

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

 

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

 

Рисунок  6. Шифрование на открытом ключе

 

Открытый  ключ

получателя

 

Закрытый  ключ

получателя

 

Сообщение

 

Открытый  ключ получателя

 

Сообщение

 

EnCript

 

DeCript

 

Генерация пары ключей

 

отправитель

 

получатель

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

 

4. Поточное / блочное шифрование

 

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

 

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

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

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

 

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

Основным законом блочного шифрования является "или блок, или  ничего". То есть преобразования могут  применяться только над информацией  строго определенного объема. Размер блока на сегодняшний день равен 64, 128 или 256 битам. Частичное шифрование (скажем, попытка обработать 177 бит) невозможно. Блочное шифрование получило гораздо более широкое распространение  из-за развития современной ЭВТ, и, если поточные шифры одинаково часто  реализуются как программно, так  и аппаратно, то блочные шифры  в подавляющем большинстве имеют  программную реализацию.

Информация о работе Принципы криптографии