Файл: Методы кодирования данных (АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ, ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 19.06.2023

Просмотров: 98

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

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

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

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

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

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

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

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

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


Текст - упорядоченный набор из элементов алфавита.

В качестве примеров алфавитов, используемых в современных ИС можно привести следующие:

алфавит Z33 - 32 буквы русского алфавита и пробел;

алфавит Z256 - символы, входящие в стандартные коды ASCII и КОИ-8;

бинарный алфавит - Z2 = {0,1};

восьмеричный алфавит или шестнадцатеричный алфавит;

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

исходный

текст

шифрованный

текст

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

КЛЮЧ

Рисунок 4 – Процесс шифрования

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

шифрованный

текст

исходный

текст

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

КЛЮЧ

Рисунок 5 – Процесс дешифрования

Ключ - информация, необходимая для беспрепятственного шифрования и дешифрования текстов.

Криптографическая система представляет собой семейство T преобразований открытого текста. Члены этого семейства индексируются, или обозначаются символом k; параметр k является ключом. Пространство ключей K ‑ это набор возможных значений ключа. Обычно ключ представляет собой последовательность (ряд) букв алфавита, в большинстве в качестве ключа используется случайным образом выбранная последовательность.

Общая схема работы простой криптосистемы проиллюстрирована на рис. 6.

Рисунок 6 ‑ Общая схема работы криптосистемы

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

2.2 Классификация алгоритмов

Криптосистемы разделяются на симметричные и с открытым ключом (ассиметричные).

Выделим следующие типы:

Симметричные алгоритмы шифрования (DES, AES, ГОСТ 28147-89)

Ассиметричные алгоритмы шифрования или с алгоритмы открытым ключом (RSA, ГОСТ 34.10-2001)

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


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

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

Рисунок 7 ‑ Структура симметричной криптосистемы

В качестве примеров симметричных криптосистем можно привести Советский алгоритм ГОСТ 28147-89, а также международные стандарты DES и его преемника AES.

Рассматривая симметричные шифры, стоит выделить разновидности симметричных шифров:

Блочные шифры

Поточные шифры

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

Например, самый простой и самый очевидный режим – ECB (Electronic Codebook): каждый блок шифруется, а затем все блоки складываются (имеется ввиду сложение строк). Рисунок ниже, демонстрирует этот режим работы. Существуют следующие режимы: CBC, PCBC, CFB, OFB, CTR.

Рисунок 8 – Режим ECB

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

Простейший случай: открытый текст складывается с гаммой (XOR) и т.д. Отметим, что гамма- случайная последовательность символов (чисел)

Рисунок 9 – Поточное шифрование

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

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

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

• Открытый ключ (en: Public key) - ключ, который можно сделать общедоступным с тем чтобы любой мог зашифровывать сообщения для определенного получателя


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

В общем использования асимметричных алгоритмов снимает проблему распространения ключей при использовании симметричных криптосистем. Примеры простых асимметричных криптосистем - RSA и схема Эль-Гамаля.

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

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

2.3 Алгоритм AES (Advanced Encryption Standard)

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

AES – аббревиатура от Advanced Encryption Standard (перевод с англ. усовершенствованный стандарт шифрования).

После открытия в 1997 г. Национальным Институтом Стандартов и Технологии США (NIST) программы по разработке AES состоялись 3 этапа международного конкурса. Новый стандарт должен был иметь:

- стойкость не меньше, чем у 3DES;

- скорость шифрования больше скорости 3DES;

- прозрачную структуру;

- эффективную реализацию на платформе Pentium Pro;

- эффективную аппаратную реализацию.

Победителем конкурса стали бельгийцы Йоан Дамен и Винсент Реймен с алгоритмом RIJNDAEL (читается Рейн-Дал от первых букв авторов). Стандарт начал действовать с 2002 р.

AES – симметричный итеративный блоковый алгоритм;

AES – не шифр Фейстеля, базируется на принципах новой сети подстановок-перестановок. Имеет новую архитектуру SQUARE (КВАДРАТ), для которой характерно:

1) представление шифруемого блока в виде двумерного байтового массива;

2) шифрование за один раунд всего блока данных (байт-ориентированная структура);

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


Это обеспечивает диффузию данных одновременно в двух направлениях ‑ по строкам и по столбцам. Архитектура SQUARE присуща, кроме шифра AES(RIJNDAEL), шифрам SQUARE (его название и дало имя всей архитектуре), CRYPTON (один из кандидатов на AES). Второе место в конкурсе AES занял другой SP-шифр, SERPENT. По-видимому, SP-сети и, в частности, архитектура SQUARE, в ближайшем будущем станут безраздельно доминировать.

2.3.1 Общие характеристики AES

AES зашифровывает и расшифровывает 128-битовые блоки

данных.

AES позволяет использовать три различных ключа длиной 128, 192 или 256 бит (в зависимости от длины ключа версии шифра обозначают AES-128, AES-192 или AES-256).

От размера ключа зависит число раундов шифрования:

длина 128 бит – 10 раундов;

длина 192 бита – 12 раундов;

длина 256 бит – 14 раундов.

Все раунды, кроме последнего, идентичны.

Является симметричным блочным алгоритмом шифрования. Оперирует блоком в 128 бит, ключом размера 128/192/256 бит.

2.3.2 Основные определения AES

State (форма)– матрица (двумерный массив) байтов, расположенных следующем образом :

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

Round _key (раундовый ключ) ― уникальный ключ, который применяется в каждом отдельном в раунде.

S-Box (таблица подстановок) – таблица, которая задает отображение одного байта в другой (биективное отображение):

Обратная таблица подстановок ‑ аналогично S-Box, задает обратное отображение:

2.3.3 Этапы шифрования AES

Шифрование состоит из следующих функций преобразования:

Expand_key ‑ Функция для вычисления всех раундовых ключей;

SubBytes ‑ Функция для подстановки байтов, использующая таблицу подстановок;

ShiftRows ‑ Функция, обеспечивающая циклический сдвиг в форме на различные величины;

MixColumns ‑ Функция, которая смешивает данные внутри каждого столбца формы;

AddRound_key ‑ Сложение ключа раунда с формой.