Особенности обратного преобразования шифра Фейстеля

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

ГОСТ28147-89

ГОСТ 28147-89 -это стандарт, принятый в 1989 году в Советском Союзе и установивший алгоритм шифрования данных, составляющих гостайну. По

свидетельству причастных к его реализациям и использованию людей, алгоритм был разработан в 70-е годы в 8-м Главном Управлении КГБ СССР,

тогда он имел гриф Сов.Секретно. Затем гриф был понижен до Секретно, а когда в 89-м году алгоритм был проведен через Госстандарт и стал официальным государственным стандартом, гриф с него был снят. В начале 90-х годов он стал полностью открытым.

DES.

DES —симметричный блочный алгоритм шифрования, разработан фирмой IBM. С 1977 года утвержден как официальный стандарт США (FIPS 46-3).

Упрощенный DES (S-DES)

Разработан профессором Эдуардом Шаефером (EdwardSchaefer) Университета Санта-Клары и является образовательным инструментом для помощи студентам при изучении структуры DES -для шифрования и дешифрования с использованием блочных шифров и ключей с небольшим количеством битов.

S-DES принимает исходный текст по 8 битов и создает зашифрованный текст по 8 битов. Один и тот же ключ шифра на 10 битов используется и для шифрования, и для дешифрования.

Процесс шифрования состоит из начальной перестановки IP, двух раундов Фейстеля и конечной перестановки IP-1. Каждый раунд использует различные ключи раунда по 8 битов, сгенерированные от ключа

Алгоритм DES –шифр Фейстеля со следующими параметрами

1) 64 –битные блоки;

2) 56 битный ключ;

3) 16 раундов шифрования

4) Функция F–композиционная.

Схема шифрования.

Открытый текст -> Начальная перестановка IP-> Шифр Фейстеля ->IP-1 -

>Шифрованный текст

Недостатки DES

В 80-х годах в США был принят стандарт симметричного криптоалгоритма для внутреннего применения DES (DataEncryptionStandard).

В настоящее время DESустарел по двум причинам:

1)Малая длина его ключа (56 бит).

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

DoubleDES

Наиболее логичным способом противодействия полному перебору ключаDES выглядит многократноезашифрование данных алгоритмом DES сразличными ключами. Следующий алгоритм получил название DoubleDES–двойной DES:C = Ek2/2(Ek1/2(M)),где k1/2 и k2/2 –половины двойного ключа алгоритма DoubleDES, каждая изкоторых представляет собой обычный 56-битный ключ DES, а E –функциязашифрования блока данных обычным DES-ом.DoubleDES действительноудваивает эффективный размер ключа –до 112 бит, а при современномразвитии вычислительной техники полный перебор 112-битного ключаневозможен.

Атака «встреча посередине»

предложена Ральфом Мерклем (RalphMerkle) и Мартином Хеллманом . Спомощью этой атаки криптоаналитик может получить k1/2 и k2/2 при наличиивсего двух пар открытого текста и шифртекста (M1 –C1 и M2 –C2) следующимобразом:

Шаг 1. Выполняется зашифрованиеEkx(M1) на всем ключевом пространстве с записью результатов в некоторую таблицу.

Шаг 2. Производится расшифрованиеDky(C1) также на всем ключевомпространстве; результаты расшифрования сравниваются со всеми записями в таблице, сформированной на шаге 1.

Шаг 3. Если какой-либо результат, полученный на шаге 2, совпал с одним изрезультатов шага 1, то можно предположить, что нужный ключ найден, т. е.

соответствующие совпадающему резальтатуkx = k1/2, а ky = k2/2. Однако таких совпадений может быть много, их количество оценивается в [1] как 248.

Шаг 4. Для отсечения «ложных» ключей необходимо повторить предыдущиешаги с парой M2 –C2, сузив пространство перебора только до вариантов,приводящих к совпадениям (т. е. примерно 248). Вероятность наличия болеечем одного совпадения после повторного перебора оценивается в [1] как 2–16.Такая атака, выполняющая, фактически, перебор половинок двойного ключа,как со стороны открытого текста, так и со стороны шифртекста, требуетпримерно в 2 раза больше вычислений, чем перебор обычного ключа DES,однако, требует также много памяти для хранения промежуточных результатов. Тем не менее, атака является реально осуществимой на практике, поэтому алгоритм DoubleDES не используется. Используется TripleDES

Тройной DES

Достаточно медленно работает, так что некоторые приложения не могутработать по этим алгоритмом.Так как текст, зашифровaнный двойным DES оказывается не стойким прикриптографической атаке то текст шифруется 3 раза DES. Такимобразом длина ключа возрастает до 168-бит (56x3).

Типы тройного шифрования DES:

DES-EEE3: Шифруется 3 раза с 3 различными ключами.

DES-EDE3: 3 DES операции шифровка-расшифровка-шифровка с 3различными ключами.

DES-EEE2 и DES-EDE2: Как и предыдущие, за исключением того, чтопервая и третья операции используют одинаковый ключ.

IDEA(InternationalDataEncryptionAlgorithm) -это вторая версия блочного шифра, разработанного К. Лейем (Lai) и Д. Месси (Massey) в конце 80-х. Дешифрование выполняется по тому же принципу, что и шифрование.

Структура шифра была разработана для легкого воплощения как программно, так и аппаратно.

Частично основан на структуре FEAL

1)размер блока 64 бита;

2) размер ключа 128 битов;

3) число раундов 8:

4)выходное отображение, обеспечивающее обратимость;

5)входного отображения нет;

Безопасность IDEA основывается на использовании трех не совместимх типов арифметических операций над 16-битными словами.

В ходе алгоритма выполняются следующие операции:

1.XOR сложение (+)

2.сложение по модулю 2^16 [+]

3.умножение по модулю 2^16 +1 {*} .

Сравнительная характеристика ГОСТ и DES
1. Размер блока шифрования г-64 бита, d-64

2. Длина ключа г-256 бит d-56

3. Число раундов г-52 d-16

4. (s-blocks) г-не фиксированыd-fixed

5.Длина ключа для одного раунда г-32 бита d-48

6. Схема выработки раундового ключа г-простаяd-сложная

7. начальная и конечная перестановки г-нетd-есть

Финалисты конкурса AES

Финалист AES –шифр MARS

1 -входное забеливание: ко всем байтам исходного текста добавляются байты из материала ключа.

2 -прямое перемешивание, сеть Фейстеля (8 раундов) без добавления ключа.

3 - сеть Фейстелятреьего типа с 4 ветвями (8 раундов).

Затем повторяются те же операции, но в обратном порядке: сначала шифрование, перемешивание, забеливание. При этом во вторые варианты всех операций внесены некоторые изменения таким образом, чтобы криптоалгоритм в целом стал абсолютно симметричным.

Финалист AES –шифр RC6

сеть Фейштеля с 4 ветвями. Разработчики рекомендуют при шифровании использовать 20 раундов сети, хотя в принципе их количество не регламентируется. При 20 повторах операции шифрования алгоритм имеет самую высокую скорость среди 5 финалистов AES

Финалист AES –шифр Serpent

Алгоритм разработан группой ученых из нескольких исследовательских центров мира. Алгоритм представляет собой сеть Фейстеля для четырех ветвей.

Используются только исключающее "ИЛИ", табличные подстановки и битовые сдвиги. Алгоритм состоит из 32 раундов.

Финалист AES –шифр TwoFish

Алгоритм разработан команиейCounterpainSecuritySystems, возглавляемой Брюсом Шнайером.

Предыдущая программная разработка этой фирмы, называвшаяся BlowFish, до сих пор является признанным криптостойким алгоритмом Сеть Фейштеля.

Единственным нарицанием, поступившим в адрес TwoFish от независимых исследователей, является тот факт, что при расширении материала ключа в алгоритме используется сам же алгоритм. Двойное применение блочного шифра довольно сильно усложняет его анализ на предмет наличия слабых ключей или недокументированных замаскированных связей между входными и выходными данными

Победитель AES –шифр Rijndael

Не использует сеть Фейстеля для криптопреобразований. Алгоритмпредставляет каждый блок кодируемых данных в виде двумерного массивабайт размером 4х4, 4х6 или 4х8 в зависимости от установленной длиныблока. Далее на соответствующих этапах преобразования производятсялибо над независимыми столбцами, либо над независимыми строками,либо вообще над отдельными байтами в таблице.

Все преобразования в шифре имеют строгое математическое обоснование.

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

Алгоритм состоит из некоторого количества раундов (от 10 до 14 –это Зависитот размера блока и длины ключа), в которых последовательновыполняются следующие операции:

ByteSub –табличная подстановка 8х8 бит

ShiftRow –сдвиг строк в двумерном массиве на различные смещения

MixColumn –перемешивание данных внутри Столбца

AddRoundKey –добавление материала ключа операцией XOR

Стандарт AES

• алгоритм должен быть симметричным,

• алгоритм должен быть блочным шифром,

• алгоритм должен иметь длину блока 128 бит, и поддерживать три длины

ключа: 128, 192 и 256 бит.

• использовать операции, легко реализуемые как аппаратно, так и программно,

• ориентироваться на 32-разрядные процессоры,• не усложнять без необходимости структуру шифра

Виды операций, используемых в SDES. SAES\

RotWord (вращение слова(8бит)) применяется к слову. Процедура получает слово как массив 2 полубайтов (по 4 бита) и сдвигает каждый полубайт циклически влево.

SubWord -применяется к полубайтам. Процедура заменяет его полубайтом потаблице SubNibbels

ShiftRows- Преобразование сдвигает биты строки влево. Число сдвигов

зависит от номера строки (0, 1) в матрице состояний. Это означает, что строка 0 не сдвигается вообще, а строка 1 сдвигается на 1 полубайт

AddRoundKey -матричное сложение (по модулю 16) матрицы-ключа и матрицы-состояния.

MixColumn –перемешивание данных внутри столбца.

Режимы использования блочных шифров (ECB, CBC, CFB, OFB, CTR)

Всякийсимметричный блочный шифрможетиспользоваться в нескольких режимахшифрования. Базовый режим – электроннаякодовая книга ( от англ. ECB) или простаязамена.-подстановка.

Режимышифрования– различныеалгоритмыобработки данных, построенные на основебазовогорежимаECB.

Криптографическаястойкостьэтихалгоритмовопределяется стойкостью базового режима.

Режимышифрованияпозволяютиспользоватьблочный шифр для решения различныхкриптографическихзадач.

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

пароли, сеансовые ключи и т.п.

Шифрование на одном ключе одинаковых блоковОткрытоготекстадаетодинаковыеблокишифртекста.

Заменыиперестановкиотдельныхблоковвшифртексте

Ненарушаюткорректностирасшифрования.

Это позволяют активному противнику наблюдатьЧастотыпоявленияотдельныхблоковисообщений(игенерироватьнаосновеэтоголожныесообщения).

При изменении 1 бита открытого текста изменится около50%битов соответствующего блока шифрованного текста.

Режим CBC(сцепление блоков шифртекста).

Одинаковые блоки открытого текстазашифровываются в разные блоки шифрованноготекста.

Если одинаковые сообщения, зашифрованные однимключом, имеют одинаковые начальные вектора, тошифротексты совпадут. Поэтому требуется избегатьодинаковых начальных векторов.

Режим CFBcipherfeedback(обратная связь по

шифртексту или гаммирование с обратнойсвязью).

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

CFB-m.

Режим OFB( обратная связь по выходу иливнутренняя обратная связь).

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

Режим «счетчик»(CTR).

Шифрование хвостов

Ввиду того, что сообщения имеют длину, не кратную 2n, появляются хвосты.

Возникает задача шифрования последнего блока.

Простейший способ –дополнение неполного m-битового блока открытого текстастрокой длины 2n-m-8 бит определенного вида, например 0,и последним байтом, вкотором указано число 2n-m, равное дефициту последнего блока в битах. Послеэтого дополненный блок шифруется обычным образом.


9. Симметричные поточные шифры. Гаммирование. Повторное использование гаммы. Классификация и области применения. RC4.