Опубликован: 10.10.2007 | Уровень: специалист | Доступ: платный
Лекция 14:

Информационная безопасность. Стандарты и алгоритмы шифрования

< Лекция 13 || Лекция 14: 1234 || Лекция 15 >
Аннотация: В данной лекции рассматривается информационная безопасность, а также стандарты и алгоритмы шифрования. Приводятся основные принципы применения шифрования и рассмотрены основные алгоритмы шифрования

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

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

Известно, что еще Цезарь (100-44 годы до нашей эры) при переписке использовал шифр, получивший его имя. В 1518 году аббат Джоанес Тритемиус написал первую книгу по криптографии, где впервые были описаны многоалфавитные подстановочные шифры. В 19-ом веке голландец Киркхоф сформулировал фундаментальное требование, предъявляемое к криптосистемам и сегодня:

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

Лишь в 1918 году во время первой мировой войны в Германии была применена шифровальная система ADFGVX. Позднее в 1933-45 годах в Германии была разработана и использовалась первая шифровальная машина Enigma (на этом принципе работает система crypt в UNIX). Мощное развитие криптография получила в период второй мировой войны. С шифровальной машиной Enigma связан и первый успех в области вскрытия сложных шифров.

Основы современной криптографии были заложены в работе Клода Шеннона "Теория связи в секретных системах" (1949).

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

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

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

В симметричных криптосистемах могут применяться одно- или многоалфавитные подстановки (например, одно-алфавитная подстановка Цезаря), при этом производится замена символов исходного текста на другие с использованием достаточно сложных алгоритмов. Многоалфавитные подстановки несравненно более надежны. К числу простых методов шифрования относится способ перестановок символов исходного текста (этот метод эффективен только лишь при достаточно большой длине исходного текста). Множество перестановок символов для текста из N символов равно N!, что до какой-то степени гарантирует надежность процедуры. Несколько большую надежность предлагает метод гаммирования, когда на исходный текст накладывается псевдослучайная последовательность бит, генерируемая на основе ключа шифрования, например, с использованием операции исключающего ИЛИ. Обратное преобразование (дешифрование) выполняется генерацией точно такой же псевдослучайной последовательности и наложением ее на зашифрованной текст. Гаммирование уязвимо для случая, когда злоумышленнику становится известен фрагмент исходного текста. В этих обстоятельствах он без труда восстановит фрагмент псевдослучайной последовательности, а по нему и всю последовательность. Так, если достаточно большое число сообщений начинается со слов "Секретно", а в конце ставится дата сообщения, расшифровка становится вопросом времени и терпения.

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

Таблица 14.1.
Исходный текст 9 5 18 1 3 19 20 3 21 11 20 6
Используемый ключ 23 5 13 14 10 17 5 1 13 9 27 11
Зашифрованный текст 32 10 31 15 13 36 25 4 34 20 47 17

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

Примером шифрования с использованием секретного ключа является метод Видженера (Vigenere (16-й век); http://www.massconfusion.com/crypto/lecture/method6.shtml), относящийся к числу много алфавитных подстановок. Здесь берется небольшое целое число m и алфавит после каждой символьной подстановки сдвигается на m символов. Например, для m=4

  1. abcdefghijklmnopqrstuvwxyz

    g hijklmnopqrstuvwxyzabcdef

  2. o pqrstuvwxyzabcdefghijklmn
  3. l mnopqrstuvwxyzabcdefghijk
  4. f ghijklmnopqrstuvwxyzabcde

Ключ = golf (смотри левую вертикальную колонку символов).

Исходный текст разбивается на группы по m символов (в рассмотренном случае по 4). Для каждой группы первый символ заменяется соответствующей буквой первого алфавита, вторая — из второго и т.д. Например, фраза "get me out of here please" будет преобразована следующим образом:

getm eout ofhe repl ease

mser kcfy utsj xsaq kohj.

Наибольшее распространение в последнее время получило блочное шифрование, где последовательность процедур воздействует на блок входного текста. Одним из наиболее известных таких методов стал DES (Data Encryption Standard), который работает с блоками данных по 64 байта (1998 год). Существует четыре режима работы:

ECB electronic code book.
CBC cipher block chaining
CFB cipher feedback
OFB output feedback.

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

Шифрование и дешифрование базируются на использовании ключей. Математически это можно выразить следующим образом:

EK(M) = C
DK(c) = M, где K — ключ, M — исходный текст; C — зашифрованный текст
< Лекция 13 || Лекция 14: 1234 || Лекция 15 >
Наталья Шульга
Наталья Шульга
Здравствуйте. Актуален ли данный курс?
Нияз Сабиров
Нияз Сабиров
Стоимость "обучения"
Геннадий Шестаков
Геннадий Шестаков
Беларусь, Орша
Александр Стариков
Александр Стариков
Россия, Уфа