Классификация современных криптографических систем. Механизмы защиты информации

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Лекция 3 . Классификация криптографических систем

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

С этой темы мы начинаем изучение криптографических методов защиты информации.

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

Слово «криптография» (cryptography) происходит от греческих слов «kryptus» - тайный, «graphein» - писать, т.е. дословно «тайнопись».

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

Криптология - наука, которая занимается изучением шифров и их стойкости.

Криптология = Криптография + Криптоанализ

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

Дэвид Кон (David Kohn) в своей эпической книге о криптоанализе «Выдающиеся взломщики шифров» привел данные о том, что криптография использовалась в Египте в 1900 г. до н.э., при написании Библии - в 500 г. до н.э.. В Древней Греции и Древнем Риме криптография уже широко использовалась в разных областях деятельности, особенно в государственной сфере. (Юлий Цезарь «Записки о галльской войне», 1 век до н.э..) В мрачные годы средневековья практика шифрования сохранялась в строжайшей тайне. В годы крестовых походов шифровальщики, служившие у Папы Римского, после года работы подлежали физическому уничтожению.

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

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

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

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

В 70-х годах произошло два события, серьезно повлиявших на дальнейшее развитие криптографии. Во-первых, был принят (и опубликован!) первый стандарт шифрования данных (DES). Во-вторых, после работы американских математиков У.Диффи и М.Хеллмана родилась «новая криптография» - криптография с открытым ключом. Оба этих события были рождены потребностями бурно развивающихся средств коммуникаций, в том числе локальных и глобальных компьютерных сетей, для защиты которых потребовались легко доступные и достаточно надежные криптографические средства. Криптография стала широко востребованной не только в военной, дипломатической, государственной сферах, но также в коммерческой, банковской и т.д..

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

Например:

1. Расстановка слов или букв открытого текста так, чтобы он нес в себе скрытое сообщение.

2. Пометка символов.

3. Невидимые чернила.

4. Прокалывание бумаги.

5. Печать между строк с использованием корректирующей ленты.

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

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

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

Исходное сообщение называется открытым текстом. Зашифрованное сообщение называется шифртекстом.

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

(Дешифрование - восстановление исходного текста без знания ключа)

Пара процедур - шифрование и расшифрование - называется криптосистемой.

Во введении к книге «Прикладная криптография» у Б. Шнайера написано: «В мире различают два типа криптографии: криптография, которая помешает вашей младшей сестре читать ваши файлы, и криптография, которая помешает читать ваши файлы правительствам крупных стран. Эта книга посвящена криптографии второго типа».

Сегодня широко распространено 2 типа шифрования:

1. Традиционное

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

Процесс традиционного шифрования включает две составляющие:

1. Алгоритм шифрования.

2. Ключ - значение, не зависящее от открытого текста.

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

Надежность традиционного шифрования определяет нескольких факторов:

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

2. Секретность ключа - основной фактор надежности традиционного шифрования. Сам алгоритм может быть несекретным.

В традиционной (классической) криптографии принято фундаментальное правило, сформулированное в 19 веке - правило Керкхоффа:

Стойкость шифра должна определяться только секретностью ключа.

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

Рассмотрим модель традиционной криптосистемы более подробно.

Теоретические основы традиционной модели симметричной криптосистемы впервые были изложены в 1949 году в работе Клода Шеннона.

Источник создает сообщение в форме открытого текста:

Элементами хi открытого текста Х являются символы некоторого конечного алфавита А, состоящего из n символов:

Традиционно использовался алфавит из 26 букв английского языка, но сегодня чаще применяется двоичный алфавит {0,1}.

Для шифрования генерируется ключ в форме:

К=[к1, к2, …, кj]

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

Имея Х и К с помощью алгоритма шифрования фомируется шифрованный текст

У=[у1, у2, …, уn]

Это можно записать в виде формулы:

У получается путем применения алгоритма шифрования Е к открытому тексту Х при использовании ключа К.

Обратное преобразование:

2. Типы криптосистем

шифрование криптография алгоритм

Классификация криптографических систем строится на основе следующих трех характеристик:

Число применяемых ключей.

Тип операций по преобразованию открытого текста в шифрованный.

Метод обработки открытого текста.

1) По числу применяемых ключей.

Различают:

Симметричные криптосистемы;

Асимметричные криптосистемы.

Если отправитель и получатель используют один и тот же ключ, система шифрования называется симметричной, системой с одним ключом, системой с секретным ключом, схемой традиционного шифрования. (Например, DES, CAST, RC5, IDEA, Blowfish, классические шифры);

Если отправитель и получатель используют разные ключи, система называется асимметричной, системой с двумя ключами, схемой шифрования с открытым ключом. (RSA, Эль-Гамаля).

2) По типу операций по преобразованию открытого текста в шифрованный.

Подстановочные шифры - шифрование основано на замещении каждого элемента открытого текста (бита, буквы, группы битов или букв) другим элементом. (Цезаря, Плейфейера, Хилла);

Перестановочные шифры - шифрование основано на изменении порядка следования элементов открытого текста. (Лесенка, перестановка столбцов);

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

3) По методу обработки открытого текста.

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

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

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

3. Типы криптоатак и стойкость алгоритмов

Процесс воссоздания открытого текста (Х) и/или ключа (К) называется криптоанализом.

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

Сложность алгоритма раскрытия является одной из важных характеристик криптосистемы и называется криптостойкостью.

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

В общем случае сдвиг может быть любым (от 1 до 25). Если каждой букве назначить числовой эквивалент, то:

Y = Ek(X) = (x + k)mod26

Получаем обобщенный алгоритм Цезаря.

Шифр Цезаря со сдвигом на 13 букв вправо обозначается rot13.

Раскрыть такой шифр можно путем простого последовательного перебора вариантов. Применение простого перебора оправдано следующим:

известны алгоритмы шифрования и расшифрования;

всего 25 вариантов;

известен язык открытого текста.

В большинстве случаев при защите сетей выполняется 1), но не 2). Важная характеристика - 3). Если исходный текст предварительно сжат, то это сильно затрудняет распознавание.

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

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

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

несколько алфавитов.

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

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

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

используется набор связанных моноалфавитных подстановок;

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

Полиалфавитные подстановочные шифры были придуманы в 15-м веке. Леоном Баттистой-Альберти. Они пользовались популярностью до 19 века, когда их начали взламывать.

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

Лучшей защитой от статистических методов криптоанализа (т. е. по частоте появления букв) является выбор ключевого слова, по длине равного длине открытого текста, но отличающегося от открытого текста по статистическим показателям. Такая система была предложена инженером компании AT&T Гилбертом Вернамом в 1918 году. В алгоритме Вернама шифрованный текст генерируется путем побитового выполнения операции XOR для открытого текста и ключа.

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

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

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

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

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

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

1) Стоимость взлома шифра превышает стоимость расшифрованной информации;

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

Если схема шифрования соответствует обоим указанным критериям, она называется защищенной по вычислениям.

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

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

Основные типы криптоатак:

Атака на основе шифртекста.

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

Атака на основе открытого текста.

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

Атака на основе подобранного открытого текста (криптоаналитик может выбирать открытый текст для шифрования).

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

В этом отношении особенно уязвимы шифрованные исходные коды программ из-за частого использования ключевых слов (define, struct, else, return и т.д.). Те же проблемы и у шифрованного исполняемого кода: функции, циклические структуры и т.д.

Лобовое вскрытие (лобовая атака, метод «грубой силы» - путем перебора всех возможных ключей).

Бандитский криптоанализ.

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

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

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

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

Размещено на Allbest.ru

Подобные документы

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

    реферат , добавлен 31.05.2013

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

    курсовая работа , добавлен 09.05.2012

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

    дипломная работа , добавлен 20.06.2011

    Сравнение производительности программных реализаций алгоритмов шифрования с оптимизациями под языки С и Java. История разработки, сущность, принципы шифрования и успехи в криптоанализе таких алгоритмов шифрования как AES, RC4, RC5, RC6, Twofish и Mars.

    реферат , добавлен 13.11.2009

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

    курсовая работа , добавлен 14.06.2012

    Симметричные и асиметричные методы шифрования. Шифрование с помощью датчика псевдослучайных чисел. Алгоритм шифрования DES. Российский стандарт цифровой подписи. Описание шифрования исходного сообщения асимметричным методом с открытым ключом RSA.

    курсовая работа , добавлен 09.03.2009

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

    лабораторная работа , добавлен 25.03.2015

    Криптография и шифрование. Симметричные и асимметричные криптосистемы. Основные современные методы шифрования. Алгоритмы шифрования: замены (подстановки), перестановки, гаммирования. Комбинированные методы шифрования. Программные шифраторы.

    реферат , добавлен 24.05.2005

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

    курсовая работа , добавлен 18.09.2016

    Шифрование как метод защиты информации. История развития криптологии. Классификация алгоритмов шифрования, симметричные и асимметричные алгоритмы. Использование инструментов криптографии в Delphi-приложениях. Краткая характеристика среды Delphi 7.

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

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

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

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

Используют два общих принципа шифрования :

Ø рассеивание;

Ø перемешивание.

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

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

Одним из наилучших примеров криптоалгоритма, разработанного в соответствии с принципами рассеивания и перемешивания, может служить принятый в 1977 году Национальным бюро стандартов США стандарт шифрования данных DES . DES - исключительно хороший шифр. В июле 1991 года введен в действие подобный отечественный криптоалгоритм ГОСТ 28147-89.

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

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

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

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

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

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

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

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

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

Составными элементами шифра являются:

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

Алгоритмы криптографического преобразования (зашифрования и дешифрования);

Множество ключей.

Азбука или алфавит (греч. ἀλφάβητος) - форма письменности, основанная на стандартном наборе знаков, один или набор которых соответствуют фонемам 1 языка. В общем случае алфавит для записи исходных сообщений и алфавит для записи шифрованных сообщений могут отличаться. Например, исходные сообщения записываются с помощью букв, а шифрограммы с помощью цифр или графических обозначений.

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

Шифрование (зашифрование) - процесс применения шифра к защищаемой информации, т.е. преобразование исходного сообщения в зашифрованное.

Дешифрование (расшифрование) - процесс, обратный шифрованию, т. е. преобразование шифрованного сообщения в исходное.

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

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

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

f(P, k 1) = C, (3.1)

g(C, k 2) = P, (3.2)

где P (англ. public - открытый) - открытое сообщение;
C (англ. cipher - шифрованный) - шифрованное сообщение;
f - алгоритм шифрования;
g - алгоритм расшифрования;
k 1 – ключ зашифрования, известный отправителю;
k 2 – ключ расшифрования, известный адресату.

В настоящее время разработкой методов шифрования и дешифрования информации (в т.ч. и без знания ключа) занимается криптология (греч. κρυπτός - тайный, λόγος - слово, знание). Криптология разделяется на два направления - криптографию и криптоанализ. Цели этих двух правлений криптологии прямо противоположны.

Криптография (греч. κρυπτός - скрытый и γράφω - пишу, рисую) – наука о методах обеспечения конфиденциальности (невозможности прочтения информации посторонним) и аутентичности (целостности и подлинности авторства, а также невозможности отказа от авторства) информации.

Криптоанализ (греч. κρυπτός - скрытый и ανάλυση - разложение, расчленение) – наука, занимающаяся вопросами оценки сильных и слабых сторон методов шифрования, а также разработкой методов, позволяющих взламывать криптосистемы.

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

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

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

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

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

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

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

От вида защищаемой информации (документальная, телефонная, телевизионная, компьютерная и т.д.);

От объема и требуемой скорости передачи шифрованной информации;

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

От возможностей владельцев секретной информации, а также от возможностей противника (одно дело - противостоять одиночке, а другое дело - мощной государственной структуре).

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

1 Фонема (др.-греч. φώνημα - «звук») - минимальная смыслоразличимая единица языка.

3.2. Основные требования, предъявляемые к криптосистемам

Для современных криптографических систем можно сформулировать следующие требования:

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

Временные и стоимостные затраты на защиту информации должны быть приемлемыми при заданном уровне ее секретности (затраты на защиту не должны быть чрезмерными);

Процедуры шифрования и дешифрования не должны зависеть от длины сообщения;

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

Любой ключ из множества возможных должен обеспечивать надежную защиту информации;

Незначительное изменение ключа должно приводить к существенному изменению вида зашифрованного сообщения;

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

Зашифрованное сообщение должно поддаваться чтению только при наличии ключа.

3.3. Классификация шифров

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

Рис.3.1. Классификация шифров

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

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

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

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

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

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

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

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

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

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

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

- потоковые шифры – процедура преобразование применяется к отдельному символу сообщения;

- блочные шифры – процедура преобразование применяется к набору (блоку) символов сообщения.

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

IV. По стойкости шифры делятся на три группы:

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

.

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

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

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

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

Существует два вида атак с избранным открытым текстом:

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

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

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

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

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

Атаки на асимметричные шифры. Алгоритм RSA обеспечивает как цифровое подписывание, так и шифрование, что делает его весьма универсальным средством.

Алгоритм RSA основан на использовании односторонней функции с лазейкой. N - это открытый ключ, который формируется как. Разложение числа n на множители и есть та самая «лазейка». Значения p и q - это два разных больших простых числа, длина каждого из которых составляет порядка тысячи бит или более.

Возникает проблема, когда пользователь Б зашифровывает с помощью открытого ключа пользователя А сообщение небольшого размера. Если e =5 и, тогда, поэтому взятие числа по модулю не требуется. Злоумышленник сможет восстановить m , просто извлекая корень пятой степени из m 5 .

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

Таким образом, применение алгоритма RSA должно ограничиваться шифрованием коротких последовательностей, а именно секретных ключей шифрования для симметричных криптосистем. Для шифрования нужно использовать более стойкие к атакам шифры с длиной ключа 256 бит. К таким шифрам относят шифр AES и ГОСТ 28147-89.

340 Глава 18. Криптографическая защита

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

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

Условно можно выделить три принципиально разных этапа в развитии математического аппарата криптографии.

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

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

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

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

сложность и стойкость криптографического закрытия должны выбираться в зависимости от объема и степени секретности данных;

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

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

выполнение процедур прямого и обратного преобразований должно быть формализованным. Эти процедуры не должны зависеть от длины сообщений;

ошибки, возникающие в процессе выполнения преобразования, не должны распространяться на текст в полной мере и по системе;

вносимая процедурами защиты избыточность должна быть минимальной.

Классификация криптографических методов

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

Классификация криптографических методов 341

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

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

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

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

342 Глава 18. Криптографическая защита

Рис. 18.1. Классификация криптографических методов

Требования к криптографическим методам защиты информации

Раскрытие зашифрованных текстов (в первую очередь нахождение ключа) осуществляется при помощи методов криптоанализа. Основными методами криптоанализа являются:

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

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

Классификация криптографических методов 343

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

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

2. Из-за трудности запоминания объем ключа не должен быть большим.

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

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

5. Из-за трудностей передачи объем шифротекста не должен быть значительно больше открытого текста.

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

требованиям претерпевает существенные изменения.

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

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

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

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