Автор работы: Пользователь скрыл имя, 11 Мая 2013 в 20:43, курс лекций
Информационная безопасность. Тема 10. Лекция 16.
Информационная безопасность. Лекция 6. Административный уровень обеспечения ИБ
Информационная безопасность. Тема 5-1. Лекция 7. Введение в криптографию
Информационная безопасность. Тема 5-2. Лекция 8. Симметричные алгоритмы шифрования. Алгоритм DES
Первый из них - простая замена. В этом случае блоки шифруются независимо друг от друга и от положения в массиве исходной информации. То есть две одинаковые последовательности размером в 64 бита и после обработки останутся одинаковыми. Кроме того, в режиме простой замены очень желательно, чтобы объем исходного массива данных был кратен 64 битам. В противном случае наблюдается снижение криптоустойчивости алгоритма к некоторым видам атак. Режим простой замены применяется для ключей шифрования.
Вторым режимом работы алгоритма является гаммирование. В рассматриваемом алгоритме для этой цели используется операция побитового сложения по модулю 2, поскольку она является обратной самой себе и к тому же наиболее просто реализуется аппаратно.
Таким образом, использование гаммирования решает обе проблемы простой замены. Во-первых, применение различных гамм для шифрования одинаковых последовательностей приводит к тому, что в закодированном тексте они отличаются друг от друга. Во-вторых, никто не может помешать "обрезать" гамму до нужного размера для шифрования блоков, отличных от стандартных. Таким образом, режим гаммирования избавлен от всех недостатков простой замены и может использоваться для надежного шифрования любой информации.
Третий режим работы алгоритма - это гаммирование с обратной связью. Он очень похож на предыдущий. Единственное отличие заключается в том, что очередной элемент гаммы вырабатывается с помощью определенных преобразований предыдущей последовательности информации. То есть фактически получается, что результат кодирования блока данных зависит от ключа шифрования и предыдущего уже зашифрованного блока. Таким образом, имеется связь всего закодированного текста. И если кто-то поменяет в нем какой-либо бит, то при расшифровке искаженным окажется не один, а два блока данных. В принципе, сильного влияния на криптостойкость обратная связь не оказывает. Однако она может послужить дополнительной защитой от некоторых типов атак.
В ГОСТе 28147-89 описана еще одна очень полезная функция алгоритма шифрования - возможность создания имитовставки. Имитовставка - контрольная комбинация, зависящая от открытых данных и секретной ключевой информации. Она нужна для того, чтобы обнаружить все случайные или преднамеренные изменения в зашифрованных данных. Обнаружить внесенные в текст изменения несложно. Тем более что полноценно заменить одни слова другими без знания ключа нельзя. Но если злоумышленник внесет изменения в файл, полученный путем шифрования бинарной, звуковой, графической или видеоинформации, то при декодировании искажения перейдут и на исходные данные. И заметить их зачастую просто-напросто нереально. Именно тогда имитовставка и оказывается незаменимой. Да и в случае с текстом ее использование позволяет точно узнать, вносились изменения в зашифрованный файл или нет.
Основные различия между DES и ГОСТ 28147 следующие:
Инициатива в разработке AES принадлежит национальному институту стандартов США - NIST. Основная цель состояла в создании федерального стандарта США, который бы описывал алгоритм шифрования, используемый для защиты информации как в государственном, так и в частном секторе. В результате длительного процесса оценки был выбрал алгоритм Rijndael в качестве алгоритма в стандарте AES.
Алгоритм Rijndael представляет собой симметричный алгоритм блочного шифрования с переменной длиной блока и переменной длиной ключа. Длина блока и длина ключа могут быть независимо установлены в 128, 192 или 256 бит. Алгоритм использует линейно-подстановочные преобразования и состоит из 10, 12 или 14 раундов в зависимости от длины ключа. Блок данных, обрабатываемый с использованием алгоритма Rijndael, делится на массивы байтов, и каждая операция шифрования является байт-ориентированной.
Преобразование раунда алгоритма Rijndael не имеет структуру сети Фейстеля, а использует структуру типа SP-сеть (Substitution-Permutation network, подстановочно-перестановочная сеть) — разновидность блочного шифра, предложенная в 1971 году Хорстом Фейстелем. Ппреобразование каждого раунда состоит из четырех различных преобразований, называемых слоями. Каждый слой разрабатывался с учетом противодействия линейному и дифференциальному криптоанализу. В основу каждого слоя положена своя собственная функция.
Алгоритм Rijndael очень хорошо выполняется как в программной, так и в аппаратной реализации в широком диапазоне окружений, имеет небольшие требования к памяти, что делает его пригодным для окружений с ограниченными ресурсами. В этом случае он также демонстрирует отличное выполнение.
Алгоритм Rijndael может применяться в качестве алгоритма МАС. Для этого следует использовать блочный алгоритм в режиме СВС-МАС. Также существует много способов, с помощью которых алгоритм Rijndael можно использовать в качестве генератора псевдослучайных чисел.
Потоковый шифр RC4 (RC расшифровывается как Ron’s Code или Rivest’s Cipher) был разработан Роном Ривестом в 1987 году. Этот шифр позволяет использовать ключи размером от 8 до 2048 бит (с шагом 8). В RC4 для зашифрования и расшифрования применяются одни и те же действия: генерируется гамма, которая накладывается на шифруемое сообщение путем сложения по модулю 2 (операция XOR). Алгоритм применяется в различных системах защиты информации в компьютерных сетях (например, в протоколах SSL и TLS, алгоритме безопасности беспроводных сетей WEP, в таких продуктах, как Microsoft Office, Lotus Notes, Adobe Acrobat и др.
Рис. 8. Общая схема алгоритма RC4.
Ядро алгоритма состоит из функции генерации ключевого потока. Эта функция генерирует последовательность битов, которая затем объединяется с открытым текстом посредством суммирования по модулю два. Дешифрация состоит из регенерации этого ключевого потока и суммирования его с шифрограммой по модулю два, восстанавливая исходный текст. Другая главная часть алгоритма — функция инициализации, которая использует ключ переменной длины для создания начального состояния генератора ключевого потока.
RC4
— фактически класс алгоритмов,
определяемых размером его
Алгоритмы шифрования с открытым ключом разрабатывались для того, чтобы решить две наиболее трудные задачи, возникшие при использовании симметричного шифрования.
Первой задачей является распределение ключа. При симметричном шифровании требуется, чтобы обе стороны уже имели общий ключ, который каким-то образом должен быть им заранее передан. Диффи, один из основоположников шифрования с открытым ключом, заметил, что это требование отрицает всю суть криптографии, а именно возможность поддерживать всеобщую секретность при коммуникациях.
Второй задачей является необходимость создания таких механизмов, при использовании которых невозможно было бы подменить кого-либо из участников, т.е. нужна цифровая подпись. При использовании коммуникаций для решения широкого круга задач, например в коммерческих и частных целях, электронные сообщения и документы должны иметь эквивалент подписи, содержащейся в бумажных документах. Необходимо создать метод, при использовании которого все участники будут убеждены, что электронное сообщение было послано конкретным участником. Это более сильное требование, чем аутентификация.
Диффи и Хеллман достигли значительных результатов, предложив способ решения обеих задач, который радикально отличается от всех предыдущих подходов к шифрованию.
Кроме этого, некоторые алгоритмы, например RSA, имеют следующую характеристику: каждый из двух ключей может использоваться как для шифрования, так и для дешифрования.
При описании симметричного шифрования и шифрования с открытым ключом будет использоваться следующая терминология. Ключ, используемый в симметричном шифровании, будет называться секретным ключом. Два ключа, используемые при шифровании с открытым ключом, будут называться открытым ключом и закрытым ключом. Закрытый ключ будет обозначаться KR, открытый ключ - KU.
Предполагается, что все участники имеют доступ к открытым ключам друг друга, а закрытые ключи создаются локально каждым участником и, следовательно, не распространяются. В любое время участник может изменить свой закрытый ключ и опубликовать составляющий пару открытый ключ, заменив им старый открытый ключ.
Диффи и Хеллман описывают требования, которым должен удовлетворять алгоритм шифрования с открытым ключом.
С = ЕKU[М]
М = DKR[C] = DKR[EKU[M]]
Можно добавить шестое требование, хотя оно не выполняется для всех алгоритмов с открытым ключом:
М = ЕKU[DKR[M]]
Это достаточно сильные требования, которые вводят понятие односторонней функции с люком. Односторонней функцией называется такая функция, у которой каждый аргумент имеет единственное обратное значение, при этом вычислить саму функцию Y=f(X) легко, а вычислить обратную функцию X = f-1(Y) - трудно (невозможно).
Односторонней функции с люком называется функция, которую, подобно односторонней функции, легко вычислить в одном направлении и трудно вычислить в обратном направлении до тех пор, пока недоступна некоторая дополнительная информация. При наличии этой дополнительной информации инверсию можно вычислить за приемлемое время.
Основными способами использования алгоритмов с открытым ключом являются шифрование/дешифрование, создание и проверка подписи и обмен ключа.
Шифрование с открытым ключом состоит из следующих шагов:
Создание и проверка подписи состоит из следующих шагов:
Невозможно изменить сообщение, не имея доступа к закрытому ключу А, тем самым обеспечивается аутентификация и целостность данных.
В этой схеме все сообщение подписывается, причем для подтверждения целостности сообщения требуется много памяти. Каждое сообщение должно храниться в незашифрованном виде для использования в практических целях. Кроме того, копия сообщения также должна храниться в зашифрованном виде, чтобы можно было проверить в случае необходимости подпись. Более эффективным способом является шифрование небольшого блока битов, который является функцией от сообщения. Такой блок, называемый аутентификатором, должен обладать свойством невозможности изменения сообщения без изменения аутентификатора. Если аутентификатор зашифрован закрытым ключом отправителя, он является цифровой подписью, с помощью которой можно проверить исходное сообщение.