Файл: Тема Симметричные блоковые шифры как эффективный способ защиты информации Содержание Введение.docx
Добавлен: 09.11.2023
Просмотров: 67
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Тема:
Симметричные блоковые шифры как эффективный способ защиты информации
Содержание
Введение
1. Основные принципы блоковых шифров и способ их реализации на основе структуры Файстеля.
2. Стойкость блоковых шифров и влияние возможных ошибок в криптограмме на дешифрованный текст сообщения.
3. Основные виды блоковых шифров и их характеристики.
4. Недостатки блоковых шифров и необходимость использования модифицированных блоковых шифров.
5. Стандарт шифрования DES и основные характеристики методов криптоанализа шифра DES и его криптостойкость.
Заключение
Введение
В быстро развивающуюся эпоху компьютерных технологий и развития информационных систем, возникает необходимость защиты данных. Особенно когда стоимость информации возрастает в сотни и тысячи раз. Проблема защиты и шифрования привлекает всё большее внимание большее внимание как специалистов в области компьютерных систем, так и многочисленных пользователей компьютерных средств и различных гаджетов.
Необходимость защиты информации возникает из потребностей тайной передачи как военных так и дипломатических сообщений и других. Следует рассмотреть два важных значения - это криптография и криптоаналитика. Криптография обеспечивает конфиденциальность и аутентичность передаваемых сообщений. А криптоаналитика наоборот помогает, таким образом, взломать систему защиты для распознания и расшифровки информации. В широко используемом мире компьютерных технологий и в информатизированном обществе обладание реальными ценностями, управление ими, передача ценностей или доступ к ним возникает острый вопрос защиты как личным и другого рода данным. Также определяются и полномочия физических и юридических лиц на использование, модификацию, копирование имеющей большое значение Ил конфиденциальной информации.
На данный момент весьма важно применять и разрабатывать весьма эффективные средства для реализации всех необходимых функций, связанных с обеспечением конфиденциальности и целостности информации.
Информация может быть весьма или же особо важной, соответственно всегда возможны злонамеренные действия со стороны определённых лиц, которые хотят завладеть данным либо совершить действия в отношении компьютерных систем, хранящим, обрабатывающим или передающим такую информацию. Для решения подобных проблем существует масса разных технических приёмов и средств. И одним из относительно безопасным алгоритмом шифрования является в настоящее время блочный алгоритм DES. Он подвергался тщательному криптоанализу в течении 20 лет, и самым практичным способом его взламывания является метод перебоев всех возможных вариантов ключа.
1. Основные принципы блоковых шифров и способ их реализации на основе структуры Файстеля.
Блоковые шифры являются разновидностью симметричного шифра, оперирующего группами бит фиксированной длины — блоками, характерный размер которых меняется в пределах 64‒256 бит. Если исходный текст (или его остаток) меньше размера блока, перед шифрованием его дополняют. И фактически, блочный шифр представляет собой подстановку на алфавите блоков, которая, как следствие, может быть моно- или полиалфавитной. Блочный шифр является важным компонентным содержанием многих криптографических протоколов и широко используется для защиты данных, передаваемых по сети. Входом в блочный шифр и результатом его работы является блок длины n — последовательность, состоящая из n бит. Число n постоянно. При необходимости шифрования сообщения длиной, большей n оно разбивается на блоки, каждый из которых шифруется отдельно. Различные режимы работы связаны с дополнительными усложнениями блочного шифра при переходах от блока к блоку. В стандарте DES длина блокаn = 64.
К достоинствам блочных шифров относят именно сходство процедур шифрования и расшифрования, которые, как правило, отличаются лишь порядком действий. Это упрощает создание устройств шифрования, так как позволяет использовать одни и те же блоки в цепях шифрования и расшифрования. Гибкость блочных шифров позволяет использовать их для построения других криптографических примитивов: генератора псевдослучайной последовательности, поточного шифра, имитовставки и криптографических хешей1.
Блочные шифры реализуются путём многократного применения к блокам исходного текста некоторых базовых преобразований.
Базовые преобразования блоковых шифров: сложное преобразование на одной локальной части блока; простое преобразование между частями блока. Так как преобразования производятся поблочно, требуется разделение исходных данных на блоки необходимого размера. При этом формат исходных данных не имеет значения (будь то текстовые документы, изображения или другие файлы). Данные должны интерпретироваться в двоичном виде (как последовательность нулей и единиц) и только после этого должны разбиваться на блоки. Все вышеперечисленное может осуществляться как программными, так и аппаратными средствами.
Сеть Фейстеля — это общий метод преобразования произвольной функции F в перестановку на множестве блоков. Она состоит из циклически повторяющихся ячеек — раундов. Внутри каждого раунда блок открытого текста разделяется на две равные части. Раундовая функция берет одну половину (на рис. левую), преобразует её с использованием ключа Ki и объединяет результат со второй половиной посредством операции исключающее (XOR). Этот ключ задаётся первоначальным ключом K и различен для каждого раунда. Далее половинки меняются местами (иначе будет преобразовываться только одна половина блока) и подаются на следующий раунд. Преобразование сети Фейстеля является обратимой операцией.
.
Для функции F существуют определённые требования: её работа должна приводить к лавинному эффекту; .должна быть нелинейна по отношению к операции XOR.
В случае невыполнения первого требования, сеть будет подвержена дифференциальным атакам (похожие сообщения будут иметь похожие шифры). Во втором случае действия шифра линейны, и для взлома достаточно решения системы линейных уравнений.
Подобная конструкция обладает ощутимым преимуществом: процедуры шифрования либо расшифрования совпадают, только производные от первоначального ключи используются в обратном порядке. Это значит, что одни и те же блоки могут использоваться как для шифрования, так и для расшифрования, что, безусловно, упрощает реализацию шифра. Недостаток схемы заключается в том, что в каждом раунде обрабатывается только половина блока, что приводит к необходимости увеличивать число раундов.2
Сеть Файстеля надежно утвердила себя как криптостойкая схема произведения преобразований, и ее можно найти практически в любом современном блочном шифре. Незначительные модификации касаются обычно дополнительных начальных и конечных преобразований шифруемого блока. Схожие преобразования, выполняемые обычно также исключающим или сложением, имеют целью повысить начальную рандомизацию входного текста. Таким образом, криптостойкость блочного шифра, использующего сеть Файстеля, определяется на 95 % функцией F и правилом вычисления V, из ключа. Эти функции и являются объектом исследований специалистов в области криптографии.
2. Стойкость блоковых шифров и влияние возможных ошибок в криптограмме на дешифрованный текст сообщения.
При блочном шифровании открытый текст сначала разбивается на равные по длине блоки, затем применяется зависящая от ключа функция шифрования для преобразования блока открытого текста длиной m бит в блок шифртекста такой же длины. Достоинством блочного шифрования является то, что каждый бит блока шифртекста зависит от значений всех битов соответствующего блока открытого текста, и никакие два блока открытого текста не могут быть представлены одним и тем же блоком шифротекста.
Сам по себе блочный шифр позволяет шифровать только одиночные блоки данных предопределенной длины. Если длина сообщения меньше длины блока, то оно дополняется до нужной длины. Однако, если длина сообщения больше, возникает необходимость его разделения на блоки. При этом существуют несколько способов шифрования таких сообщений, называемые режимами работы блочного шифра.
Для шифровки исходного текста произвольной длины блочные шифры могут быть использованы в нескольких режимах:
- электронной кодировочной книги (Е С В - Electronic Code Book);
- сцепления блоков шифрованного текста (СВС - Cipher Block Chaining);
- обратной связи по шифрованному тексту (CFB - Cipher Feedback);
- обратной связи по выходу (OFB - Output Feedback).
В режиме электронной кодировочной книги каждый блок исходного текста шифруется блочным шифром независимо от других.
Стойкость режима ЕСВ равна стойкости самого шифра. Однако структура исходного текста при этом не скрывается. Каждый одинаковый блок исходного текста приводит к появлению одинакового блока шифрованного текста. Исходным текстом можно легко манипулировать путем удаления, повторения или перестановки блоков. Скорость шифрования равна скорости блочного шифра. Режим ЕСВ допускает параллельное вычисление для увеличения скорости шифрования. Однако начало работы невозможно до поступления блока (за исключением генерации ключей). Следует отметить, режим ЕСВ соответствует режиму простой замены алгоритма ГОСТ 28147-89.
На данном рисунке представлен режим электронной кодовой книги — ECB.
Главным достоинством прямого блочного шифрования ECB является то, что в хорошо спроектированной системе блочного шифрования небольшие изменения в шифртексте вызывают большие и непредсказуемые изменения в соответствующем открытом тексте, и наоборот. В то же время применение блочного шифра в данном режиме имеет серьёзные недостатки. Например, вследствии детерминированного характера шифрования при фиксированной длине блока 64 бита можно осуществить криптоанализ шифртекста со специальным словарём в ограниченном виде. Еще один недостаток данного шифра связан с размножением ошибок. При изменении только одного бита в прямом блоке шифротекста будет неправильное расшифрование всего блока. Соответственно, это приводит к появлению искажённых битов в восстановленном блоке исходного текста.
Из-за данных недостатков блочные шифры редко используются в указанном режиме для шифрования длинных сообщений. Хотя в финансовых учреждениях, где сообщения часто состоят из одного или двух блоков, блочные шифры широко используются в режиме прямого шифрования. При таком применении существует возможность частой смены ключа шифрования, в связи с этим вероятность шифрования двух идентичных блоков открытого текста на одном и том же ключе очень мала.
Довольно часто блочные шифры применяются в системах шифрования с обратной связью. Они встречаются в различных практических вариантах. Таким образом, сообщения разбивают на ряд блоков, состоящих из m бит и для преобразования таких блоков в блоки шифротекста, которые также состоят из m бит, используются специальные функции шифрования. Но если в блочном шифре такая функция зависит только от ключа, то в блочных шифрах с обратной связью она завит и от ключа и от одного и более предшествующих блоков шифртекста .
Весьма важным шифром с обратной связью является шифр со сцеплением блоков шифротекста CBC. В данном случае m бит предыдущего шифротекста суммируется по модулю 2 со следующими m битами открытого текста, а затем применяется алгоритм блочного шифрования под управлением ключа для получения следующего блока шифротекста.
Стойкость режима СВС равна стойкости блочного шифра, лежащего в его основе. Кроме того, структура исходного текста скрывается за счет сложения предыдущего блока шифрованного текста с очередным блоком открытого текста. Стойкость шифрованного текста увеличивается, поскольку становится невозможной прямая манипуляция исходным текстом, кроме как путем удаления блоков из начала или конца шифрованного текста. Скорость шифрования равна скорости работы блочного шифра, но простого способа распараллеливания процесса шифрования не существует, хотя расшифровывание может проводиться параллельно.
На данном рисунке представлен режим сцепления блоков — СВС.
В режиме обратной связи по шифрованному тексту (CFB) предыдущий блок шифрованного текста шифруется еще раз, и для получения очередного блока шифрованного текста результат складывается поразрядно по модулю 2 с блоком исходного текста. Для начала процесса шифрования также используется начальный вектор.