Криптографические системы с закрытым ключом
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
Вопросам защиты информации в настоящее время уделяется большое внимание, и это не случайно. Телекоммуникационные системы, активно развивающиеся в последнее время, являются артериями современных глобальных информационных систем. Информация, циркулирующая в таких системах, представляет существенную ценность и поэтому является уязвимой к различного рода злоупотреблениям. Поэтому именно в последние десятилетия стала столь актуальной проблема защиты информации.
В настоящее время решением этой проблемы занимаются квалифицированные специалисты по комплексной защите информации. Среди разнообразных средств защиты информации криптографические методы занимают особое место. С одной стороны, это связано с тем, что криптографические способы защиты сообщений известны людям и успешно применяются ими уже не одно тысячелетие. С другой стороны, новые достижения криптографии позволяют решать не только классическую задачу защиты данных от несанкционированного доступа, но и множество других задач, недоступных для средств защиты информации других типов. Это и задача аутентификации пользователей информационных систем, и проблема формирования цифровой подписи к электронным документам, и возможности использования так называемых электронных денег.
Долгое время развитие криптографической теории шло не слишком быстрыми темпами, однако в ХХ столетии, благодаря достигнутым в математике результатам, произошел резкий скачок в области криптографии. Последние десятилетия накопление практического опыта использования различных алгоритмов и протоколов происходит настолько быстро, что книга, посвященная криптографическим методам защиты информации, не сможет долгое время претендовать на полноту изложения.
1 ПОНЯТИЕ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ
Под комплексной системой информационной безопасности (системой защиты информации) понимается организованная совокупность специальных органов, служб, средств, методов и мероприятий, снижающих уязвимость информации и препятствующих несанкционированному доступу к информации, ее разглашению или утечке.
Как и любая система, система информационной безопасности имеет свои цели, задачи, методы и средства деятельности.
Словосочетание «информационная безопасность» в разных контекстах может иметь различный смысл. На практике, в контексте хранения, обработки и передачи информации, термин «информационная безопасность» используется в более узком смысле, и под ним понимается защищенность информации и поддерживающей инфраструктуры от случайных или преднамеренных воздействий естественного или искусственного характера, которые могут нанести неприемлемый ущерб субъектам информационных отношений, в том числе владельцам и пользователям информации и поддерживающей инфраструктуры.
Информационная безопасность – механизм защиты, обеспечивающий:
- целостность: достоверность и полноту информации и методов ее обработки;
- доступность: доступ к информации и связанным с ней активам авторизованных пользователей по мере необходимости;
- конфиденциальность: доступ к информации только авторизованных пользователей.
Именно в таком порядке строится комплексная система информационной безопасности. Как ни странно, но конфиденциальность информации зачастую менее важна, нежели сохранение ее целостности и доступности.
Обеспечение «информационной безопасности» – не одноразовый акт. Это непрерывный процесс, заключающийся в обосновании и реализации наиболее рациональных методов, способов и путей совершенствования и развития системы защиты, непрерывном контроле ее состояния, выявлении ее узких и слабых мест и противоправных действий.
Безопасность информации может быть обеспечена лишь при комплексном использовании всего арсенала имеющихся средств защиты на всех этапах обработки информации.
Наибольший эффект достигается тогда, когда все используемые средства, методы и меры объединяются в единый целостный механизм – комплексную систему защиты информации (КСЗИ).
На практике выделяют следующие направления информационной безопасности:
- правовая защита – это специальные законы, другие нормативные акты, правила, процедуры и мероприятия, обеспечивающие защиту информации на правовой основе;
- организационная защита – это регламентация деятельности и взаимоотношений исполнителей на нормативно-правовой основе исключающая или ослабляющая нанесение какого-либо ущерба исполнителем;
- инженерно-техническая защита – это использование различных технических средств, препятствующих нанесению ущерба коммерческой деятельности.
2 ОСНОВНЫЕ ПОНЯТИЯ КРИПТОГРАФИИ
2.1 Предмет и задачи криптографии
Проблемой защиты информации при ее передаче между абонентами люди занимаются на протяжении всей своей истории. Человечеством изобретено множество способов, позволяющих в той или иной мере скрыть смысл передаваемых сообщений от противника. На практике выработалось несколько групп методов защиты секретных посланий. Назовем некоторые из них, применяющиеся так же давно, как и криптографические.
Первым способом является физическая защита материального носителя информации от противника. В качестве носителя данных может выступать бумага, компьютерный носитель (DVD-диск, флэш-карта, магнитный диск, жесткий диск компьютера и т.д.). Для реализации этого способа необходим надежный канал связи, недоступный для перехвата. В различное время для этого использовались почтовые голуби, специальные курьеры, радиопередачи на секретной частоте. Методы физической защиты информации используются и в современных автоматизированных системах обработки данных. Так, например, комплексные системы защиты информации невозможны без систем ограждения и физической изоляции, а также без охранных систем.
Второй способ защиты информации, известный с давних времен – стеганографическая защита информации. Этот способ защиты основан на попытке скрыть от противника сам факт наличия интересующей его информации. При стеганографическом методе защиты от противника прячут физический носитель данных или маскируют секретные сообщения среди открытой, несекретной информации. К таким способам относят, например, «запрятывание» микрофотографии с тайной информацией в несекретном месте: под маркой на почтовом конверте, под обложкой книги и т.д. К стеганографии относятся также такие известные приемы, как «запрятывание» секретного послания в корешках книг, в пуговицах, в каблуках, в пломбе зуба и т.д. Некоторые из методов были разработаны еще в древние времена. Так, например, греки нашли необычное решение: они брили наголо голову раба и выцарапывали на ней свое послание. Когда волосы на голове раба отрастали вновь, его посылали доставить сообщение. Получатель брил голову раба и прочитывал текст. К сожалению, на отправку сообщения и получение ответа таким способом уходило несколько недель.
В более поздние времена в этом направлении наибольшее распространение получили химические (симпатические) чернила. Текст, написанный этими чернилами между строк несекретного сообщения, невидим. Он появлялся только в результате применения определенной технологии проявления.
В условиях повсеместного использования информационных технологий возникают новые стеганографические приемы. Например, известен способ, при котором секретное сообщение прячется в файле графического изображения. При использовании этого способа младший значащий бит в описании каждого пикселя изображения заменяется битом сообщения. Разделив все исходное сообщение на биты и разместив эти биты по всему графическому файлу, мы пересылаем изображение с замаскированным сообщением получателю. Графическое изображение при этом меняется не слишком сильно, особенно если использовался режим с большим количеством цветов, например, с глубиной цвета 24 бита на пиксел. Это связано с тем, что человеческий глаз не может различать такое большое количество цветов. В результате в картинке размером всего 32 на 32 точки можно вместить тайное сообщение длиной 1024 бита или 128 байт.
Третий способ защиты информации – наиболее надежный и распространенный в наши дни – криптографический. Этот метод защиты информации предполагает преобразование информации для сокрытия ее смысла от противника. Криптография в переводе с греческого означает «тайнопись». В настоящее время криптография занимается поиском и исследованием математических методов преобразования информации.
Наряду с криптографией развивается и совершенствуется криптоанализ – наука о преодолении криптографической защиты информации. Криптоаналитики исследуют возможности расшифровывания информации без знания ключей. Успешно проведенный криптоанализ позволяет получить ключ шифрования, или открытый текст, или то и другое вместе. Иногда криптографию и криптоанализ объединяют в одну науку – криптологию (kryptos - тайный, logos - наука), занимающуюся вопросами обратимого преобразования информации с целью защиты от несанкционированного доступа, оценкой надежности систем шифрования и анализом стойкости шифров.
В настоящее время криптография прочно вошла в нашу жизнь. Перечислим лишь некоторые сферы применения криптографии в современном информатизированном обществе:
- шифрование данных при передаче по открытым каналам связи (например, при совершении покупки в Интернете сведения о сделке, такие как адрес, телефон, номер кредитной карты, обычно зашифровываются в целях безопасности);
- обслуживание банковских пластиковых карт;
- хранение и обработка паролей пользователей в сети;
- сдача бухгалтерских и иных отчетов через удаленные каналы связи;
- банковское обслуживание предприятий через локальную или глобальную сеть;
- безопасное от несанкционированного доступа хранение данных на жестком диске компьютера (в операционной системе Windows даже имеется специальный термин – шифрованная файловая система (EFS)).
До начала ХХ века криптографические методы применялись лишь для шифрования данных с целью защиты от несанкционированного доступа. В двадцатом веке в связи с развитием техники передачи информации на дальние расстояния интерес к криптографии значительно возрос. Благодаря созданию новых криптографических методов расширился и спектр задач криптографии. В настоящее время считается, что криптография предназначена решать следующие задачи:
- собственно шифрование данных с целью защиты от несанкционированного доступа;
- проверка подлинности сообщений: получатель сообщения может проверить его источник;
- проверка целостности передаваемых данных: получатель может проверить, не было ли сообщение изменено или подменено в процессе пересылки;
- обеспечение невозможности отказа, то есть невозможности как для получателя, так и для отправителя отказаться от факта передачи.
Системы шифрования варьируются от самых элементарных до очень сложных. И если первые не требуют никаких математических познаний, то в последних используются понятия, знакомые лишь специалистам в некоторых областях математики и информатики. При использовании криптографических методов должны учитываться затраты на защиту информации и на реализацию методов нападения. На практике стремятся к достижению компромисса между стоимостью шифрования и требуемой степенью обеспечения безопасности.
В рамках данного учебного пособия рассматриваются как простейшие, «докомпьютерные», шифры, известные человечеству на протяжении веков, так и современные системы шифрования, разработанные только в XXI веке.
2.2 Основные определения
Шифр – совокупность заранее оговоренных способов преобразования исходного секретного сообщения с целью его защиты.
Исходные сообщения обычно называют открытыми текстами. В иностранной литературе для открытого текста используют термин plaintext.
Символ – это любой знак, в том числе буква, цифра или знак препинания.
Алфавит – конечное множество используемых для кодирования информации символов. Например, русский алфавит содержит 33 буквы от А до Я . Однако этих тридцати трех знаков обычно бывает недостаточно для записи сообщений, поэтому их дополняют символом пробела, точкой, запятой и другими знаками. Алфавит арабских цифр – это символы 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 . Этот алфавит содержит 10 знаков и с его помощью можно записать любое натуральное число. Любое сообщение может быть записано также с помощью двоичного алфавита , то есть с использованием только нулей и единиц.
Сообщение, полученное после преобразования с использованием любого шифра, называется шифрованным сообщением (закрытым текстом, криптограммой). В иностранной литературе для закрытого текста используют термин ciphertext.
Преобразование открытого текста в криптограмму называется зашифрованием. Обратное действие называется расшифрованием. В англоязычной литературе терминам "зашифрование/ расшифрование" соответствуют термины "enciphering/deciphering".
Ключ – информация, необходимая для шифрования и расшифрования сообщений.
С точки зрения русского языка термины "расшифрование" и "дешифрование" являются синонимами. Однако в работах по криптографии последних десятилетий часто эти слова различают. Будем считать, что термины "расшифрование" и "дешифрование" не являются синонимами. Примем, что расшифрованием занимается легальный получатель сообщения (тот, кто знает ключ), а человек, которому послание не предназначено, пытаясь понять его смысл, занимается дешифрованием.
Система шифрования, или шифрсистема, – это любая система, которую можно использовать для обратимого изменения текста сообщения с целью сделать его непонятным для всех, кроме тех, кому оно предназначено.
Криптостойкостью называется характеристика шифра, определяющая его стойкость к дешифрованию без знания ключа (т.е. способность противостоять криптоанализу).
Таким образом, с учетом всех сделанных определений можно дать более точное определение науке «криптография». Криптография изучает построение и использование систем шифрования, в том числе их стойкость, слабости и степень уязвимости относительно различных методов вскрытия.
Все методы преобразования информации с целью защиты от несанкционированного доступа делятся на две большие группы: методы шифрования с закрытым ключом и методы шифрования с открытым ключом.
Шифрование с закрытым ключом (шифрование с секретным ключом или симметричное шифрование) используется человеком уже довольно долгое время. Для шифрования и расшифрования данных в этих методах используется один и тот же ключ, который обе стороны стараются хранить в секрете от противника. Шифрование с открытым ключом (асимметричное шифрование) стало использоваться для криптографического закрытия информации лишь во второй половине ХХ века. В эту группу относятся методы шифрования, в которых для шифрования и расшифрования данных используются два разных ключа. При этом один из ключей (открытый ключ) может передаваться по открытому (незащищенному) каналу связи. Алгоритмам преобразования информации с открытым ключом посвящены лекции 10-14 учебного пособия.
Электронной (цифровой) подписью называется обычно присоединяемый к сообщению блок данных, полученный с использованием криптографического преобразования. Электронная подпись позволяет при получении текста другим пользователем проверить авторство и подлинность сообщения.
Криптографическая система защиты информации – система защиты информации, в которой используются криптографические методы для шифрования данных.
2.3 Требования к криптографическим системам защиты информации
Для разрабатываемых в настоящее время криптографических систем защиты информации сформулированы следующие общепринятые требования:
- зашифрованное сообщение должно поддаваться чтению только при наличии ключа;
- знание алгоритма шифрования не должно влиять на надежность защиты;
- любой ключ из множества возможных должен обеспечивать надежную защиту информации;
- алгоритм шифрования должен допускать как программную, так и аппаратную реализацию.
Не для всех алгоритмов шифрования перечисленные требования выполняются полностью. В частности, требование отсутствия слабых ключей (ключей, которые позволяют злоумышленнику легче вскрыть зашифрованное сообщение) не выполняется для некоторых «стары» блочных шифров. Однако все вновь разрабатываемые системы шифрования удовлетворяют перечисленным требованиям.
3 ПРОСТЕЙШИЕ МЕТОДЫ ШИФРОВАНИЯ С ЗАКРЫТЫМ КЛЮЧОМ
3.1 Методы перестановки
При использовании шифров перестановки входной по
Простейшим примером перестановки является перестановка с фиксированным периодом d. В этом методе сообщение делится на блоки по d символов и в каждом блоке производится одна и та же перестановка. Правило, по которому производится перестановка, является ключом и может быть задано некоторой перестановкой первых d натуральных чисел. В результате сами буквы сообщения не изменяются, но передаются в другом порядке.
Например, для d=6 в качестве ключа перестановки можно взять 436215. Это означает, что в каждом блоке из 6 символов четвертый символ становится на первое место, третий – на второе, шестой – на третье и т.д. Пусть необходимо зашифровать такой текст:
ЭТО_ТЕКСТ_ДЛЯ_ШИФРОВАНИЯ
Количество символов в исходном сообщении равно 24, следовательно, сообщение необходимо разбить на 4 блока. Результатом шифрования с помощью перестановки 436215 будет сообщение
_ОЕТЭТ_ТЛСКДИШР_ЯФНАЯВОИ
Теоретически, если блок состоит из d символов,
то число возможных перестановок d!=1*2*...*(d-1)*
Для повышения криптостойкости можно последовательно применить к шифруемому сообщению две или более перестановки с разными периодами.
Другим примером методов перестановки является перестановка по таблице. В этом методе производится запись исходного текстапо строкам некоторой таблицы и чтение его по столбцам этой же таблицы. Последовательность заполнения строк и чтения столбцов может быть любой и задается ключом.
Рассмотрим пример. Пусть в таблице кодирования будет 4 столбца и 3 строки (размер блока равен 3*4=12 символов). Зашифруем такой текст:
ЭТО ТЕКСТ ДЛЯ ШИФРОВАНИЯ
Количество символов в исходном сообщении равно 24, следовательно, сообщение необходимо разбить на 2 блока. Запишем каждый блок в свою таблицу по строчкам (таблица 3. 1).
Таблица 3. 1 – Шифрование методом перестановки по таблице
1 блок | ||||
Э |
Т |
О |
||
Т |
Е |
К |
С | |
Т |
Д |
Л | ||
2 блок | ||||
Я |
Ш |
И | ||
Ф |
Р |
О |
В | |
А |
Н |
И |
Я | |
Затем будем считывать из таблицы каждый блок последовательно по столбцам:
ЭТТТЕ ОКД СЛЯФА РНШОИИВЯ
Можно считывать столбцы не последовательно, а, например, так: третий, второй, первый, четвертый:
ОКДТЕ ЭТТ СЛШОИ РНЯФАИВЯ
В этом случае порядок считывания столбцов и будет ключом.
В случае, если размер сообщения не кратен размеру блока, можно дополнить сообщение какими-либо символами, не влияющими на смысл, например, пробелами. Однако это делать не рекомендуется, так как это дает противнику в случае перехвата криптограммы информацию о размере используемой таблицы перестановок (длине блока). После определения длины блока противник может найти длину ключа (количество столбцов таблицы) среди делителей длины блока.
Посмотрим, как зашифровать и расшифровать сообщение, имеющее длину, не кратной размеру таблицы перестановки. Зашифруем слово ПЕРЕМЕНКА.
Количество символов в исходном сообщении равно 9. Запишем сообщение в таблицу по строкам (таблица 3. 2), а последние три ячейки оставим пустыми.
Таблица 3. 2 – Шифрование неполного блока методом перестановки по таблице
П |
Е |
Р |
Е |
М |
Е |
Н |
К |
А |
Затем будем считывать из таблицы последовательно по столбцам:
ПМАЕЕРНЕК
Для расшифрования вначале определяют число полных столбцов, то есть количество символов в последней строке. Для этого делят размер сообщения (в нашем примере – 9) на количество столбцов или размер ключа (в примере – 4). Остаток от деления будет числом полных столбцов: 9 mod 4 = 1. Следовательно, в нашем примере был 1 полный столбец и три коротких. Теперь можно поставить буквы сообщения на свои места и расшифровать сообщение. Так как ключом при шифровании было число 1234(столбцы считывались последовательно), то при расшифровании первые три символа (ПМА) записываются в первый столбец таблицы перестановки, следующие два (ЕЕ) – во второй столбец, следующие два (РН) – в третий, и последние два (ЕК) – в четвертый. После заполнения таблицы считываем строки и получаем исходное сообщение ПЕРЕМЕНКА.
Существуют и другие способы перестановки, которые можно реализовать программным и аппаратным путем. Например, при передаче данных, записанных в двоичном виде, удобно использовать аппаратный блок, который перемешивает определенным образом с помощью соответствующего электрического монтажа биты исходного n-разрядного сообщения. Так, если принять размер блока равным восьми битам, можно, к примеру, использовать такой блок перестановки (рисунок 3. 1).
Рисунок 3. 1 – Аппаратный блок перестановки
Для расшифрования на приемной стороне устанавливается другой блок, восстанавливающий порядок цепей.
Аппаратно реализуемая перестановка широк
При перестановке любого вида в зашифрованное сообщение будут входить те же символы, что и в открытый текст, но в другом порядке. Следовательно, статистические закономерности языка останутся без изменения. Это дает криптоаналитику возможность использовать различные методы для восстановления правильного порядка символов.
Если у противника есть возможность пропускать через систему шифрования методом перестановки специально подобранные сообщения, то он сможет организовать атаку по выбранному тексту. Так, если длина блока в исходном тексте равна N символам, то для раскрытия ключа достаточно пропустить через шифровальную систему N-1 блоков исходного текста, в которых все символы, кроме одного, одинаковы. Другой вариант атаки по выбранному тексту возможен в случае, если длина блока N меньше количества символов в алфавите. В этом случае можно сформировать одно специальное сообщение из разных букв алфавита, расположив их, например, по порядку следования в алфавите. Пропустив подготовленное таким образом сообщение через шифровальную систему, специалисту по криптоанализу останется только посмотреть, на каких позициях очутились символы алфавита после шифрования, и составить схему перестановки.
4 АЛГОРИТМЫ ШИФРОВАНИЯ DES И AES
4.1 Основные сведения
Одной из наиболее известных криптографических систем с закрытым ключом является DES – Data Encryption Standard. Эта система первой получила статус государственного стандарта в области шифрования данных. Она разработана специалистами фирмы IBM и вступила в действие в США 1977 году. Алгоритм DES широко использовался при хранении и передаче данных между различными вычислительными системами; в почтовых системах, в электронных системах чертежей и при электронном обмене коммерческой информацией. Стандарт DES реализовывался как программно, так и аппаратно. Предприятиями разных стран был налажен массовый выпуск цифровых устройств, использующих DES для шифрования данных. Все устройства проходили обязательную сертификацию на соответствие стандарту.
Несмотря на то, что уже некоторое время эта система не имеет статуса государственного стандарта, она по-прежнему широко применяется и заслуживает внимания при изучении блочных шифров с закрытым ключом.
Длина ключа в алгоритме DES составляет 56 бит. Именно с этим фактом связана основная полемика относительно способностиDES противостоять различным атакам. Как известно, любой блочный шифр с закрытым ключом можно взломать, перебрав все возможные комбинации ключей. При длине ключа 56 бит возможны 256 разных ключей. Если компьютер перебирает за одну секунду 1 000 000 ключей (что примерно равно 220), то на перебор всех 256 ключей потребуется 236 секунд или чуть более двух тысяч лет, что, конечно, является неприемлемым для злоумышленников.
Однако возможны более дорогие и быстрые вычислительные системы, чем персональный компьютер. Например, если иметь возможность объединить для проведения параллельных вычислений миллион процессоров, то максимальное время подбора ключа сокращается примерно до 18 часов. Это время не слишком велико, и криптоаналитик, оснащенный подобной дорогой техникой, вполне может выполнить вскрытие данных, зашифрованных DES за приемлемое для себя время.
Вместе с этим можно отметить, что систему DES вполне
можно использовать в небольших и средних
приложениях для шифрования данных, имеющих
небольшую ценность. Для шифрования данных
государственной важности или имеющих
значительную коммерческую стоимость система
Основные параметры DES: размер блока 64 бита, длина ключа 56 бит, количество раундов – 16. DES является классической сетью Фейштеля с двумя ветвями. Алгоритм преобразует за несколько раундов 64-битный входной блок данных в 64-битный выходной блок. Стандарт DES построен на комбинированном использовании перестановки, замены и гаммирования. Шифруемые данные должны быть представлены в двоичном виде.

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