Типы криптосистем. Механизмы защиты информации

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Contents

Оновные задачи криптографии

В настоящее время криптогарфические функции применяются для решения следующих задач защиты информации:
1. Обеспечение конфиденциальности информации .
2. Обеспечение целостности информации .
3. Аутентификация информации .
4. Удостоверение авторства по отношению к сообщению или документу.
5. Обеспечение неотслеживаемости информации .

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

Криптография – самостоятельная наука с особым предметом исследований и специфическими методами исследования, и, несомненно, эта наука имеет математическую природу. Наиболее отчётливо многообразие связей криптологии с математикой проявилось в двадцатом веке. Большое влияние на это имел выход в свет фундаментальный труд К. Шеннона «Теория связи в секретных системах». Впрочем и до этого события история криптологии была отмечена замечателльными научными трудами и практическим вкладом в криптоаналитические разработки многих математиков, таких, как Л. Б. Альберти(XVв.), Б. Виженер, Ф. Виета(XVI-XVII вв.), Л. Эйлер(XVIII в.) и др.

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

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

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

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

Ключ криптосистемы

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

Аутентификация сторон

Для аутентификации сторон протокола используется система идентификации, для аутентификации сообщений – система имитозащиты, для обеспечения неотказуемости от авторства – система электронной цифровой подписи (ЭЦП).
Сообщение, к которому применяется криптографическая функция шифра, называют открытым текстом, а само применение функции шифра к открытому тексту называется шифрованием или зашифрованием. Результат шифрования открытого текста называется шифрованным текстом или криптограммой.
Шифр E можно рассматривать как семейство отображений , биективных по первой переменной, где X* и Y* - соответственно множество открытых и шифрованных текстов. Биективность функций шифра обеспечивает возможность восстановления открытого текста по шифрованному тексту. Применение к криптограмме обратного отображения с использованием известного ключа называется расшифрованием.
Раскрытие криптоаналитиком информации, защищаемой шифром, называют дешифрованием (ключ расшифрования криптоаналитику неизвестен, т.е. неизвестно, какое именно отображение из семейства E использовано для шифрования). Разработанный криптоаналитиком метод раскрытия шифра или информации , защищаемой шифром, называют криптоаналитической атакой.

Стойкость

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

Классификация криптосистем .

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

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

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

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

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

Поточные шифры, в которых шифрование проводится над каждым битом либо байтом исходного (открытого) текста с использованием гаммирования. Поточный шифр может быть легко создан на основе блочного (например, ГОСТ 28147-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 , а также отсутствие влияния какого-то бита входного байта на какой-то бит результата - то есть случаи, когда бит результата одинаков для всех пар входных слов, отличающихся только в данном бите.

Криптосистема с открытым ключом

Системы с открытым ключом (основная статья "Асимметричная криптосистема") были предложены американскими криптографами Диффи и Хеллманом в 1975году, в настоящее время они активно применяются для защиты информации. Другое их название – асимметричные системы , так как в них ключи шифрования и расшифрования не связаны явным отношением симметрии или равенства. Ключ шифрования может быть открытым, известным для всех, но расшифровать сообщение может только пользователь, обладающий секретным ключом расшифрования, который, во избежание путаницы с ключом симметричной системы, обычно называют закрытым ключом. Вычисление ключа расшифрования по ключу шифрования, т.е. раскрытие шифра, увязано с решением математических задач, характеризуемых высокой сложностью решения. К таким задачам относятся, например, задача поиска делителей большого натурального числа и задача логарифмирования в конечных полях большого порядка. Идея криптографии с открытым ключом очень тесно связана с идеей односторонних функций, то есть таких функций f(x) , что по известному x довольно просто найти значение f(x) , тогда как определение x из f(x) невозможно за разумный срок.

Пусть K - пространство ключей, а e и d - ключи шифрования и расшифрования соответственно. E - функция шифрования для произвольного ключа eϵK , такая что:

E(m)=c

Здесь cϵC , где C - пространство шифротекстов, а mϵM , где M - пространство сообщений. D - функция расшифрования, с помощью которой можно найти исходное сообщение m , зная шифротекст c:

D(c)=m

{E: eϵK} - набор шифрования, а {D: dϵK} - соответствующий набор для расшифрования. Каждая пара (E, D) имеет свойство: зная E , невозможно решить уравнение E(m)=c , то есть для данного произвольного шифротекста cϵC , невозможно найти сообщение mϵM . Это значит, что по данному e невозможно определить соответствующий ключ расшифрования d . E является односторонней функцией, а d - лазейкой. Ниже показана схема передачи информации лицом А лицу В. Они могут быть как физическими лицами, так и организациями и так далее. Но для более лёгкого восприятия принято участников передачи отождествлять с людьми, чаще всего именуемыми Алиса и Боб. Участника, который стремится перехватить и расшифровать сообщения Алисы и Боба, чаще всего называют Евой.

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

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

Размещено на 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.

Читайте также:
  1. B. Взаимодействие с бензодиазепиновыми рецепторами, вызывающее активацию ГАМК – ергической системы
  2. I ступень – объектив- центрическая система из 4-10 линз для непосредственного рассмотрения объекта и формирования промежуточного изображения, расположенного перед окуляром.
  3. I. ЛИЗИНГОВЫЙ КРЕДИТ: ПОНЯТИЕ, ИСТОРИЯ РАЗВИТИЯ, ОСОБЕННОСТИ, КЛАССИФИКАЦИЯ
  4. I. Типичные договоры, основные обязанности и их классификация
  5. II. Освоение техники микроскопии с иммерсионной системой.
  6. II. Світовий освітній простір і система освіти в Україні.

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

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

1. Тайнопись

2. Криптография с ключом

2.1. Симметричные криптоалгоритмы

2.1.1. Шифры перестановки

2.1.2. Шифры замены (подстановки)

2.1.2.1. Простой замены

2.1.2.2. Сложной замены

2.1.3. Сложные (составные) шифры

2.2. Асимметричные криптоалгоритмы

2.3. Комбинированные (гибридные) криптосистемы

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

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

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

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

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

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

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

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

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

Заметьте: любые криптографические преобразования не увеличивают объем информации, а лишь изменяют ее представление. Поэтому, если программа шифрования значительно (более, чем на длину заголовка) увеличивает объем выходного файла, то в ее основе лежит неоптимальный, а возможно и вообще некорректный криптоалгоритм. Уменьшение объема закодированного файла возможно только при наличии встроенного алгоритма архивации в криптосистеме и при условии сжимаемости информации (так, например, архивы, музыкальные файлы формата MP3, видеоизображения формата JPEG сжиматься более чем на 2-4% не будут).

В зависимости от размера блока информации криптоалгоритмы делятся на:

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

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


Рис. 2.1. Общая классификация криптографических алгоритмов

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

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

Криптосистемы с ключом делятся на симметричные и асимметричные системы шифрования. Модель симметричной системы шифрования представлена на рис. 2.2.



Рис. 2.2. Обобщенная модель симметричной системы шифрования

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

Асимметричная система шифрования работает по схеме, представленной на рис. 2.3.



Рис. 2.3. Обобщенная модель асимметричной системы шифрования

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

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

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

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

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

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

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

Атака на основе открытого текста предполагает, что криптоаналитику известны одна или несколько пар «открытый текст/шифротекст», зашифрованных на одном ключе, и на основе этой информации он проводит свой анализ.

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




Top