Основные методы криптографической обработки данных
Покупка
Новинка
Тематика:
Системы управления базами данных (СУБД)
Год издания: 2014
Кол-во страниц: 79
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-7038-3833-4
Артикул: 842140.01.99
Рассмотрены основные принципы и методы криптографической обработки информации. Приведены сведения о структуре и функциях криптосистем для обработки данных.
Для студентов 4-го курса, изучающих дисциплину "Методы и средства защиты информации".
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Московский государственный технический университет имени Н. Э. Баумана Д. Е. Беломойцев, Т. М. Волосатова, С. В. Родионов Основные методы криптографической обработки данных Учебное пособие Москва 2014
УДК 681.3.066 (075.8) ББК 32.973-018.2 Б43 Издание доступно в электронном виде на портале ebooks.bmstu.ru по адресу: http://ebooks.bmstu.ru/catalog/229/book210.html Факультет «Робототехника и комплексная автоматизация» Кафедра «Системы автоматизированного проектирования» Рекомендовано Научно-методическим советом МГТУ им. Н.Э. Баумана в качестве учебного пособия по дисциплине «Методы и средства защиты компьютерной информации» Б43 Рецензенты: д-р техн. наук, профессор Н. И. Сельвесюк, канд. техн. наук, доцент Н. В. Чичварин Беломойцев Д. Е. Основные методы криптографической обработки данных: учеб. пособие / Д. Е. Беломойцев, T. М. Волосатова, С. В. Родионов. — М. : Изд-во МГТУ им. Н. Э. Баумана, 2014. — 76, [4] с. : ил. ISBN 978-5-7038-3833-4 Рассмотрены основные принципы и методы криптографической обработки информации. Приведены сведения о структуре и функциях криптосистем для обработки данных. Для студентов 4-го курса, изучающих дисциплину «Методы и средства защиты информации». УДК 681.3.066 (075.8) ББК 32.973-018.2 © МГТУ им. Н.Э. Баумана, 2014 © Оформление. Издательство ISBN 978-5-7038-3833-4 МГТУ им. Н.Э. Баумана, 2014
Введение Защита информации от несанкционированного использования является актуальной задачей. Потребность в ее решении существует практически во всех отраслях жизнедеятельности, в том числе и в области САПР. Созданы специальные методы преобразования информации, в результате которого ее содержание становится недоступным без предъявления ключа криптограммы и обратного преобразования. При этом охраняется непосредственно сама информация, а не доступ к ней. Такие методы защиты информации называют криптографическими. Их изучением занимается криптология. Криптоло́гия – наука о методах шифрования и дешифрования информации. Она включает в себя криптографию и криптоанализ. Криптография занимается методами обеспечения конфиденциальности (невозможности прочтения информации посторонним) и аутентичности (целостности и подлинности авторства, а также невозможности отказа от авторства) информации. Изначально криптография изучала методы шифрования информации – обратимого преобразования открытого (исходного) текста на основе секретного алгоритма и (или) секретного ключа в шифрованный текст (шифротекст). Традиционная криптография содержит раздел симметричных криптосистем, в которых зашифрование и расшифрование проводятся с использованием одного и того же секретного ключа. Современная криптография включает в себя асимметричные криптосистемы, системы электронной цифровой подписи, хеш-функции, управление ключами, получение скрытой информации, квантовую криптографию. Она применяет открытые алгоритмы шифрования, которые реализуются с помощью вычислительных средств. Известно более десятка проверенных алгоритмов шифрования, которые при использовании ключа достаточной длины и корректной реализации алгоритма являются криптографически стойкими. 3
Среди наиболее распространенных алгоритмов шифрования можно выделить следующие: • симметричные: DES, AES, ГОСТ 28147–89, Camellia, Twofish, Blowfish, IDEA, RC4 и др.; • асимметричные: RSA и Elgamal (Эль-Гамаль); • хеш-функций: MD4, MD5, MD6, SHA-1, SHA-2, ГОСТ Р 34.11–94. Во многих странах приняты национальные стандарты шифрования. В 2001 г. в США принят стандарт симметричного шифрования AES на основе алгоритма Rijndael с длиной ключа 128, 192 и 256 бит. Алгоритм AES пришел на смену алгоритму DES, который в настоящее время рекомендовано использовать только в режиме Triple DES. В Российской Федерации действует стандарт ГОСТ 28147–89, описывающий алгоритм блочного шифрования с длиной ключа 256 бит, и ГОСТ Р 34.10–2001, определяющий алгоритм цифровой подписи. Криптоанализ занимается методами расшифровки зашифрованной информации без предназначенного для такой расшифровки ключа. Термин «криптоанализ» был введен американским криптографом У.Ф. Фридманом в 1920 г. Неформально используется и другое его название – взлом шифра. Криптоанализ включает в себя методы выявления ключа, определения уязвимости криптографических алгоритмов или протоколов. Сначала методы криптоанализа основывались на лингвистических закономерностях естественного текста и реализовывались с помощью карандаша и бумаги. Со временем более широкое применение получили математические методы. Для их реализации используются специализированные криптоаналитические компьютеры. Попытку раскрытия конкретного шифра с применением методов криптоанализа называют криптографической атакой на этот шифр. Криптографическую атаку, в ходе которой удалось раскрыть шифр, называют взломом или вскрытием. Криптоанализ эволюционировал вместе с развитием криптографии: новые, более совершенные шифры приходили на смену уже взломанным системам кодирования только для того, чтобы криптоаналитики изобрели более изощренные методы взлома систем шифрования. Криптография и криптоанализ неразрывно связаны друг с другом. Чтобы создать устойчивую к взлому систему, необходимо учесть все возможные способы атак на нее. 4
1. Симметричные криптосистемы 1.1. Принципы построения симметричных криптосистем В процессе шифрования используется определенный алгоритм шифрования, на вход которого подаются исходное незашифрованное сообщение, называемое plaintext, и ключ. Выходом алгоритма является зашифрованное сообщение, называемое ciphertext. Ключ является значением, не зависящим от шифруемого сообщения. Изменение ключа должно приводить к изменению зашифрованного сообщения. Зашифрованное сообщение передается получателю. Получатель преобразует зашифрованное сообщение в исходное незашифрованное сообщение с помощью алгоритма дешифрования и того же самого ключа, который использовался при шифровании, или ключа, легко получаемого из ключа шифрования. Незашифрованное сообщение будем обозначать буквами P или M, от слов plaintext и message, зашифрованное сообщение – буквой С, от слова ciphertext. Безопасность передаваемого сообщения обеспечивается методами традиционной криптографии и зависит от нескольких факторов. Во-первых, криптографический алгоритм должен быть достаточно сильным, чтобы передаваемое зашифрованное сообщение невозможно было расшифровать без ключа, используя только различные статистические закономерности зашифрованного сообщения или какие-либо другие способы его анализа. Во-вторых, безопасность передаваемого сообщения должна зависеть от секретности ключа, но не от секретности алгоритма. Алгоритм должен быть проанализирован специалистами, чтобы исключить наличие слабых мест, поскольку в этом случае плохо скрыта взаимосвязь между незашифрованным и зашифрованным сообщениями. К тому же при выполнении этого условия произво 5
дители могут создавать дешевые аппаратные чипы и свободно распространяемые программы, реализующие данный алгоритм шифрования. В-третьих, алгоритм должен быть таким, чтобы нельзя было определить ключ, даже зная достаточно много пар (зашифрованное сообщение, незашифрованное сообщение), полученных при шифровании с использованием данного ключа. Для описания стойкости алгоритма шифрования К. Шеннон ввел понятия рассеивания и перемешивания. Рассеивание (diffusion), т. е. изменение любого знака открытого текста или ключа, влияет на большое число знаков шифротекста, что скрывает статистические свойства открытого текста. Перемешивание (confusion) – использование преобразований, затрудняющих получение статистических зависимостей между шифротекстом и открытым текстом. Если Х – это исходное сообщение, а K – криптографический ключ, то зашифрованный передаваемый текст можно записать в виде Y = EK[X]. Получатель с помощью того же ключа расшифровывает сообщение X = DK[Y]. Алгоритмы симметричного шифрования различаются способом обработки исходного текста. Возможно шифрование блоками или посимвольное шифрование. Блок текста рассматривается либо как неотрицательное целое число, либо как несколько независимых неотрицательных целых чисел. Длина блока всегда выбирается равной степени числа 2. В большинстве блочных алгоритмов симметричного шифрования используются следующие типы операций: • табличная подстановка, при которой группа битов отображается в другую группу битов. Это так называемые S-box; • перемещение, с помощью которого биты сообщения переупорядочиваются; • сложение по модулю 2, обозначаемое xor или ; ⊕ • сложение по модулю 232 или по модулю 216; • циклический сдвиг на некоторое число битов. 6
Эти операции циклически повторяются в алгоритме, образуя так называемые раунды. Входом каждого раунда являются выход предыдущего раунда и ключ, который получен по определенному алгоритму из ключа K шифрования. Ключ раунда называется подключом. Стандартный алгоритм шифрования может быть применим во многих приложениях, таких как: шифрование данных, генерация случайных чисел, хеширование. Алгоритм должен быть эффективен при шифровании файлов данных или большого потока данных, при создании определенного количества псевдослучайных битов, он может эффективно преобразовываться в одностороннюю хеш-функцию. Стандартный алгоритм шифрования реализуется на разных платформах, к которым предъявляют различные требования. Алгоритм может эффективно реализовываться на специализированной аппаратуре, предназначенной для выполнения шифрования/дешифрования либо с использованием больших процессоров. Хотя для наиболее быстрых приложений всегда применяется специальная аппаратура, программные реализации используются чаще. Алгоритм должен допускать эффективную программную реализацию на 32-битных процессорах на основе процессоров среднего и малого размера и иметь возможность реализации на смарт-картах даже с учетом жестких ограничений на используемую память. К алгоритмам шифрования предъявляют некоторые дополнительные требования: • простота написания кода, чтобы минимизировать вероятность программных ошибок; • реализация плоского пространства ключей и допуск любой случайной строки битов нужной длины в качестве возможного ключа. Наличие слабых ключей нежелательно; • легкость модификации для различных уровней безопасности, что должно удовлетворять основным требованиям. Все операции с данными могут осуществляться над блоками, кратными байту или 32-битному слову. 7
Классическим примером таких алгоритмов являются симметричные криптографические алгоритмы. К ним относятся: • одиночная перестановка по ключу; • простая подстановка; • двойная перестановка; • перестановка «Магический квадрат». Простая перестановка без ключа – один из самых простых методов шифрования. Сообщение записывается в таблицу по столбцам. После того как открытый текст записан колонками, для образования шифровки он считывается по строкам. Чтобы использовать этот шифр, отправитель и получатель должны договориться об общем ключе в виде размера таблицы. Объединение букв в группы не входит в ключ шифра и применяется лишь для удобства записи несмыслового текста. Более практический метод шифрования, называемый одиночной перестановкой по ключу, очень похож на предыдущий. Он отличается лишь тем, что столбцы таблицы переставляются по ключевому слову, фразе или набору чисел длиной в строку таблицы. Для дополнительной скрытности можно повторно шифровать сообщение, которое уже было зашифровано, т. е. использовать двойную перестановку. В этом случае размер второй таблицы подбирают так, чтобы длины ее строк и столбцов были не такими, как в первой таблице. Лучше всего, если они будут взаимно простыми. Кроме того, в первой таблице можно переставлять столбцы, а во второй строки. Наконец, можно заполнять таблицу зигзагом, змейкой, по спирали или каким-то другим способом. Такие способы заполнения таблицы не усиливают стойкость шифра, однако делают процесс шифрования гораздо более занимательным. Магическими квадратами называют квадратные таблицы с вписанными в их ячейки последовательными натуральными числами от 1, которые дают в сумме по каждому столбцу, каждой строке и каждой диагонали одно и то же число. Подобные квадраты широко применяли для вписывания шифруемого текста по приведенной в них нумерации. Если потом выписать содержимое таблицы по строкам, то получается шифровка перестановкой букв. На первый взгляд, кажется, что магических квадратов очень мало. Тем не менее их число очень быстро возрастает с увеличением 8