Исследование симметричных алгоритмов блочного шифрования. Минусы и плюсы алгоритма IDEA. Разработка программы аутентификации пользователя и сообщений на основе алгоритма IDEA. Выбор языка программирования. Тестирование и реализация программного средства.
Симметричные криптосистемы (также симметричное шифрование, симметричные шифры) - способ шифрования, в котором для шифрования и расшифровывания применяется один и тот же криптографический ключ. Алгоритмы шифрования и дешифрования данных широко применяются в компьютерной технике в системах сокрытия конфиденциальной и коммерческой информации от злонамеренного использования сторонними лицами. Главным принципом в них является условие, что передатчик и приемник заранее знают алгоритм шифрования, а также ключ к сообщению, без которых информация представляет собой всего лишь набор символов, не имеющих смысла. Для этого шифр должен иметь «эффект лавины», т.е. должно происходить сильное изменение шифроблока при 1битном изменении входных данных (в идеале должны меняться значения 1/2 бит шифроблока). Обрабатывают информацию блоками определенной длины (обычно 64, 128 бит), применяя к блоку ключ в установленном порядке, как правило, несколькими циклами перемешивания и подстановки, называемыми раундами.International Data Encryption Algorithm, международный алгоритм шифрования данных) - симметричный блочный алгоритм шифрования данных, запатентованный швейцарской фирмой Ascom. Так как IDEA использует 128-битный ключ и 64-битный размер блока, открытый текст разбивается на блоки по 64 бит. Каждый исходный незашифрованный 64-битный блок делится на четыре подблока по 16 бит каждый, так как все алгебраические операции, использующиеся в процессе шифрования, совершаются над 16-битными числами. Для шифрования и дешифрования IDEA использует один и тот же алгоритм. В IDEA используются следующие математические операции: ? поразрядное сложение по модулю 2 (операция "исключающее ИЛИ");DES (Data Encryption Standart) - Симметричный алгоритм шифрования, в котором один ключ используется, как для шифрования, так и для расшифрования данных. DES имеет блоки по 64 бит и 16 цикловую структуру сети Фейстеля, для шифрования использует ключ с длиной 56 бит. Алгоритм использует комбинацию нелинейных (S-блоки) и линейных (перестановки E, IP, IP-1) преобразований. Так как DES оперирует блоками 64-битного размера и использует 56-битный ключ, такая длина ключа соответствует 256 комбинаций, что обеспечивало до недавнего времени достаточный уровень безопасности, (8 четных битов полного 64-битного ключа не используются, биты четности являются наименьшими значащими битами байтов ключа). Вариант шифра RC6, заявленный на конкурс AES, поддерживает блоки длиной 128 бит и ключи длиной 128, 192 и 256 бит, но сам алгоритм может быть сконфигурирован для поддержки более широкого диапазона длин как блоков, так и ключей (от 0 до 2040 бит).В программной реализации на Intel486SX по сравнению с DES IDEA в два раза быстрее, что является существенным повышением скорости, длина ключа у IDEA имеет размер 128 бит, против 56 бит у DES, что является хорошим улучшением против полного перебора ключей. Вероятность использования слабых ключей очень мала и составляет 1/264 . IDEA быстрее алгоритма ГОСТ 28147-89 (в программной реализации на Intel486SX ).В алгоритме шифрования на вход функции каждый раз подается результат суммирования по модулю 2 открытых данных очередного блока сообщения и выходных функции для предыдущего блока. Поскольку выходные данные функции для очередного блока идут прямо на выход алгоритма CBC, то есть являются шифротекстом этого блока и одновременно поступают на вход этой же функции для зашифрования последующего блока, то говорят, что происходит сцепление блоков по шифротексту. Расшифрование происходит, соответственно, в обратном порядке - сначала к шифротексту применяют функцию, а затем суммируют с предыдущим блоком шифротекста для получения на выходе алгоритма очередного блока открытого текста.При использовании блочных шифров применяются различные схемы шифрования, известные под названием рабочих режимов шифрования для блочных шифров.Данный режим является электронным аналогом режима, использовавшегося агентами для отправки зашифрованного сообщения еще в начале XX века. Агент получал блокнот, каждая страница которого содержала уникальную последовательность - код с помощью которого и зашифровывалось сообщение. Принимающая сторона имела копию блокнота, поэтому, при условии синхронного использования страниц такой режим шифрования обеспечивал как зашифрование так и расшифрование сообщений. В ECB использованию одной страницы кодовой книги при зашифровании соответствует применение к входным данным преобразования функцией CIPHK , а при расшифровании - CIPH-1k. Как видно из рисунка весь алгоритм ECB состоит в применении напрямую функций и к сообщению и шифротексту для зашифрования и расшифрования соответственно, что также может быть выражено в виде уравнений: ECB шифрование: Cj = CIPHK(Pj) , где j=1…nCipher Feed Back Режим обратной связи по шифротексту - одна из схем симметричного шифрования, при которой зашифрованный блок текста представляет собой побитное сложение блока открытого текста с зашифрованным результатом шифрования предыдущего блока. Имеет модиф
План
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ
1. АНАЛИТИЧЕСКАЯ ЧАСТЬ
1.1 Алгоритм IDEA
1.2 Сравнение аналогов алгоритма IDEA
1.2.1 Алгоритм DES
1.2.2 Алгоритм RC6
1.2.3 Алгоритм ГОСТ 28147-89
1.2.4 Достоинства IDEA перед аналогами
1.3 Режим Cipher Block Chaining - сцепление блоков по шифротексту
1.4 Сравнение аналогов режима шифрования CBC
1.4.1 Electronic Code Book - Электронная кодовая книга
1.4.2 Cipher Feed Back - обратная загрузка шифротекста
1.4.3 Output Feed Back - обратная загрузка выходных данных
1.4.4 Counter - шифрование со счетчиком
1.4.5 Достоинства Cipher Block Chaining перед аналогами
2. КОНСТРУКТОРСКАЯ ЧАСТЬ
2.1 Функциональное моделирование
2.2 Алгоритмическое конструирование
2.3 Программная реализация
3. ЭКСПЕРИМЕНТАЛЬНАЯ ЧАСТЬ
ЗАКЛЮЧЕНИЕ
СПИСОК ЛИТЕРАТУРЫ
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы