Алгоритм создания цепочек

Алгоритм создания цепочек

Алгоритм создания цепочек — это процесс разбиения шифруемой информации на блоки определенного размера.

Содержание

Алгоритм создания цепочек ECB (Electronic Code Book)

Шифруемый файл временно разделяется на блоки, равные блокам алгоритма, каждый из них шифруется независимо, а затем из зашифрованных пакетов данных компонуется в той же последовательности файл, который отныне надежно защищен криптоалгоритмом. Название алгоритм получил из-за того, что в силу своей простоты он широко применялся в простых портативных устройствах для шифрования — электронных шифрокнижках.

Ci = Ek(Pi)

где i — номера блоков, Ci и Pi — блоки зашифрованного и открытого соответственно, а Ek — функция блочного шифрования. Расшифровка аналогична:

Pi=Dk(Ci)


В том случае, когда длина пересылаемого пакета информации не кратна длине блока криптоалгоритма возможно расширение последнего (неполного) блока байт до требуемой длины либо с помощью генератор псевдослучайных чисел, что не всегда безопасно в отношении криптостойкости, либо с помощью хеш-суммы передаваемого текста. Второй вариант более предпочтителен, так как хеш-сумма обладает лучшими статистическими показателями, а ее априорная известность стороннему лицу равносильна знанию им всего передаваемого текста.

Указанным выше недостатком этой схемы является то, что при повторе в исходном тексте одинаковых символов в течение более, чем 2*N байт (где N — размер блока криптоалгоритма), в выходном файле будут присутствовать одинаковые зашифрованные блоки. Поэтому, для более «мощной» защиты больших пакетов информации с помощью блочных шифров применяются несколько обратимых схем «создания цепочек». Все они почти равнозначны по криптостойкости, каждая имеет некоторые преимущества и недостатки, зависящие от вида исходного текста.

Все схемы создания цепочек основаны на идее зависимости результирующего зашифровываемого блока от предыдущих, либо от позиции его в исходном файле. Это достигается с помощью блока «памяти» — пакета информации длины, равной длине блока алгоритма. Блок памяти (к нему применяют термин IV — англ. Initial Vector) вычисляется по определенному принципу из всех прошедших шифрование блоков, а затем накладывается с помощью какой-либо обратимой функции (обычно XOR) на обрабатываемый текст на одной из стадий шифрования. В процессе раскодирования на приемной стороне операция создания IV повторяется на основе принятого и расшифрованного текста, вследствие чего алгоритмы создания цепочек полностью обратимы.


Алгоритма создания цепочек — CBC-MAC

Метод CBC-MAC получил название от английской аббревиатуры Cipher Block Chaining — объединение в цепочку блоков шифра. Каждый блок открытого текста (кроме первого) побитово складывается по модулю 2 (операция XOR) с предыдущим результатом шифрования.

Шифрование:

C0 = IV

Ci=Ek(P{i}*C{i-1})

где i — номера блоков, IV — вектор инициализации (синхропосылка), Ci и Pi — блоки зашифрованного и открытого текстов соответственно, а Ek — функция блочного шифрования. Расшифровка:

Pi=C{i-1}*Dk(C{i})


Алгоритм создания цепочек CFB

метод CFB получил название от английской аббревиатуры Cipher FeedBack — обратная связь по шифроблоку. Режим обратной связи по шифротексту, режим гаммирования с обратной связью. Для шифрования следующего блока открытого текста он складывается по модулю 2 с перешифрованным (блочным шифром) результатом шифрования предыдущего блока.

C0=IV

Ci=Ek*(C{i-1}*Pi)

Pi=Ek*(C{i-1})*Ci


Алгоритм создания цепочек OFB

Метод OFB получил название от английской аббревиатуры Output FeedBack — обратная связь по выходу.

Имеет несколько иную структуру: в нем значение накладываемое на шифруемый блок не зависит от предыдущих блоков, а только от позиции шифруемого блока (в этом смысле он полностью соответствует скремблерам), и из-за этого он не распространяет помехи на последующие блоки. Очевидно, что все алгоритмы создания цепочек однозначно восстановимы. Режим (OFB) обратной связи вывода превращает блочный шифр в синхронный шифрпоток: это генерирует ключевые блоки, которые являются результатом сложения с блоками открытого текста, чтобы получить зашифрованный текст. Так же, как с другими шифрами потока, зеркальное отражение в зашифрованном тексте производит зеркально отраженный бит в открытом тексте в том же самом местоположении. Это свойство позволяет многим кодам с исправлением ошибок функционировать как обычно, даже когда исправление ошибок применено перед кодированием.

Из-за симметрии операции сложения, шифрование и расшифрование похожи: Ci=Pi*Oi

Pi=Ci*Oi

Oi = Ek*(Oi − 1)

O0 = IV


Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Полезное


Смотреть что такое "Алгоритм создания цепочек" в других словарях:

  • FROG — Создатель: Д. Георгудис, Д. Леру и Б. Шаве Создан: 199 …   Википедия

  • Полный перебор — У этого термина существуют и другие значения, см. Перебор. Полный перебор (или метод «грубой силы», англ. brute force)  метод решения математических задач. Относится к классу методов поиска решения исчерпыванием всевозможных… …   Википедия

  • RainbowCrack — Тип взлом хешей Разработчик Zhu Shuanglei Операционная система Windows и Linux Последняя версия 1.5 (26 августа 2010) Сайт http://project rainbowcrack.com/ …   Википедия

  • Радужная таблица — Схема упрощенной радужной таблицы с длиной цепочек равной трем. R1 R2 R3 функции редукции, H функция хеширования. Радужная таблица (англ. rainbow table)  специальный вариан …   Википедия

  • LZMA — (англ. Lempel Ziv Markov chain Algorithm)  алгоритм сжатия данных, разрабатываемый с 2001 года. Используется в архиваторе 7 Zip для создания сжатых архивов в формате 7z. Алгоритм основан на схеме сжатия данных по словарю, сходной с… …   Википедия

  • ВВЭР-1000 — Монтаж корпуса реактора ВВЭР 1000 на Балаковской АЭС Тип реактора водо водяной …   Википедия

  • Mathematica — Тип Сист …   Википедия

  • Коллизия хеш-функции — Коллизией хеш функции называется два различных входных блока данных и таких, что Коллизии существуют для большинства хеш функций, но для «хороших» хеш функций частота их возникновения близка к теоретическому минимуму. В некоторых частных случаях …   Википедия

  • Коллизия хэш-функции — Коллизией хеш функции H называется два различных входных блока данных x и y таких, что H(x) = H(y). Коллизии существуют для большинства хеш функций, но для «хороших» хеш функций частота их возникновения близка к теоретическому минимуму. В… …   Википедия

  • Бонгард, Михаил Моисеевич — В Википедии есть статьи о других людях с такой фамилией, см. Бонгард. Михаил Моисеевич Бонгард Дата рождения: 26 ноября 1924(1924 11 26) Место рождения: Москва, СССР Дата смерти …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»