Примеры шифрования. Методы шифрования данных - блог веб-программиста. Зашифрование и расшифрование в режиме гаммирования

Примеры шифрования. Методы шифрования данных - блог веб-программиста. Зашифрование и расшифрование в режиме гаммирования

05.05.2019

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

Что собой представляет система шифрования данных?

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

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

Зачем это нужно?

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

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

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

Криптография: точка отсчета

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

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

Современный мир: виды алгоритмов шифрования

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

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

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

Симметричные и асимметричные алгоритмы шифрования: в чем разница

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

Симметричный алгоритм шифрования DES, разработанный еще в 1977 году, подразумевает наличие единого ключа, который, предположительно, известен двум заинтересованным сторонам. Зная такой ключ, нетрудно применить его на практике, чтобы прочитать тот же бессмысленный набор символов, приведя его, так сказать, в читабельный вид.

А что представляют собой асимметричные алгоритмы шифрования? Здесь применяются два ключа, то есть для кодирования исходной информации использует один, для расшифровки содержимого - другой, причем совершенно необязательно, чтобы они совпадали или одновременно находились у кодирующей и декодирующей стороны. Для каждой из них достаточно одного. Таким образом, в очень высокой степени исключается попадание обоих ключей в третьи руки. Однако, исходя из современной ситуации, для многих злоумышленников кражи такого типа особо проблемой и не являются. Другое дело - поиск именно того ключа (грубо говоря, пароля), который подойдет для расшифровки данных. А тут вариантов может быть столько, что даже самый современный компьютер будет обрабатывать их в течение нескольких десятков лет. Как было заявлено, ни одна из имеющихся в мире компьютерных систем взломать доступ к нему и получить то, что называется «прослушкой», не может и не сможет в течение ближайших десятилетий.

Наиболее известные и часто применяемые алгоритмы шифрования

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

В большинстве стран стандартом де-факто является криптографическая система AES на основе 128-битного ключа. Однако параллельно с ней иногда используется и алгоритм который хоть и относится к шифрованию с использованием открытого (публичного) ключа, тем не менее является одним из самых надежных. Это, кстати, доказано всеми ведущими специалистами, поскольку сама система определяется не только степенью шифрования данных, но и сохранением целостности информации. Что касается ранних разработок, к коим относится алгоритм шифрования DES, то он безнадежно устарел, а попытки его замены начали проводиться еще в 1997 году. Вот тогда-то на его основе и возник новый расширенный (Advanced) стандарт шифрования AES (сначала с ключом 128 бит, потом - с ключом 256 бит).

Шифрование RSA

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

Для шифрования берутся два достаточно больших числа X и Y, после чего вычисляется их произведение Z, называемое модулем. Далее выбирается некое постороннее число A, удовлетворяющее условию: 1< A < (X - 1) * (Y - 1). Оно обязательно должно быть простым, то есть не иметь общих делителей с произведением (X - 1) * (Y - 1), равным Z. Затем происходит вычисление числа B, но только так, что (A * B - 1) делится на (X - 1) * (Y - 1). В данном примере A - открытый показатель, B - секретный показатель, (Z; A) - открытый ключ, (Z; B) - секретный ключ.

Что происходит при пересылке? Отправитель создает зашифрованный текст, обозначенный как F, с начальным сообщением M, после чего следует A и умножение на модуль Z: F = M**A*(mod Z). Получателю остается вычислить несложный пример: M = F**B*(mod Z). Грубо говоря, все эти действия сводятся исключительно к возведению в степень. По тому же принципу работает и вариант с создание цифровой подписи, но уравнения тут несколько сложнее. Чтобы не забивать пользователю голову алгеброй, такой материал приводиться не будет.

Что же касается взлома, то алгоритм шифрования RSA ставит перед злоумышленником практически нерешаемую задачу: вычислить ключ B. Это теоретически можно было бы сделать с применением доступных средств факторинга (разложением на сомножители исходных чисел X и Y), однако на сегодняшний день таких средств нет, поэтому сама задача становится не то что трудной - она вообще невыполнима.

Шифрование DES

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

Суть его симметричного шифрования заключается в том, что для этого применяется некая последовательность из 48 бит. При этом для операций используется 16 циклов из выборки ключей в 48 бит. Но! Все циклы по принципу действия аналогичны, поэтому на данный момент вычислить искомый ключ труда не составляет. К примеру, один из самых мощных компьютеров в США стоимостью более миллиона долларов «ломает» шифрование в течение примерно трех с половиной часов. Для машин рангом ниже на то, чтобы вычислить даже последовательность в максимальном ее проявлении, требуется не более 20 часов.

Шифрование AES

Наконец, перед нами самая распространенная и, как считалось до недавнего времени, неуязвимая система - алгоритм шифрования AES. Он сегодня представлен в трех модификациях - AES128, AES192 и AES256. Первый вариант применяется больше для обеспечения информационной безопасности мобильных устройств, второй задействован на более высоком уровне. Как стандарт, эта система была официально внедрена в 2002 году, причем сразу же ее поддержка была заявлена со стороны корпорации Intel, производящей процессорные чипы.

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

Проблемы с вирусами и дешифровкой

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

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

А если исходить из заявления правительства США о сроке, отводимом для дешифрования ключа длиной 128 бит, то что можно сказать о времени, которое потребуется на поиск решения для случая с ключом и его вариантами длиной 1024 бита? Вот тут-то США и прокололись. Они ведь считали, что их система компьютерной криптографии совершенна. Увы, нашлись какие-то спецы (судя по всему, на постсоветском пространстве), которые превзошли «незыблемые» американские постулаты по всем параметрам.

При всем этом даже ведущие разработчики антивирусного ПО, в том числе «Лаборатория Касперского», специалисты, создавшие «Доктора Веба», корпорация ESET и многие другие мировые лидеры просто разводят руками, дескать, на расшифровку такого алгоритма попросту нет средств, умалчивая при этом о том, что и времени не хватит. Конечно, при обращении в службу поддержки предлагается отправить зашифрованный файл и, если есть, желательно его оригинал - в том виде, в каком он был до начала шифрования. Увы, даже сравнительный анализ пока не дал ощутимых результатов.

Мир, которого мы не знаем

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

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

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

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

Вместо послесловия

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

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

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»

ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ ЮЖНОГО ФЕДЕРАЛЬНОГО УНИВЕРСИТЕТА В г. ТАГАНРОГЕ Факультет информационной безопасности Кафедра БИТ Реферат на тему

«Криптография и виды шифрования»

ст. гр. И-21

Выполнил: В. И. Мищенко Проверил: Е. А. Маро Таганрог — 2012

Введение

1. История криптографии

1.1 Появление шифров

1.2 Эволюция криптографии

2. Криптоанализ

2.1 Характеристики сообщений

2.2 Свойства естественного текста

2.3 Критерии определения естественности

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

4. Ассиметричное шифрование

Заключение

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

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

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

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

С появлением письменности вопрос обеспечения засекреченности и подлинности транслируемых сообщений стала особенно важным. Вследствие этого именно после изобретения письма возникло искусство криптографии, способ «тайно писать» — набор методик, предназначенных для тайной передачи записанных сообщений от одного посвященного человека другому.

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

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

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

1.1 Появление шифров Некоторые из криптографических систем дошли до нас из дремучей древности. Вероятнее всего они родились одновременно с письменностью в IV тысячелетии до нашей эры. Способы тайной переписки были придуманы независимо во многих древних государствах, таких как Египет, Греция и Япония, но детальный состав криптологии в них сейчас неизвестен. Криптограммы находятся даже в древнее время, хотя из-за применявшейся в древнем мире идеографической письменности в виде стилизованных пиктограмм они были довольно примитивны. Шумеры, судя по всему, пользовались искусством тайнописи.

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

Даже в книгах Библии мы можем найти примеры шифровок, хотя почти никто их не замечает. В книге пророка Иеремии (22,23) мы читаем: «…а царь Сессаха выпьет после них.» Этого царя и такого царства не существовало — неужели ошибка автора? Нет, просто иногда священные иудейские манускрипты шифровались обычной заменой. Вместо первой буквы алфавита писали последнюю, вместо второй — предпоследнюю и так далее. Этот старый способ криптографии называется атбаш. Читая с его помощью слово СЕССАХ, на языке оригинала мы имеем слово ВАВИЛОН, и весь смысл библейского манускрипта может быть понят даже теми, кто не верит слепо в истинность писания.

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

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

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

Рождением третьего периода развития шифрования обычно принято считать 1976 год, в котором американские математики Диффи и Хеллман изобрели принципиально новый способ организации шифрованной связи, не требующий предварительного обеспечения абонентов тайными ключами — так называемое кодирование с использованием открытого ключа. В результате этого начали возникать шифровальные системы, основанные на базе способа, изобретенного еще в 40-х годах Шенноном. Он предложил создавать шифр таким образом, чтобы его расшифровка была эквивалентна решению сложной математической задачи, требующей выполнения вычислений, которые превосходили бы возможности современных компьютерных систем. Этот период развития шифрования характеризуется возникновением абсолютно автоматизированных систем кодированной связи, в которых любой пользователь владеет своим персональным паролем для верификации, хранит его, например, на магнитной карте или где-либо еще, и предъявляет при авторизации в системе, а все остальное происходит автоматически.

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

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

2.1 Характеристики сообщений Сообщения, насколько бы сложными они ни были, вполне возможно представить себе в виде каком-либо порядке символов. Эти символы нужно взять из заранее фиксированного набора, к примеру, из русского алфавита или из палитры цветов (красный, желтый, зеленый). Различные символы могут встречаться в сообщениях с различной периодичностью. В связи с этим объем информации, транслируемый различными символами может быть разным. В том понимании, которое предложил Шеннон, объем информации определяется усредненным значением чисел возможных вопросов с вариантами ответов ДА и НЕТ для того, чтобы предугадать последующий знак в сообщении. Если символы в тексте расположены в последовательности, не зависящей друг от друга, то усредненное количество информации в таком сообщении приходящееся на один символ, равно:

где Pi — частота проявления знака i, a Ld- двоичный логарифм. Следует отметить три феномена такого распределения информации.

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

Загодя известна символьная система, в которой транслируется сообщение, то есть язык, метод шифрации.

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

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

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

При объеме подобных ошибок больше чем одна тысяча в день человек, сидящий за компьютером, устанет и может в дальнейшем проверять фрагменты текста невнимательно. Это означает, что возможно допустить не более одной ошибки подобного рода на 100 000 проверок. В другой крайности, если подойти к проверке невнимательно, то вполне возможно пропустить осмысленный текст и в конце полного перебора его придется снова повторять. Для того, чтобы не рисковать необходимостью повторения всего объема работ, ошибки второго рода, также называемые «пропусками фрагмента», возможно допустить лишь в одном случае из 100 или 1000.

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

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

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

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

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

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

В настоящее время симметричные шифры -- это:

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

Поточные шифры, в которых шифрование проводится над каждым битом либо байтом исходного (открытого) текста с использованием гаммирования. Поточный шифр может быть легко создан на основе блочного (например, ГОСТ 28 147-89 в режиме гаммирования), запущенного в специальном режиме.

Большинство симметричных шифров используют сложную комбинацию большого количества подстановок и перестановок. Многие такие шифры исполняются в несколько (иногда до 80) проходов, используя на каждом проходе «ключ прохода». Множество «ключей прохода» для всех проходов называется «расписанием ключей» (key schedule). Как правило, оно создается из ключа выполнением над ним неких операций, в том числе перестановок и подстановок.

Типичным способом построения алгоритмов симметричного шифрования является сеть Фейстеля. Алгоритм строит схему шифрования на основе функции F (D, K), где D -- порция данных, размером вдвое меньше блока шифрования, а K -- «ключ прохода» для данного прохода. От функции не требуется обратимость -- обратная ей функция может быть неизвестна. Достоинства сети Фейстеля -- почти полное совпадение дешифровки с шифрованием (единственное отличие -- обратный порядок «ключей прохода» в расписании), что сильно облегчает аппаратную реализацию.

Операция перестановки перемешивает биты сообщения по некоему закону. В аппаратных реализациях она тривиально реализуется как перепутывание проводников. Именно операции перестановки дают возможность достижения «эффекта лавины». Операция перестановки линейна -- f (a) xor f (b) == f (a xor b)

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

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

Рисунок 1. Виды ключей

4. Ассиметричное шифрование Криптографическая система с открытым ключом (или асимметричное шифрование, асимметричный шифр) -- система шифрования и/или электронной цифровой подписи, при которой открытый ключ передаётся по открытому (то есть незащищённому, доступному для наблюдения) каналу и используется для проверки ЭЦП и для шифрования сообщения. Для генерации ЭЦП и для расшифровки сообщения используется секретный ключ. Криптографические системы с открытым ключом в настоящее время широко применяются в различных сетевых протоколах, в частности, в протоколах TLS и его предшественнике SSL (лежащих в основе HTTPS), в SSH.

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

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

Понять идеи и методы криптографии с открытым ключом помогает следующий пример -- хранение паролей в компьютере. Каждый пользователь в сети имеет свой пароль. При входе он указывает имя и вводит секретный пароль. Но если хранить пароль на диске компьютера, то кто-нибудь его может считать (особенно легко это сделать администратору этого компьютера) и получить доступ к секретной информации. Для решения задачи используется односторонняя функция. При создании секретного пароля в компьютере сохраняется не сам пароль, а результат вычисления функции от этого пароля и имени пользователя. Например, пользователь Алиса придумала пароль «Гладиолус». При сохранении этих данных вычисляется результат функции (ГЛАДИОЛУС), пусть результатом будет строка РОМАШКА, которая и будет сохранена в системе. В результате файл паролей примет следующий вид:

Вход в систему теперь выглядит так:

Когда Алиса вводит «секретный» пароль, компьютер проверяет, даёт или нет функция, применяемая к ГЛАДИОЛУС, правильный результат РОМАШКА, хранящийся на диске компьютера. Стоит изменить хотя бы одну букву в имени или в пароле, и результат функции будет совершенно другим. «Секретный» пароль не хранится в компьютере ни в каком виде. Файл паролей может быть теперь просмотрен другими пользователями без потери секретности, так как функция практически необратимая.

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

Сообщение

Выбранное имя

Криптотекст

Кирсанова

Арсеньева

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

Примеры таких криптотекстов:

Криптотекст 1

Криптотекст 2

Криптотекст 3

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

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

Здесь, где -- пространство шифротекстов, а, где -- пространство сообщений.

Функция расшифрования, с помощью которой можно найти исходное сообщение, зная шифротекст:

{: } -- набор шифрования, а {: } -- соответствующий набор для расшифрования. Каждая пара имеет свойство: зная, невозможно решить уравнение, то есть для данного произвольного шифротекста, невозможно найти сообщение. Это значит, что по данному невозможно определить соответствующий ключ расшифрования. является односторонней функцией, а -- лазейкой.

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

Рисунок 2. Ассиметричное шифрование Боб выбирает пару и шлёт ключ шифрования (открытый ключ) Алисе по открытому каналу, а ключ расшифрования (закрытый ключ) защищён и секретен (он не должен передаваться по открытому каналу).

Чтобы послать сообщение Бобу, Алиса применяет функцию шифрования, определённую открытым ключом:, -- полученный шифротекст.

Боб расшифровывает шифротекст, применяя обратное преобразование, однозначно определённое значением.

Научная основа Начало асимметричным шифрам было положено в работе «Новые направления в современной криптографии» Уитфилда Диффи и Мартина Хеллмана, опубликованной в 1976 году. Находясь под влиянием работы Ральфа Меркле о распространении открытого ключа, они предложили метод получения секретных ключей, используя открытый канал. Этот метод экспоненциального обмена ключей, который стал известен как обмен ключами Диффи -- Хеллмана, был первым опубликованным практичным методом для установления разделения секретного ключа между заверенными пользователями канала. В 2002 году Хеллман предложил называть данный алгоритм «Диффи -- Хеллмана -- Меркле», признавая вклад Меркле в изобретение криптографии с открытым ключом. Эта же схема была разработана Малькольмом Вильямсоном в 1970-х, но держалась в секрете до 1997 года. Метод Меркле по распространению открытого ключа был изобретён в 1974 и опубликован в 1978 году, его также называют загадкой Меркле.

В 1977 году учёными Рональдом Ривестом, Ади Шамиром и Леонардом Адлеманом из Массачусетского технологического института был разработан алгоритм шифрования, основанный на проблеме о разложении на множители. Система была названа по первым буквам их фамилий (RSA -- Rivest, Shamir, Adleman). Эта же система была изобретена в 1973 году Клиффордом Коксом, работавшим в центре правительственной связи (GCHQ), но эта работа хранилась лишь во внутренних документах центра, поэтому о её существовании было не известно до 1977 года. RSA стал первым алгоритмом, пригодным и для шифрования, и для цифровой подписи.

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

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

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

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

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

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

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

Пусть есть 3 ключа, распределенные так, как показано в таблице.

криптография шифрование ключ симметричный

Тогда Алиса может зашифровать сообщение ключом, а Эллен расшифровать ключами, Кэрол -- зашифровать ключом, а Дэйв расшифровать ключами,. Если Дэйв зашифрует сообщение ключом, то сообщение сможет прочитать Эллен, если ключом, то его сможет прочитать Франк, если же обоими ключами и, то сообщение прочитает Кэрол. По аналогии действуют и другие участники. Таким образом, если используется одно подмножество ключей для шифрования, то для расшифрования требуются оставшиеся ключи множества. Такую схему можно использовать для n ключей.

Теперь можно посылать сообщения группам агентов, не зная заранее состав группы.

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

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

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

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

Рисунок 3. Криптосистема с открытым ключом и активным перехватчиком В этой модели Ева перехватывает открытый ключ, посланный Бобом Алисе. Затем создает пару ключей и, «маскируется» под Боба, посылая Алисе открытый ключ, который, как думает Алиса, открытый ключ, посланный ей Бобом. Ева перехватывает зашифрованные сообщения от Алисы к Бобу, расшифровывает их с помощью секретного ключа, заново зашифровывает открытым ключом Боба и отправляет сообщение Бобу. Таким образом, никто из участников не догадывается, что есть третье лицо, которое может как просто перехватить сообщение, так и подменить его на ложное сообщение. Это подчеркивает необходимость аутентификации открытых ключей. Для этого обычно используют сертификаты. Распределённое управление ключами в PGP решает возникшую проблему с помощью поручителей.

Ещё одна форма атаки -- вычисление закрытого ключа, зная открытый (рисунок ниже). Криптоаналитик знает алгоритм шифрования, анализируя его, пытается найти. Этот процесс упрощается, если криптоаналитик перехватил несколько криптотекстов, посланных лицом A лицу B.

Рисунок 4. Ассиметричная криптосистема с пассивным перехватчиком.

Большинство криптосистем с открытым ключом основаны на проблеме факторизации больших чисел. К примеру, RSA использует в качестве открытого ключа n произведение двух больших чисел. Сложность взлома такого алгоритма состоит в трудности разложения числа n на множители. Но эту задачу решить реально. И с каждым годом процесс разложения становится все быстрее. Ниже приведены данные разложения на множители с помощью алгоритма «Квадратичное решето».

Также задачу разложения потенциально можно решить с помощью Алгоритма Шора при использовании достаточно мощного квантового компьютера.

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

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

Список литературы Гатчин Ю. А. , Коробейников А. Г. Основы криптографических алгоритмов. Учебное пособие. — СПб.: СПбГИТМО (ТУ), 2002.

Кон П. Универсальная алгебра. — М.: Мир. — 1968

Коробейников А. Г. Математические основы криптографии. Учебное пособие. СПб: СПб ГИТМО (ТУ), 2002.

Шнайер Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си = Applied Cryptography. Protocols, Algorithms and Source Code in C. -- М.: Триумф, 2002.

Методы аутентификации

Аутентификация - выдача определённых прав доступа абоненту на основе имеющегося у него идентификатора. IEEE 802.11 предусматривает два метода аутентификации:

1. Открытая аутентификация (англ. Open Authentication ):

Рабочая станция делает запрос аутентификации, в котором присутствует только MAC-адрес клиента. Точка доступа отвечает либо отказом, либо подтверждением аутентификации. Решение принимается на основе MAC-фильтрации, т.е. по сути это защита на основе ограничения доступа, что не безопасно.

2. Аутентификация с общим ключом (англ. Shared Key Authentication ):

Необходимо настроить статический ключ шифрования алгоритма WEP (англ. Wired Equivalent Privacy ). Клиент делает запрос у точки доступа на аутентификацию, на что получает подтверждение, которое содержит 128 байт случайной информации. Станция шифрует полученные данные алгоритмом WEP (проводится побитовое сложение по модулю 2 данных сообщения с последовательностью ключа) и отправляет зашифрованный текст вместе с запросом на ассоциацию. Точка доступа расшифровывает текст и сравнивает с исходными данными. В случае совпадения отсылается подтверждение ассоциации, и клиент считается подключенным к сети.
Схема аутентификации с общим ключом уязвима к атакам «Man in the middle». Алгоритм шифрования WEP – это простой XOR ключевой последовательности с полезной информацией, следовательно, прослушав трафик между станцией и точкой доступа, можно восстановить часть ключа.
IEEE начал разработки нового стандарта IEEE 802.11i, но из-за трудностей утверждения, организация WECA (англ. Wi-Fi Alliance ) совместно с IEEE анонсировали стандарт WPA (англ. Wi-Fi Protected Access ). В WPA используется TKIP (англ.Temporal Key Integrity Protocol , протокол проверки целостности ключа), который использует усовершенствованный способ управления ключами и покадровое изменение ключа.

WPA также использует два способа аутентификации:

1. Аутентификация с помощью предустановленного ключа WPA-PSK (англ. Pre-Shared Key ) (Enterprise Autentification);

2. Аутентификация с помощью RADIUS-сервера (англ. Remote Access Dial-in User Service )

Шифрова́ние - способ преобразования открытой информации в закрытую и обратно. Применяется для хранения важной информации в ненадёжных источниках или передачи её по незащищённым каналам связи. Шифрование подразделяется на процесс зашифровывания и расшифровывания.

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

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



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

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

Существуют следующие криптографические примитивы:

§ Бесключевые

1. Хеш-функции

2. Односторонние перестановки

3. Генераторы псевдослучайных чисел

§ Симметричные схемы

1. Шифры (блочные,потоковые)

2. Хеш-функции

4. Генераторы псевдослучайных чисел

5. Примитивы идентификации

§ Асимметричные схемы

3. Примитивы идентификации

Шифрование данных на диске
Система Zserver - средство защиты конфиденциальной информации, хранимой и обрабатываемой на корпоративных серверах, методом шифрования данных на диске. Zserver работает по принципу «прозрачного» шифрования разделов жестких дисков. Система автоматически, в online режиме, осуществляет шифрование информации при записи на диск и расшифровывает при чтении с него. Это обеспечивает хранение данных на диске в зашифрованном виде и невозможность использования их без ключа шифрования даже при изъятии сервера или носителя. Система Zserver обеспечивает шифрование файлов и папок на диске, а также всей служебной информации - таблицы размещения файлов и т. д. Таким образом, система Zserver не только надежно защищает конфиденциальные данные, но и скрывает сам факт их наличия от посторонних. Информация на защищенных дисках хранится в зашифрованном виде и становится доступна, только когда администратор сети предоставит пользователю соответствующие полномочия. Права доступа к защищенным дискам устанавливаются средствами операционной системы. Шифрование файлов и папок на диске осуществляется программным драйвером. Ключи шифрования данных на диске вводятся при загрузке сервера со смарт-карты, защищенной PIN-кодом. Не зная PIN-кода, воспользоваться смарт-картой нельзя. Три попытки неправильного ввода PIN-кода заблокируют карту. Смарт-карта необходима только при подключении защищенных носителей, и в процессе работы не требуется. При перезагрузке сервера без смарт-карты, защищенные диски не будут доступны. Система Zserver предоставляет возможность удаленного ввода ключей шифрования и администрирования системы с любой рабочей станции локальной сети, или через Интернет. В настоящее время разработаны системы Zserver, которые работают под управлением следующих операционных систем: Windows 2000/XP/2003/2008 (32- и 64-разрядные); Linux с ядром 2.6.x.

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

Криптография предполагает наличие трех компонентов: данных, ключа и криптографического преобразования. При шифровании исходными данными будет сообщение, а результирующими - шифровка. При расшифрований они меняются местами. Считается, что криптографическое преобразование известно всем, но, не зная ключа, с помощью которого пользователь закрыл смысл сообщения от любопытных глаз, требуется потратить невообразимо много усилий на восстановление текста сообщения. (Следует еще раз повторить, что нет абсолютно устойчивого от вскрытия шифрования. Качество шифра определяется лишь деньгами, которые нужно выложить за его вскрытие от $10 и до $1000000.) Такое требование удовлетворяется рядом современных криптографических систем, например, созданных по "Стандарту шифрования данных Национального бюро стандартов США" DES и ГОСТ 28147-89. Так как ряд данных критичен к некоторым их искажениям, которые нельзя обнаружить из контекста, то обычно используются лишь такие способы шифрования, которые чувствительны к искажению любого символа. Они гарантируют не только высокую секретность, но и эффективное обнаружение любых искажений или ошибок.

Основные понятия криптографии

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

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

Проблема защиты информации волнует людей несколько столетий.

По свидетельству Геродота, уже в V в. до н. э. использовалось преобразование информации методом кодирования.

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

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

Шифры появились в глубокой древности в виде криптограмм (по-гречески - тайнопись). Порой священные иудейские тексты шифровались методом замены. Вместо первой буквы алфавита записывалась последняя буква, вместо второй- предпоследняя и т. д. Этот древний шифр назывался атбаш. Известен факт шифрования переписки Юлия Цезаря (100-44 до н. э.) с Цицероном (106-43 до н. э.).

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

В Древней Греции (II в. до н.э.) был известен шифр, который создавался с помощью квадрата Полибия. Таблица для шифрования представляла собой квадрат с пятью столбцами и пятью строками, которые нумеровались цифрами от 1 до 5. В каждую клетку такой таблицы записывалась одна буква. В результате каждой букве соответствовала пара цифр, и шифрование сводилось к замене буквы парой цифр.

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

Зашифруем с помощью квадрата Полибия слово КРИПТОГРАФИЯ:

26 36 24 35 42 34 14 36 11 44 24 63

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

В настоящее время проблемами защиты информации занимается криптология (kryptos - тайный, logos - наука). Криптология разделяется на два направления - криптографию и криптоанализ. Цели этих двух направлений криптологии прямо противоположны.

Криптография - наука о защите информации от несанкционированного получения ее посторонними лицами. Сфера интересов криптографии - разработка и исследование методов шифрования информации.

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

Сфера интересов криптоанализа противоположная - разработка и исследование методов дешифрования (раскрытия) шифрограммы даже без знания секретного ключа.

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

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

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

Существует несколько классификаций шифров.

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

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

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

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

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

Алгоритмы шифрования с открытым ключом используют так называемые необратимые или односторонние функции. Эти функции обладают следующим свойством: при заданном значении аргумента х относительно просто вычислить значение функции f(x). Однако если известно значение Функции у =f(x), то нет простого пути для вычисления значения аргумента х.

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

1. Разложение больших чисел на простые множители (алгоритм RSA, авторы - Райвест, Шамир и Адлеман - Rivest, Shamir, Adleman).

2. Вычисление логарифма или возведение в степень (алгоритм DH, авторы - Диффи и Хелман).

3. Вычисление корней алгебраических уравнений.

Рассмотрим простейший пример «необратимых» функций. Легко в уме найти произведение двух простых чисел 11 и 13. Но попробуйте быстро в уме найти два простых числа, произведение которых равно 437. Подобные трудности возникают и при использовании вычислительной техники для отыскания двух простых сомножителей для очень большого числа: найти сомножители можно, но потребуется много времени.

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

Заметим, что по операцию разложения простого числа на множители порой называют факторизацией.

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

В 40-х годах XX в. американский инженер и математик Клод Шеннон предложил разрабатывать шифр таким образом, чтобы его раскрытие было эквивалентно решению сложной математической задачи. Причем, сложность задачи должна быть такой, чтобы объем необходимых вычислений превосходил бы возможности современных ЭВМ.

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

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

В США для передачи секретных сообщений наибольшее распространение получил стандарт DES (Data Encryption Standard).

Стандарт DES является блочным шифром. Он шифрует данные блоками по 64 бита. При шифровании используется ключ длиной 56 битов. Данный стандарт подвергался многократному детальному криптоанализу. Для его взлома были разработаны специализированные ЭВМ стоимостью, достигавшей 20 миллионов долларов. Были разработаны способы силового взлома стандарта DES на основании распределенных вычислений с использованием множества ЭВМ. Для увеличения криптостойкости впоследствии был разработан способ DES-шифрования с использованием трех ключей - так называемый «тройной DES».

Можно утверждать, что на протяжении многих лет дешифрованию криптограмм помогает частотный анализ появления отдельных символов и их сочетаний. Вероятности появления отдельных букв в тексте сильно различаются. Для русского языка, например, буква «о» появляется в 45 раз чаще буквы «ф» и в 30 раз чаще буквы «э». Анализируя достаточно длинный текст, зашифрованный методом замены, можно по частотам появления символов произвести обратную замену и восстановить исходный открытый текст. В таблице приведены относительные частоты появления русских букв.

Буква Частота Буква Частота Буква Частота Буква Частота
о 0.09 в 0.038 з 0.016 ж 0.007
е, ё 0.072 л 0.035 ы 0.016 ш 0.006
а 0.062 к 0.028 б 0.014 ю 0.006
и 0.062 м 0.026 ь, ъ 0.014 ц 0.004
н 0.053 д 0.025 г 0.013 щ 0.003
т 0.053 п 0.023 ч 0.012 э 0.003
с 0.045 у 0.021 и 0.01 ф 0.002
р 0.04 я 0.018 х 0.009

Относительная частота появления пробела или знака препинания в русском языке составляет 0,174. Приведенные цифры означают следующее: среди 1000 букв текста в среднем будет 174 пробелов и знаков препинания, 90 букв «о», 72 буквы «е» и т. д.

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

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

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

Рассмотрим еще одну классификацию шифров.

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

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

Следующая простейшая «шифровка» получена методом перестановки двух соседних букв РКПИОТРГФАЯИ.

В этом «секретном» сообщении легко узнать слово КРИПТОГРАФИЯ.

Более сложный алгоритм перестановок сводится к разбиению сообщения на группы по три буквы. В каждой группе первую букву ставят на третье место, а вторую и третью буквы смещают на одну позицию влево. В результате получится криптограмма: РИКТОПРАГИЯФ.

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

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

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

В аддитивном методе буквы алфавита вначале заменяются числами, к которым затем добавляются числа секретной псевдослучайной числовой последовательности (гаммы). Состав гаммы меняется в зависимости от использованного ключа. Обычно для шифрования используется логическая операция «Исключающее ИЛИ». При дешифровании та же гамма накладывается на зашифрованные данные. Метод гаммирования широко используется в военных криптографических системах. Шифры, получаемые аддитивным методом, порой называют поточными шифрами.

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

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

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

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


Шифрование сообщений различными методами

Вместо хвоста - нога, А на ноге - рога.

Л. Дербенеёв.

Рассмотрим, как зашифровать сообщение методом замены (другими словами методом подстановки). Вначале используем шифр Цезаря. Предположим, что требуется зашифровать сообщение «ГДЕ АББА».

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

В результате проведенного преобразования получится шифрограмма:

ЁЖЗ ГДДГ.

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

Замена может осуществляться на символы другого алфавита и с более сложным ключом (алгоритмом замены). Для простоты опять приведем лишь начальные части алфавитов. Линии показывают порядок замены букв русского алфавита на буквы латинского алфавита. Зашифруем фразу «ГДЕ АББА»

В результате такого шифрования получится криптограмма:

Рациональнее использованный в последнем случае ключ записать в виде таблицы:

А Б В Г Д Е
Е F А С D В

При шифровании буквы могут быть заменены числами (в простейшем случае порядковыми номерами букв в алфавите). Тогда наша шифровка будет выглядеть так:

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

Более высокую криптостойкость по сравнению с шифром Цезаря имеют аффинные криптосистемы.

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

Аффинные криптосистемы задаются при помощи двух чисел а и b. Для русского алфавита эти числа выбираются из условия а ≥ 0, b ≤ 32. Максимальное число символов в используемом алфавите обозначаются символом γ. Причем числа а и γ = 33 должны быть взаимно простыми. Если это условие не будет выполняться, то две разные буквы могут отображаться (превращаться) в одну. Каждый код буквы открытого текста μ заменяется кодом буквы криптограммы по следующему правилу. Вначале вычисляется число α= a∙μ + b, a затем выполняется операция целочисленного деления числа αна число γ = 33, то есть α= β(mod (γ)). В качестве кода символа Шифрограммы используется остаток от целочисленного деления. Для определенности выберем такие числа: а = 5 и b =3. Фрагмент процедуры, иллюстрирующей порядок шифрования, приведен в таблице.

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

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

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

Ниже приведен фрагмент ключа многоалфавитной замены:

А Б В Г Д Е

С помощью многоалфавитного шифра сообщение «ГДЕ АББА» можно зашифровать несколькими способами:

19-83-32-48-4-7-12,

10-99-15-12-4-14-12 и т. д.

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

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

Каждая строка в этой таблице соответствует одному шифру простой замены (типа шифра Цезаря). При шифровании открытое сообщение записывают в строчку, а под ним помещают ключ. Если ключ оказывается короче сообщения, то ключ циклически повторяют. Шифровку получают, находя символ в матрице букв шифрограммы. Символ шифрограммы находится на пересечении столбца с буквой открытого текста и строки с соответствующей буквой ключа.

Предположим, что нужно зашифровать сообщение «ГДЕ АББА». В качестве ключа выберем слово «ДЕВА». В результате получим:

ЯЯГ АЭЬЮ.

Система Плейфейра создает многоалфавитные шифры. Рассмотрим основную идею этой системы.

Шифрование производится с помощью квадрата (или прямоугольника), в который занесены буквы соответствующего национального алфавита. Буквы записываются в квадрат или прямоугольник в произвольном порядке. Этот порядок записи букв и конфигурация таблицы являются секретным ключом. Для определенности возьмем прямоугольную таблицу размером 8x4, в качестве букв алфавита - кириллицу, а буквы расположим в алфавитном порядке. Так как число русских букв 33, а число клеток - 32, исключим из таблицы букву Ё.

Предположим, что требуется зашифровать слово КРИПТОГРАФИЯ. Рассмотрим правила шифрования.

1. Открытый текст делится на блоки по две буквы. Буквы в одном блоке не должны быть одинаковыми. Произведем разделение исходного слова на блоки по две буквы КР-ИП-ТО-ГР-АФ-ИЯ.

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

3. Если буквы открытого текста попадают в одну строку, то шифрограмма получается путем циклического сдвига вправо на одну клетку. Например, блок ИП будет преобразован в ЙИ. Еще один пример к этому правилу. Если, предположим, требуется преобразовать блок КН, то получится ЛО.

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

Блок ЖЦ будет преобразован в символы ОЮ, а блок ТЪ в символы ЪВ.

В соответствии с описанными правилами слово КРИПТОГРАФИЯ будет преобразовано в криптограмму ИТЙИЦКАУДРПШ.

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

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

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

Первоначально открытый текст методом замены следует преобразовать в совокупность чисел. Предположим, что шифруется текст, написанный с использованием 26-ти латинских букв. Выберем следующий алгоритм замены букв на числа: латинские буквы А, В, С, D, ..., Z будем заменять соответственно числами 1, 2, 3, 4,..., 26. Другими словами: пронумеруем буквы в порядке их расположения в алфавите, и при замене будем использовать их порядковые номера. В данном случае выбран такой алгоритм замены, но понятно, что он может быть любым.

Предположим, что нужно зашифровать немецкое слово ZEIT. Заменим буквы в соответствии с их порядковыми номерами в алфавите четырьмя числами: 26 - 5 - 9 - 20.

Далее следует выбрать некоторое число d > 2. Это число показывает, порядок разбиения открытого текста на группы символов (определяет, сколько букв будет в каждой группе). С математической точки зрения число d показывает, сколько строк должно быть в векторах-столбцах. Примем d = 2. Это означает, что числа 26 - 5 - 9 - 20 нужно разбить на группы по два числа в каждой группе и записать их в виде векторов-столбцов:

Рассмотрим примеры шифрования сообщения методом перестановок.

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

Для пояснения идеи возьмем квадратную таблицу (матрицу) 8x8. Будем записывать текст последовательно по строкам сверху вниз, а считывать по столбцам последовательно слева направо.

Предположим, что требуется зашифровать сообщение:

НА ПЕРВОМ КУРСЕ ТЯЖЕЛО УЧИТЬСЯ ТОЛЬКО ПЕРВЫЕ ЧЕТЫРЕ ГОДА ДЕКАНАТ.

н А _ П Е Р в О
м к У Р С Е _
т Я ж Е Л О _ У
ч И т Ь С Я _ т
О Л ь К О _ П Е
р в ы Е _ Ч Е Т
ы р Е _ г О д А
_ д Е К А н А Т

В таблице символом «_» обозначен пробел.

В результате преобразований получится шифровка

НМТЧОРЫ_А_ЯИЛВРД_КЖТЬЫЕЕПУЕЬКЕ_КЕРЛСО_ГАРСОЯ_ЧОНВЕ_

ПЕДАО_УТЕТАТ.

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

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

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

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

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

Рассмотрим пример дешифрации криптограммы, полученной методом перестановок. Известно, что при шифровании использованы матрица 6x6, ключ записи 352146 и ключ считывания 425316. Текст шифрограммы таков:

ДКАГЧЬОВА_РУААКОЕБЗЕРЕ_ДСОХТЕСЕ_Т_ЛУ

Разобьем шифрограмму на группы по 6 символов:

ДКАГЧЬ ОВА_РУ ААКОЕБ ЗЕРЕ_Д СОХТЕС Е_Т_ЛУ

Затем первую группу символов запишем в столбец 4 матрицы 6x6, так как первая цифра ключа считывания - 4 (см. рисунок а). Вторую группу из 6 символов запишем в столбец 2 (см. рисунок б), третью группу символов - в столбец 5 (см. рисунок в), пропустив две фазы заполнения матрицы, изобразим полностью заполненную матрицу (см. рисунок г).

Считывание открытого текста в соответствии с ключом записи начинаем со строки 3, затем используем строку 5 и т.д. В результате дешифрования получаем открытый текст:

ХАРАКТЕР ЧЕЛОВЕКА СОЗДАЕТ ЕГО СУДЬБУ

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


Д
К
А
Г
ч
ь
О д
В к
А А
Г
Р ч
У ь

О Д А
В К А
А А К
Г О
Р ч Е
У ь Б
С О д А Е
О В Е к А
X А Р А К Т
т Е Г О
Е Р ч Е Л
С У д ь Б У

Для повышения криптостойкости методы замены и перестановки нередко используют в сочетании с аддитивным методом.

©2015-2019 сайт
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-11

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

Знаете ли вы?
Еще во времена Римской империи, шифрование использовалось Юлием Цезарем для того, чтобы сделать письма и сообщения нечитаемыми для врага. Это играло важную роль как военная тактика, особенно во время войн.

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

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

Типы шифрования

Симметричное шифрование

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

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

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

Ограничения

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

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

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

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

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

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

Diffie-Hellman и RSA являются примерами алгоритмов, использующих шифрование с открытым ключом.

Ограничения

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

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

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

Таким образом, когда Саша получает это сообщение, его заставили поверить, что оно пришло от Наташи, и продолжает не подозревать о нечестной игре.

Хеширование

Методика хеширования использует алгоритм, известный как хэш-функция для генерации специальной строки из приведенных данных, известных как хэш. Этот хэш имеет следующие свойства:

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

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

Message Digest 5 (MD5) и Secure Hashing Algorithm (SHA) являются двумя широко используемыми алгоритмами хеширования.

Ограничения

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

Сочетание методов шифрования

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

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

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

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

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



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows