9914

Криптографические методы защиты информации

Реферат

Информатика, кибернетика и программирование

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

Русский

2013-03-18

70.5 KB

31 чел.

Криптографические методы защиты информации

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

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

Примерно до конца 19 века все используемые шифры практически представляли собой различные комбинации шифров замены и перестановки, причем часто весьма изощренных. Например, использовались шифры с несколькими таблицами простой замены, выбор которых осуществлялся в зависимости от шифрования предыдущего знака, в шифрах замены перестановки строились с использованием специальных правил и т.д. Особенно надежными шифрами отличался российский «Черный кабинет» - организация занимавшаяся разработкой собственных шифров и дешифрованием шифров зарубежных. При отсутствии современных методов, а главное вычислительной техники, данные шифры могли считаться вполне надежными. Некоторые из них просуществовали вплоть до второй мировой войны, например, широко известный шифр «Два квадрата» применялся немцами вплоть до 1945 года (метод дешифрования данного шифра был разработан советскими криптографами и активно использовался во время войны).

1. Комбинированные методы шифрования

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

 

Рассмотрим несколько примеров:

Пример 1. Возьмем в качестве открытого текста сообщение: «Я пишу курсовую».

Защитим этот текст методом простой перестановки

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

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

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

Итак, имея открытый текст: «Я пишу курсовую», после преобразований получаем шифр текст: ююркххбхуьтасмд, используя методы перестановки и замены. Раскрыть текст расшифровщик сможет, зная, что ключами являются число 2 и слово "зачет" и соответственно последовательность их применения.

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

1. Установление начального состояния генератора псевдослучайных чисел.

2. Установление начального списка подстановки.

3. Все символы открытого текста зашифрованы?

4. Если да - конец работы, если нет -продолжить.

5. Осуществление замены.

6. Генерация случайного числа.

7. Перестановка местами знаков в списке замены.

8. Переход на шаг 4.

 

Пример 3. Открытый текст:"АБРАКАДАБРА".

Используем одноалфавитную замену согласно таблице 1.

Таблица 1:

А

Б

Д

К

Р

X

V

N

R

S

 

 

 

Последовательность чисел, вырабатываемаядатчиком: 31412543125.

1. у1=Х.

После перестановки символов исходного алфавитаполучаем таблицу 2 (h1=3).

Таблица 2:

2. у2=V. Таблица 2 после перестановки(h2=1) принимает вид, представленный в таблице 3.

Таблица 3:

Б

Д

А

К

Р

X

V

N

R

S

 

 

 

Осуществляя дальнейшие преобразования всоответствии с алгоритмом Френдберга, получаем шифртекст: "XVSNSXXSSSN".

       

Одной из разновидностей метода гаммирования является наиболее часто применяемый метод многократного наложения гамм. Необходимо отметить, что если уik1(xi)), то Гk1(xi))=Г1k(xi)). (1*)

Тождество (1*) называют основным свойством гаммы.

Пример 4. Открытый текст: "ШИФРЫ"(25 09 21 17 28");

Г1 = "ГАММА" ("04 01 13 1301");

Г2 = "ТЕКСТ" ("19 0611 18 19"), согласно таблице 1.

Используемая операция: сложение по mod 2.

1. Y1i=xiÅ h1i

11001 01001 10101 1000111100

Å

00100 00001 01101 0110100001

=

11101 01000 11000 1110011101.

 

2. У2i=y1iÅ h2i

11101 01000 11000 11100 11101

Å

10011 00110 01011 10010 10011

=

=

01110 01110 10011 01110 01110.

Проведем операцию шифрования, поменяв порядокприменения гамм.

1. У1i =xi Å h2i 

11001 01001 10101 1000111100

Å

10011 00110 01011 1001010011

=

01010 01111 11110 0001101111.

 

2. У2i'=y1i'Å h1i

01010 01111 11110 00011 01111

Å

00100 00001 01101 01101 00001

=

01110 01110 10011 01110 01110.

 

Таким образом, y2i=y2i',что является подтверждением основного свойства гаммы.

 

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

Пример 5. Открытый текст: "ШИФРЫ"("25 09 21 17 28");

Г1= Г2= "ГАММА" ("04 01 13 13 01"), согласно таблице 1.

Используемая операция: сложение по mod 2:

11001 01001 10101 10001 11100

Å

00100 00001 01101 01101 00001

Å

 00100 00001 01101 01101 00001

=

11001 01001 10101 10001 11100.

Таким образом, результат шифрования представляет

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

2. Теория проектирования блочных шифров

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

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

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

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

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

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

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

 

2.1. Сети Файстеля

Большинство блочных алгоритмов относятся к так называемым сетям Файстеля. Идея этих сетей датируется началом семидесятых годов. Возьмем блок длиной п и разделим его на две половины длиной n/2: L и R. Разумеется, число п должно быть четным. Можно определить итеративный блочный шифр, в котором результат j-го раунда определяется результатом предыдущего раунда:

 Li = Ri-1

 Ri= Li-1 Å  f(Ri-1, Ki)

Ki под ключ j-го раунда, а f - произвольная функция раунда.

Применение этой концепции можно встретить в алгоритмах DES, Lucifer, FEAL, Khufu, Khafre, LOKI, ГОСТ, CAST, Blowfish и других. Этим гарантируется обратимость концепции можно встретить в алгоритмах DES, Lucifer, FEAL, Khufu, Khafre, LOKI, ГОСТ, CAST, Blowfish и других. Этим гарантируется обратимость функции. Так как для объединения левой половины с результатом функции раунда используется операция XOR, всегда истинно следующее выражение:

Li-1 Å  f(Ri-1, Ki ) Å  Li-1 Å  f(Ri-1, Ki) = Li-1    

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

 

2.2. Простые соотношения

Алгоритм DES характеризуется следующим свойством: еслиЕК(Р) = С, то ЕK' (Р') = С', где Р', С' и K' - побитовыедополнения Р, С и K. Это свойство вдвое уменьшает сложность лобового вскрытия. Свойства комплементарности в 256 раз упрощают лобовое вскрытие алгоритма LOKI.

Простое соотношение можно определить так:

Если ЕK(Р) = С, то Ef(K)(g(P,K)) = h(C,K)

где f, g и h – простые функции. Под «простыми функциями» подразумевают функции, вычисление которых несложно, намного проще итерации блочного шифра. В алгоритме DES функция f представляет собой побитовое дополнение K, g - побитовое дополнение Р, a h – побитовое дополнение C. Это - следствие сложения ключа и текста операцией XOR. Для хорошего блочного шифра простых соотношений нет.

 

2.3. Групповая структура

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

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

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

 

2.4. Слабые ключи

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


 

А также другие работы, которые могут Вас заинтересовать

23365. Юнікод 163.23 KB
  Робота с кодуванням в мові Пітон.2 Робота с Юнікодом в ручному режимі 2.3 Спрощена робота в Юнікод Індивідуальне завдання 1.
23366. Вивчення основ програмування на мові Python 562.41 KB
  Тексти програм на мові Python. Мета роботи Ознайомлення з основними типами даних в Python. Вивчення основ програмування на мові Python.
23367. Исследование термоэлектрического термометра 436.5 KB
  Произвести измерения термоЭДС на клеммах подключения термопары 1819 для значений указанных преподавателем. Рассчитать основную абсолютную погрешность прибора по формуле: где Eиtt0 – измеренное значение термоЭДС; Eдtt0 – действительное значение термоЭДС определяемое по градуировочной таблице с учетом введения поправки на температуру свободных концов. Рассчитать основную приведенную погрешность термопары по формуле: где Eвt0C и Eнt0C – значения термоЭДС соответствующие верхнему и нижнему пределам измерения температуры...
23368. Исследование уровнемера У1500 180 KB
  Порядок выполнения работы Ознакомиться с описанием уровнемера У1500. Подключить вилку разъема датчика уровнемера к соответствующему гнезду на задней панели измерителя. Установить поплавок уровнемера поочередно в пяти точках по мерной линейке по заданию преподавателя сначала по возрастанию – прямой ход а затем в тех же точках по убыванию – обратный ход и занести соответствующие показания прибора в таблицу см.
23369. Исследование метрологических характеристик электромеханических приборов 646 KB
  Построить графики зависимости абсолютной погрешности прибора от его показаний при его работе на постоянном токе. Определить максимальное значение приведенной основной погрешности прибора для постоянного тока. На основе анализа полученных данных сделать вывод о соответствии основной погрешности и вариации показаниям определяемым классом точности испытуемого прибора.
23370. Исследование преобразователя давления Метран 100 444 KB
  Провести поверку преобразователя давления Метран100 с помощью грузопоршневого и образцового пружинного манометров. Построить градуировочную характеристику зависимости унифицированного токового сигнала Iвых от входного давления Рд. Описание лабораторной установки Лабораторная установка представляет собой поверочный грузопоршневой манометр МП60 пресс на котором установлены образцовый манометр с пределом измерения 25 МПа и преобразователь давления Метран 100 с цифровым индикатором жидкокристаллическим дисплеем для представления...
23371. Создание мультимедийных приложений 115 KB
  В настоящей лабораторной работе будет показано как создать простейшие приложения для прослушивания звуковых файлов и просмотра анимации с помощью компонента MediaPlayer. Компонент MediaPlayer Компонент MediaPlayer расположен на странице System Палитры Компонентов. Общий вид компонента MediaPlayer представлен на рис. Вид MediaPlayer на форме Ниже в таблице 16.
23372. Использование компонента Timer. Организация простейшей мультипликации 68.5 KB
  В данной работе приводятся примеры работы компонента Timer обеспечивающего доступ к системному таймеру компьютера и его использование совместно с компонентом Image для создания простейшей мультипликации. Компонент Timer. Прием сообщений от таймера компьютера в приложении Delphi обеспечивает специальный компонент Timer со страницы System Палитры Компонентов.
23373. Конструирование меню и работа со стандартными окнами диалога Windows 322.4 KB
  Контекстное меню Рабочая область редактора Панель инструментов Меню Рис. Создание главного меню приложения Для создания главного меню приложения необходимо: поместить на форму компонент MainMenu Главное меню со станицы Standard Палиры Компонентов. Двойным щелчком по данному невизуальному компоненту вызвать редактор меню: Перемещаясь по обозначенным пунктам меню задаем в свойстве Caption каждого пункта.