IDEA шифрует данные блоками по 64 бита с использованием ключа длиной 128 бит. Это обеспечивает хорошую стойкость алгоритма к криптоанализу. Алгоритм IDEA спроектирован так, что допускает и аппаратную, и программную реализацию. Аппаратная реализация применяется тогда, когда требуется высокая скорость. Программные реализации медленнее, но обладают большей гибкостью и меньшей ценой.
Общая схема шифрования IDEA
Общая схема шифрования по алгоритму IDEA приведена на рис.2.3 64-битовый блок данных, разделенный на 4 16-битовых блока, и 6 различных подключей длиной 16 бит, которые генерируются из исходного ключа. Еще 4 подключа используются в выходном преобразовании (итого 52 подключа).
Структура одного раунда
1. На первом этапе 4 входных блока связываются с 4 подключами с помощью операций сложения (2 операции) и умножения (2 операции).
2. 4 выходных блока предыдущего этапа связываются между собой операцией XOR, в результате получаем 2 блока по 16 бит.
3. Третий этап работает с двумя входными блоками и двумя новыми подключами. На этом этапе производят операции сложения и умножения в различных сочетаниях. Результат – 2 блока по 16 бит.
4. 4 блока, полученные на выходе первого этапа, связываются операцией XOR с двумя блоками, полученными на выходе третьего этапа. На выходе имеем 4 выходных блока.
5. Два средних блока меняются местами для увеличения степени перемешивания.
4 Современные алгоритмы шифрования
Алгоритм представляет каждый блок кодируемых данных в виде двумерного массива байтов – решетки размером 4х4, 4х6 или 4х8 байтов, в зависимости от длины блока. Далее производятся преобразования над отдельными столбцами, либо над отдельными строками, либо над отдельными байтами. Алгоритм состоит из однотипных раундов числом от 10 до 14 (в зависимости от размера блока и длины ключа). Каждый раунд содержит следующие операции: BS: подстановка для каждого байта решетки с использованием таблицы подстановки. Каждый байт преобразуется с помощью таблицы и заменяется другим. SR: сдвиг строк в решетке на различные смещения (циклический сдвиг) MC: умножение каждого столбца на фиксированную матрицу, перемешивающее данные внутри столбца. AK: Операция XOR с исходной матрицей и матрицей, содержащей ключ шифрования.
Длина ключа алгоритма – 256 битов, размер блока – 64 бита. Алгоритм чрезвычайно прост в реализации. Алгоритм следующий: Данные разбиваются на блоки фиксированной длины. Каждый блок разбивается на два 32-битовых слова N1, N2; Выполняется первичное преобразование ключа; Первое слово блока N1 преобразуется с помощью ключа шифрования, после чего в нем производятся табличные подстановки и циклический сдвигов битов. Результат выполняет операцию XOR со вторым словом блока N2. Затем слова меняются местами; Такая операция производится 32 раза (32 раунда обработки); Производится финальная перестановка, и выходной результат является шифртекстом.
Большинство средств криптографической защиты реализовано в виде аппаратных устройств. Эти устройства встраивают в линию связи, и осуществляют шифрование всей передаваемой информации. Можно отметить следующие преимущества аппаратного шифрования над программным: Более высокая скорость шифрования-Специализированное оборудование выполняет шифрование гораздо быстрее, чем универсальный компьютер. Аппаратуру легче физически защитить от проникновения извне-Программу, выполняемую на компьютере, нарушитель может модифицировать, чтобы облегчить криптоанализ. Аппаратура же обычно помещается в специальные контейнеры, которые делают невозможным изменение схемы ее функционирования. Более того, чип покрывается сверху специальным химическим составом, и любая попытка преодолеть этот защитный слой приводит к самоуничтожению его внутренней логической структуры. Чтобы информацию нельзя было получить по электромагнитному излучению, микросхему экранируют.
Программное шифрование имеет свои достоинства: Простота копирования программных средств; Простота в использовании; Легкость модификации и обновления версий
Алгоритмы сжатия очень полезно использовать совместно с криптографическими алгоритмами. На это есть две причины:
1. При вскрытии шифра криптоаналитик очень часто использует избыточность, свойственную любому открытому тексту. Сжатие помогает избавиться от этой избыточности.
2. Шифрование – очень трудоемкая операция. При сжатии уменьшается длина открытого текста, и тем самым сокращается время шифрования. Только не надо путать: текст подлежит сжатию до, а не после шифрования.
Шифрование с открытым ключом основано на следующих принципах:
1. Криптографическая система генерирует пару взаимосвязанных ключей: открытый ключ для шифрования и секретный – для дешифрации.
2. Как правило, любой из этих связанных ключей может служить для шифрования, и тогда другой применяется для дешифрации.
3. По открытому ключу невозможно восстановить секретный ключ.
Процесс обмена сообщениями в системах с открытым ключом выглядит так:
1. Каждый пользователь в сети генерирует пару ключей: один для шифрования, другой для дешифрации.
2. Каждый пользователь публикует свой открытый ключ, помещая его в общедоступном файле. Это открытый ключ. Второй ключ остается в личном пользовании и является секретным.
3. Если пользователь А хочет послать сообщение пользователю В, он шифрует сообщение, используя открытый ключ пользователя В.
4. Когда пользователь В получает сообщение, он дешифрует его с помощью своего секретного ключа. Никто другой не сможет расшифровать сообщение, не имея второго секретного ключа.
Алгоритм RSA – это блочный шифр, текст шифруется блоками. Каждый блок содержит количество бит, меньшее некоторого заданного числа N. Алгоритм основан на формулах со степенями. Если М – открытый текст, а С – зашифрованный, то процесс шифрации и дешифрации выражается формулами: С = Ме mod N, М = Cd mod N
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.