Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры ЗИ.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
258.17 Кб
Скачать

7. Классификация криптографических алгоритмов. Области применения, виды криптоанализа,

Классификация криптографических алгоритмов

Современные криптоалгоритмы

Симметричные - Традиционные,с секретным ключом

Асимметричные - Открытые,с открытым ключом

виды криптоанализа

Частотный анализ — основной инструмент для взлома большинства классических шифров перестановки или замены. Данный метод основывается на предположении о существовании нетривиального статистического распределения символов, а также их последовательностей одновременно и в открытом тексте, и в шифротексте. Причём данное распределение будет сохраняться с точностью до замены символов как в процессе шифрования, так и в процессе дешифрования. Стоит отметить, что при условии достаточно большой длины шифрованного сообщения моноалфавитные шифры легко поддаются частотному анализу: если частота появления буквы в языке и частота появления некоторого присутствующего в шифротексте символа приблизительно равны, то в этом случае с большой долей вероятности можно предположить, что данный символ и будет этой самой буквой. Самым простым примером частотного анализа может служить банальный подсчёт количества каждого из встречающихся символов, затем следуют процедуры деления полученного числа символов на количество всех символов в тексте и умножение результата на сто, чтобы представить окончательный ответ в процентах. Далее полученные процентные значения сравниваются с таблицей вероятностного распределения букв для предполагаемого языка оригинала.

В период XV-XVI веков в Европе создавались и развивались полиалфавитные шифры замены. Наиболее известным является шифр французского дипломата Блеза де Виженера, в основу которого легло использование последовательности нескольких шифров Цезаря с различными значениями сдвига. На протяжении трёх веков Шифр Виженера считался полностью криптографически устойчивым, пока в 1863 году Фридрих Касиски не предложил свою методику взлома этого шифра. Основная идея метода Касиски заключается в следующем: если в открытом тексте между двумя одинаковыми наборами символов находится такой блок текста, что его длина кратна длине ключевого слова, то эти одинаковые наборы символов открытого текста при шифровании перейдут в одинаковые отрезки шифротекста. На практике это означает то, что при наличии в шифротексте одинаковых отрезков длиной в три и больше символов, велика вероятность того, что эти отрезки соответствуют одинаковым отрезкам открытого текста. Как применяется метод Касиски: в шифротексте ищутся пары одинаковых отрезков длины три или больше, затем вычисляется расстояние между ними, то есть количество символов, разделяющих стартовые позиции парных отрезков. В результате анализа всех пар одинаковых отрезков мы получим совокупность расстояний d1, d2, d3,… Очевидно, что длина ключевого слова будет делителем для каждого из расстояний и, следовательно, для их наибольшего общего делителя.

Основные методы криптоанализа:

  1. Атака на основе шифротекста

  2. Атака на основе открытых текстов и соответствующих шифротекстов

  3. Атака на основе подобранного открытого текста (возможность выбрать текст для шифрования)

  4. Атака на основе адаптивно подобранного открытого текста

Дополнительные методы криптоанализа:

  1. Атака на основе подобранногошифротекста

  2. Атака на основе подобранного ключа

  3. Бандитский криптоанализ

8. Современные блочные шифры. Понятие шифра Фейстеля.. Особенности обратного преобразования шифра Фейстеля. DES.Недостатки DES. Атакана DES-2. Triple DES.IDEA,ГОСТ28147-89.Сравнительная характеристика. Финалисты конкурса AES. Сравнительная характеристика.. Стандарт AES. Виды операций, используемых в SDES. SAES.Режимы использования блочных шифров (ECB, CBC, CFB, OFB, CTR). Области использования режимов. Шифрование хвостов. Современные блочные шифры

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

Пусть блочный шифр оперирует с блоками длины n. Всего таких блоков 2**n. Обратимых преобразований блоков длины n в блоки такого же размера всего (2**n)!. Если n невелико, то такой шифр эквивалентен шифру подстановки на соответствующем алфавите и нестоек к частотному анализу. Чем больше n, тем менее эффективна статистическая атака. Выписать таблицу преобразования блоков длины 64 бита не представляется возможным.

В 1973году Хорст Фейстельввел конструкцию, названную впоследствии сетью Фейстеля

Сеть Фе́йстеля (конструкция Фейстеля) — один из методов построения блочных шифров. Сеть представляет собой определённую многократно повторяющуюся (итерированную) структуру, называющуюся ячейкой Фейстеля. При переходе от одной ячейки к другой меняется ключ, причём выбор ключа зависит от конкретного алгоритма. Операции шифрования и расшифрования на каждом этапе очень просты, и при определённой доработке совпадают, требуя только обратного порядка используемых ключей. Шифрование при помощи данной конструкции легко реализуется как на программном уровне, так и на аппаратном, что обеспечивает широкие возможности применения. Большинство современных блочных шифров используют сеть Фейстеля в качестве основы. Альтернативой сети Фейстеляявляетсяподстановочно-перестановочная сеть.

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

Процесс дешифрования шифра Фейстеля производится по той же схеме (не по обратной), что и шифрование. Применяется тот же алгоритм, но на вход подается шифрованный текст, а подключи 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, равное дефициту последнего блока в битах. Послеэтого дополненный блок шифруется обычным образом.