Режимы шифрования. Алгоритм шифрования (лекция 4)

Содержание

Слайд 2

Режимы шифрования

электронная кодовая книга - ECB (Electronic Code Book); 
сцепление блоков шифротекста

Режимы шифрования электронная кодовая книга - ECB (Electronic Code Book); сцепление блоков
- CBC (Cipher Block Chaining); 
обратная связь по шифротектсту - CFB (Cipher Feed Back);
обратная связь по выходу - OFB (Output Feed Back); 

Слайд 3

ЭЛЕКТРОННАЯ КОДОВАЯ КНИГА

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

ЭЛЕКТРОННАЯ КОДОВАЯ КНИГА Каждый блок шифруют независимо от других с использованием одного
шифрования.

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

Слайд 4

СЦЕПЛЕНИЕ БЛОКОВ ШИФРОТЕКСТА

Исходный текст разбивается на блоки, а затем обрабатывается по следующей

СЦЕПЛЕНИЕ БЛОКОВ ШИФРОТЕКСТА Исходный текст разбивается на блоки, а затем обрабатывается по
схеме:
Первый блок складывается побитно по модулю 2 (XOR) с неким значением IV - начальным вектором (Init Vector), который выбирается независимо перед началом шифрования.  Полученное значение шифруется.  Полученный в результате блок шифротекста отправляется получателю и одновременно служит начальным вектором IV для следующего блока открытого текста.  Расшифрование осуществляется в обратном порядке.
C0 = IV

Типичные приложения - общая блокоориентированная передача, аутентификация.

Слайд 5

ОБРАТНАЯ СВЯЗЬ ПО ШИФРОТЕКСТУ

Шифрование в режиме CFB

Вначале IV заполняется неким значением, которое

ОБРАТНАЯ СВЯЗЬ ПО ШИФРОТЕКСТУ Шифрование в режиме CFB Вначале IV заполняется неким
называется синхропосылкой, не является секретным и передается перед сеансом связи получателю. 
Значение IV шифруется и складываtтся (XOR) с открытым текстом и получается блок шифротекста.  Значением IV становится значение ш.т. Расшифрование аналогично.
Особенностью данного режима является распространение ошибки на весь последующий текст. Применяется как правило для шифрования потоков информации типа оцифрованной речи, видео.

Расшифрование в режиме CFB

Слайд 6

ОБРАТНАЯ СВЯЗЬ ПО ВЫХОДУ
O0 = IV Oi = Ek(Oi - 1)

Сдвиговый регистр IV заполняется шифрованными

ОБРАТНАЯ СВЯЗЬ ПО ВЫХОДУ O0 = IV Oi = Ek(Oi - 1)
битами ключа
Расшифрование осуществляется аналогично. Главное свойство шифра - единичные ошибки не распространяются, т.к заполнение сдвигового регистра осуществляется не зависимо от шифротекста.
Область применения: потоки видео, аудио или данных, для которых необходимо обеспечить оперативную доставку. Широко используется у военных наряду с поточными шифрами.

Слайд 7

ОБЩИЕ СВЕДЕНИЯ

Полное название — «ГОСТ 28147-89 Системы обработки информации. Защита криптографическая. Алгоритм

ОБЩИЕ СВЕДЕНИЯ Полное название — «ГОСТ 28147-89 Системы обработки информации. Защита криптографическая.
криптографического преобразования».
Размер блока - 64 бита
Длина ключа - 256 бит
Основа алгоритма  — сеть Фейстеля с 32 раундами преобразования.

Слайд 8

Элементы данных

X – элемент данных, |X| - размер X в битах. 0

Элементы данных X – элемент данных, |X| - размер X в битах.
Состоит из элементов меньшего размера,
X=(X 0,X 1,…,Xn –1)=X 0||X 1||…||Xn –1.
Размер |X|=|X 0|+|X 1|+…+|Xn -1|.
Интерпретируется как массив отдельных бит,
X=(x 0,x 1,…,xn –1)=x 0+21·x 1+…+2 n–1·xn –1.

Слайд 9

Для ГОСТа принята т.н. «little-endian» нумерация разрядов, т.е. внутри многоразрядных слов данных

Для ГОСТа принята т.н. «little-endian» нумерация разрядов, т.е. внутри многоразрядных слов данных
отдельные двоичные разряды с меньшими номерами являются менее значимыми.
Если над элементами данных выполняется логическая операция, то предполагается, что данная операция выполняется над соответствующими битами элементов.
A•B=(a 0•b 0,a 1•b 1,…,an –1•bn –1), где n=|A|=|B|, а символом «•» обозначается произвольная бинарная логическая операция; как правило, имеется в виду операция исключающего или

Слайд 10

КЛЮЧЕВАЯ ИНФОРМАЦИЯ

Ключ K- массив из восьми
32-битовых элементов кода, элементы ключа

КЛЮЧЕВАЯ ИНФОРМАЦИЯ Ключ K- массив из восьми 32-битовых элементов кода, элементы ключа
используются как 32-разрядные целые числа без знака: K ={Ki} 0 ≤ i ≤ 7
Размер ключа 0 ≤Ki ≤ 232 составляет 32·8=256 бит или 32 байта..

Слайд 11

2. Таблица замен H - вектор, содержа-щий восемь узлов замены . Каждый

2. Таблица замен H - вектор, содержа-щий восемь узлов замены . Каждый
узел замены является вектором, содержащим шестнадцать 4-битовых элементов замены, представляющих собой целые числа от 0 до 15, все элементы одного узла замены обязаны быть различными.
общий объем таблицы замен: 8 узлов x 16 элементов/узел x 4 бита/элемент = 512 бит = 64 байта.

Слайд 12

Принципы построения шифра ГОСТ

ГОСТ содержит алгоритмы трех уровней. В основе лежит «основной

Принципы построения шифра ГОСТ ГОСТ содержит алгоритмы трех уровней. В основе лежит
шаг», на базе которого строятся «базовые циклы», и уже на их основе построены практические процедуры шифрования. Специфика заключена именно в его основном шаге, На вход основного шага подается блок четного размера, старшая и младшая половины которого обрабатываются отдельно друг от друга. В ходе преобразования младшая половина блока помещается на место старшей, а старшая, скомбинированная с помощью операции побитового исключающего или с результатом вычисления некоторой функции, на место младшей.

Слайд 13

Эта функция, принимающая в качестве аргумента младшую половину блока и некоторый элемент

Эта функция, принимающая в качестве аргумента младшую половину блока и некоторый элемент
ключевой информации (X), является содержательной частью шифра и называется его функцией шифрования. Соображения стойкости шифра требуют, чтобы размеры всех перечисленных элементов блоков были равны: |N1| = |N2| = |X|, в ГОСТ и DESе они равны 32 битам.

Слайд 14

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

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

Слайд 15

Пример таблицы замен


Пример таблицы замен

Слайд 16

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

Шаг 0
N – преобразуемый 64-битовый блок данных, в ходе выполнения

Основной шаг криптопреобразования Шаг 0 N – преобразуемый 64-битовый блок данных, в
шага его младшая (N 1) и старшая (N 2) части обрабатываются как отдельные 32-битовые целые числа без знака. X – 32-битовый элемент ключа;
Шаг 1
Сложение с ключом. Младшая половина преобразуемого блока складывается по модулю 232 с используемым на шаге элементом ключа;
Шаг 2
Поблочная замена. 32-битовое значение, полученное на предыдущем шаге, интерпретируется как массив из восьми 4-битовых блоков кода: S=(S 0, S 1, S 2, S 3, S 4, S 5, S 6, S 7), причем S 0 содержит 4 самых младших, а S 7 – 4 самых старших бита S.

Слайд 17

Далее значение каждого из восьми блоков заменяется новым, в качестве замены для

Далее значение каждого из восьми блоков заменяется новым, в качестве замены для
значения блока выбирается элемент из таблицы замен с номером строки, равным номеру заменяемого блока, и номером столбца, равным значению заменяемого блока как 4-битового целого неотрицательного числа.
Шаг 3
Результат предыдущего шага сдвигается циклически на 11 бит в сторону старших разрядов.
Шаг 4
Побитовое сложение: значение, полученное на шаге 3, побитно складывается по модулю 2 со старшей половиной преобразуемого блока.
Шаг 5
Сдвиг по цепочке: младшая часть преобразуемого блока сдвигается на место старшей, а на ее место помещается результат выполнения предыдущего шага.
Шаг 6
Полученное значение возвращается как результат выполнения алгоритма основного шага криптопреобразования.

Слайд 18

Базовые циклы криптографических преобразований

Базовые циклы построены из основных шагов криптографического преобразования
цикл зашифрования

Базовые циклы криптографических преобразований Базовые циклы построены из основных шагов криптографического преобразования
(32-З);
цикл расшифрования (32-Р);
цикл выработки имитовставки (16-З).

Слайд 19

Цикл зашифрования 32-З

K 0,K 1,K 2,K 3,K 4,K 5,K 6,K 7,
K 0,K

Цикл зашифрования 32-З K 0,K 1,K 2,K 3,K 4,K 5,K 6,K 7,
1,K 2,K 3,K 4,K 5,K 6,K 7,
K 0,K 1,K 2,K 3,K 4,K 5,K 6,K 7,
K 7,K 6,K 5,K 4,K 3,K 2,K 1,K 0.

Слайд 20

Цикл расшифрования 32-Р:

K 0,K 1,K 2,K 3,K 4,K 5,K 6,K 7,
K 7,K

Цикл расшифрования 32-Р: K 0,K 1,K 2,K 3,K 4,K 5,K 6,K 7,
6,K 5,K 4,K 3,K 2,K 1,K 0,
K 7,K 6,K 5,K 4,K 3,K 2,K 1,K 0,
K 7,K 6,K 5,K 4,K 3,K 2,K 1,K 0.

Слайд 21

Цикл выработки имитовставки 16-З:

K 0,K 1,K 2,K 3,K 4,K 5,K 6,K 7,K

Цикл выработки имитовставки 16-З: K 0,K 1,K 2,K 3,K 4,K 5,K 6,K
0,K 1,K 2,K 3,K 4,K 5,K 6,K 7.

Слайд 22

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

Цикл расшифрования должен быть обратным циклу зашифрования, то есть последовательное применение этих
двух циклов к произвольному блоку должно дать в итоге исходный блок: Ц 32-Р(Ц 32-З(T))=T, где T – произвольный 64-битовый блок данных, Ц X(T) – результат выполнения цикла X над блоком данных T. Для выполнения этого условия для алгоритмов, подобных ГОСТу, необходимо и достаточно, чтобы порядок использования ключевых элементов соответствующими циклами был взаимно обратным.
Из двух взаимно обратных циклов любой может быть использован для зашифрования, тогда второй должен быть использован для расшифрования данных, однако стандарт ГОСТ28147-89 закрепляет роли за циклами и не предоставляет пользователю права выбора в этом вопросе.

Слайд 23

Основные режимы шифрования.

ГОСТ 28147-89 предусматривает три следующих режима шифрования данных:
простая замена,
гаммирование,

Основные режимы шифрования. ГОСТ 28147-89 предусматривает три следующих режима шифрования данных: простая

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

Слайд 24

Простая замена.

Алгоритм зашифрования данных в режиме простой замены

Алгоритм расшифрования данных в режиме

Простая замена. Алгоритм зашифрования данных в режиме простой замены Алгоритм расшифрования данных
простой замены

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

Слайд 25

Гаммирование.

Гаммирование – это наложение (снятие) на открытые (зашифрованные) данные криптографической гаммы, для

Гаммирование. Гаммирование – это наложение (снятие) на открытые (зашифрованные) данные криптографической гаммы,
получения зашифрованных (открытых) данных. В ГОСТе для этой цели используется операция побитового сложения по модулю 2.
Гаммирование решает проблемы:
Во-первых, все элементы гаммы различны для реальных шифруемых массивов и, следовательно, результат зашифрования даже двух одинаковых блоков в одном массиве данных будет различным.
Во-вторых, хотя элементы гаммы и вырабатываются одинаковыми порциями в 64 бита, использоваться может и часть такого блока с размером, равным размеру шифруемого блока.

Слайд 26

РГПЧ, используемый для выработки гаммы, является рекуррентной функцией:
– элементы рекуррентной

РГПЧ, используемый для выработки гаммы, является рекуррентной функцией: – элементы рекуррентной последовательности,
последовательности, f – функция преобразования.
Элемент является параметром алгоритма для режимов гаммирования, на схемах он обозначен S, и называется в криптографии синхропосылкой , а в ГОСТе – начальным заполнением одного из регистров шифрователя. По определенным соображениям разработчики ГОСТа решили использовать для инициализации РГПЧ не непосредственно синхропосылку, а результат ее преобразования по циклу 32-З:

Слайд 27

Элементы последовательности, вырабатываемой РГПЧ, являются функцией своего номера и начального заполнения РГПЧ:

Элементы последовательности, вырабатываемой РГПЧ, являются функцией своего номера и начального заполнения РГПЧ:
где fi (X)=f(fi –1(X)), f 0(X)=X. С учетом преобразования по алгоритму простой замены добавляется еще и зависимость от ключа:
где Гi – i-тый элемент гаммы, K – ключ.
Последовательность элементов гаммы однозначно определяется ключом и синхропосылкой. Для обратимости процедуры шифрования в процессах за- и расшифрования должна использоваться одна и та же синхропосылка. Это приводит к необходимости хранить или передавать синхропосылку по каналам связи вместе с зашифрованными данными, хотя она может быть предопределена или вычисляться особым образом, если исключается шифрование двух массивов на одном ключе.

Слайд 28

РГПЧ спроектирован разработчиками ГОСТа исходя из необходимости выполнения следующих условий:
период повторения последовательности

РГПЧ спроектирован разработчиками ГОСТа исходя из необходимости выполнения следующих условий: период повторения
чисел, вырабатываемой РГПЧ, не должен сильно (в процентном отношении) отличаться от максимально возможного при заданном размере блока значения 264;
соседние значения, вырабатываемые РГПЧ, должны отличаться друг от друга в каждом байте, иначе задача криптоаналитика будет упрощена;
РГПЧ должен быть достаточно просто реализуем как аппаратно, так и программно на наиболее распространенных типах процессоров, большинство из которых, как известно, имеют разрядность 32 бита.

Слайд 29

Характеристики РГПЧ

в 64-битовом блоке старшая и младшая части обрабатываются независимо друг от

Характеристики РГПЧ в 64-битовом блоке старшая и младшая части обрабатываются независимо друг
друга:
фактически, существуют два независимых РГПЧ для старшей и младшей частей блока.
рекуррентные соотношения для старшей и младшей частей следующие:
, где C 0=101010116;
, где C 1=101010416;
период повторения последовательности для младшей части составляет 232, для старшей части 232–1, для всей последовательности период составляет 232(232–1),

Слайд 30

Алгоритм зашифрования (расшифрования) данных в режиме гаммирования

T о(ш) – массив открытых (зашифрованных)

Алгоритм зашифрования (расшифрования) данных в режиме гаммирования T о(ш) – массив открытых
данных произвольного размера, подвергаемый процедуре зашифрования (расшифрования), по ходу процедуры массив подвергается преобразованию порциями по 64 бита;
S – синхропосылка , 64-битовый элемент данных, необходимый для инициализации генератора гаммы;
Шаг 1
Начальное преобразование синхропосылки, выполняемое для ее «рандомизации», результат используется как начальное заполнение РГПЧ;
Шаг 2
Один шаг работы РГПЧ, реализующий его рекуррентный алгоритм. В ходе данного шага старшая (S 1) и младшая (S 0) части последовательности данных вырабатываются независимо друг от друга;
Шаг 3
Гаммирование. Очередной 64-битовый элемент, выработанный РГПЧ, подвергается процедуре зашифрования по циклу 32–З,

Слайд 31

ОСОБЕННОСТИ ГАММИРОВАНИЯ КАК РЕЖИМА ШИФРОВАНИЯ:
Одинаковые блоки в открытом массиве данных дадут при

ОСОБЕННОСТИ ГАММИРОВАНИЯ КАК РЕЖИМА ШИФРОВАНИЯ: Одинаковые блоки в открытом массиве данных дадут
зашифровании различные блоки шифртекста.
Поскольку наложение гаммы выполняется побитно, шифрование неполного блока данных легко выполнимо Так, для зашифрования неполного блока в 1 бит согласно стандарту следует использовать самый младший бит из блока гаммы.
Синхропосылка, использованная при зашифровании, должна быть передана для использования при расшифровании. Это может быть достигнуто следующими путями:
хранить или передавать синхропосылку вместе с зашифрованным массивом данных, что приведет к увеличению размера массива данных при зашифровании на размер синхропосылки, то есть на 8 байт;
использовать предопределенное значение синхропосылки или вырабатывать ее синхронно источником и приемником по определенному закону, в этом случае изменение размера передаваемого или хранимого массива данных отсутствует

Слайд 32

Гаммирование с обратной связью

Данный режим иногда называется гаммированием с зацеплением блоков .

Гаммирование с обратной связью Данный режим иногда называется гаммированием с зацеплением блоков
На стойкость шифра факт зацепления блоков не оказывает никакого влияния.

Слайд 33

Выработка имитовставки к массиву данных.

Для решения задачи обнаружения искажений в зашифрованном массиве

Выработка имитовставки к массиву данных. Для решения задачи обнаружения искажений в зашифрованном
данных с заданной вероятностью в ГОСТе предусмотрен дополнительный режим криптографического преобразования – выработка имитовставки.
Имитовставка – это контрольная комбинация, зависящая от открытых данных и секретной ключевой информации.
Целью использования имитовставки является обнаружение всех случайных или преднамеренных изменений в массиве информации.
Для потенциального злоумышленника две следующие задачи практически неразрешимы, если он не владеет ключом:
вычисление имитовставки для заданного открытого массива информации;
подбор открытых данных под заданную имитовставку;

Слайд 34

Схема алгоритма выработки имитовставки

В качестве имитовставки берется часть блока, полученного на выходе,

Схема алгоритма выработки имитовставки В качестве имитовставки берется часть блока, полученного на
обычно – 32 его младших бита. При выборе размера имитовставки надо принимать во внимание, что вероятность успешного навязывания ложных данных равна величине 2–| I | на одну попытку подбора, если в распоряжении злоумышленника нет более эффективного метода подбора, чем простое угадывание. При использовании имитовставки размером 32 бита эта вероятность равна

Слайд 35

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

В режиме обычного гаммирования изменения в определенных битах шифртекста влияют только на
соответствующие биты открытого текста
В режиме гаммирования с обратной связью блок открытых данных зависит от соответствующего и предыдущего блоков зашифрованных данных. Поэтому, если внести искажения в зашифрованный блок, то после расшифрования искаженными окажутся два блока открытых данных – соответствующий и следующий за ним, в соответствующем блоке открытых данных искаженными окажутся те же самые биты, что и в блоке шифрованных данных, а в следующем блоке открытых данных все биты независимо друг от друга с вероятностью 1/2 изменят свои значения.

Слайд 36

«Кузнечик» 

В отличие от ГОСТ 28147-89 новый шифр представляет собой не сеть Фейстеля,

«Кузнечик» В отличие от ГОСТ 28147-89 новый шифр представляет собой не сеть
а т.н. SP-сеть: преобразование, состоящее из нескольких одинаковых раундов, при этом каждый раунд состоит из нелинейного и линейного преобразований, а также операции наложения ключа. В отличие от сети Фейстеля, при использовании SP-сети преобразуется весь входной блок, а не его половина.
Длина входного блока «Кузнечика» — 128 бит, ключа — 256 бит. Новый шифр существенно отличается от старого, среди его основных достоинств можно выделить
вдвое увеличенную длину блока (128 бит, или 16 байт, против 64 бит, или 8 байт),
нетривиальное ключевое расписание (сеть Фейстеля как ключевое расписание против использования частей секретного ключа в качестве цикловых ключей),
сокращенное число циклов (10 циклов против 32 циклов),
принципиально иное устройство самого шифра (LSX-шифр против сети Фейстеля).

Слайд 37

Шифр принадлежит к классу LSX-шифров: его базовое преобразование (функция шифрования блока) представляется

Шифр принадлежит к классу LSX-шифров: его базовое преобразование (функция шифрования блока) представляется
десятью циклами последовательных преобразований 
L (линейное преобразование), S (подстановка) и X (смешивание с цикловым ключом):
Раундовое преобразование можно изобразить следующим образом:

Слайд 38

Преобразования

Шифрование основано на последовательном применении нескольких однотипных раундов, каждый из которых содержит

Преобразования Шифрование основано на последовательном применении нескольких однотипных раундов, каждый из которых
три преобразования: сложение с раундовым ключом, преобразование блоком подстановок и линейное преобразование.
Первое преобразование - 128-битный входной вектор очередного раунда складывается побитно с раундовым ключом:

Слайд 39

За счет преобразования всего блока данных на каждом шаге обеспечивается гораздо более

За счет преобразования всего блока данных на каждом шаге обеспечивается гораздо более
быстрое перемешивание входных данных по сравнению со схемой Фейстеля. Кроме того, слой линейного преобразования конструируется таким образом, чтобы обеспечить максимально возможное рассеивание

Имеется открытый текст a = 1122334455667700ffeeddccbbaa9988 и мастер-ключ key = 8899aabbccddeeff0011223344556677fedcba98765432100123456789abcdef.
Первое преобразование — это побитное сложение по модулю 2 открытого текста и первого раундового ключа,  

Слайд 40

Результатом первого преобразования является вектор длиной 128 бит он равен 99BB99FF99BB99FFFFFFFFFFFFFFFFFF.

Результатом первого преобразования является вектор длиной 128 бит он равен 99BB99FF99BB99FFFFFFFFFFFFFFFFFF.

Слайд 41

Второе преобразование алгоритма — это нелинейное биективное преобразование вектора полученного после первой

Второе преобразование алгоритма — это нелинейное биективное преобразование вектора полученного после первой
операции с использованием блока подстановок.
128-битовый блок а алгоритма шифрования представляется в виде последовательности 16 байтов, которые нумеруются справа налево, начиная с 0:

Слайд 42

π' = (252, 238, 221, 17, 207, 110, 49, 22, 251, 196,

π' = (252, 238, 221, 17, 207, 110, 49, 22, 251, 196,
250, 218, 35, 197, 4, 77, 233, 119, 240, 219, 147, 46, 153, 186, 23, 54, 241. 187, 20, 205, 95, 193, 249, 24, 101, 90, 226, 92, 239, 33, 129, 28, 60, 66, 139, 1, 142, 79, 5, 132, 2, 174, 227, 106, 143, 160, 6, 11, 237, 152, 127, 212, 211, 31, 235, 52, 44, 81, 234, 200, 72, 171, 242, 42, 104, 162, 253, 58, 206, 204, 181, 112, 14, 86, 8, 12, 118, 18, 191, 114, 19, 71, 156, 183, 93, 135, 21, 161, 150, 41, 16, 123, 154, 199, 243, 145, 120, 111, 157, 158, 178, 177, 50, 117, 25, 61, 255, 53, 138, 126, 109, 84, 198, 128, 195, 189, 13, 87, 223, 245, 36, 169, 62, 168, 67, 201, 215, 121, 214, 246, 124, 34, 185, 3, 224, 15, 236, 222, 122, 148, 176, 188, 220, 232, 40, 80, 78, 51, 10, 74, 167, 151, 96, 115, 30, 0, 98, 68, 26, 184, 56, 130, 100, 159, 38, 65, 173, 69, 70, 146, 39, 94, 85, 47, 140, 163, 165, 125, 105, 213, 149, 59, 7, 88, 179, 64, 134, 172, 29, 247, 48, 55, 107, 228, 136, 217, 231, 137, 225, 27, 131, 73, 76, 63, 248, 254, 141, 83, 170, 144, 202, 216, 133, 97, 32, 113, 103, 164, 45, 43, 9, 91, 203, 155, 37, 208, 190, 229, 108, 82, 89, 166, 116, 210, 230, 244, 180, 192, 209, 102, 175, 194, 57, 75, 99, 182).

Поскольку каждый байт at может принимать значение от 0 до 255, массив π' имеет 256 элементов. Это значит, что при at = 0 значение а} будет заменено на 5(0) = 252, при а{= 1 — на 5(1) = 238 и т.д. (все числа записаны в десятеричном виде).

Слайд 43

Линейное преобразование может быть реализовано не только как обычно в блочных шифрах

Линейное преобразование может быть реализовано не только как обычно в блочных шифрах
— матрицей, но и с помощью РСЛОС — линейного регистра сдвига с обратной связью, который движется 16 раз.
Сам регистр реализуется над полем Галуа по модулю неприводимого многочлена степени 8: 

Слайд 44

Линейное преобразование, выполняемое с использованием линейного регистра сдвига с обратной связью :

Линейное преобразование, выполняемое с использованием линейного регистра сдвига с обратной связью :
сначала результат S-преобразования побайтно считывается, затем каждый считанный байт умножается на 256 (это необходимо для вычисления позиции числа в таблице table.h со всеми возможными результатами умножения в поле GF(2^n) согласно ГОСТа). Из позиции считывается число, к нему прибавляется коэффициент 148, 32, 133, 16, 194, 192, 1, 251, 1, 192, 194, 16, 133, 32, 148, 1 в зависимости от номера итерации, так происходит со следующими байтами. Байты складываются между собой по модулю два и все 128 бит (результат S-преобразования) сдвигаются в сторону младшего разряда, а полученное число в шестнадцатеричном виде записывается на место считанного байта. Регистр сдвигается и перезаписывается 16 раз.

Результатом L-преобразования будет следующий 128-битный вектор E297B686E355B0A1CF4A2F9249140830 Это результат работы первого раунда алгоритма, таким же образом будут проходить последующие 8 раундов. Заключительный 10 раунд включает в себя только X-преобразование результатов работы 9 раундов и ключа 10 раунда.

Слайд 45

Выработка раундовых ключей

Первые два получаются разбиением мастер-ключа пополам. Далее для выработки очередной

Выработка раундовых ключей Первые два получаются разбиением мастер-ключа пополам. Далее для выработки
пары раундовых ключей используется 8 итераций сети Фейстеля, где, в свою очередь, в качестве раундовых ключей используется счетчиковая последовательность, прошедшая через линейное преобразование алгоритма:

Слайд 46

процедура выработки раундовых ключей

процедура выработки раундовых ключей

Слайд 47

Шифрование и расшифрование

шифрование одного 128-битного входного блока описывается следующим уравнением:

Расшифрование реализуется обращением

Шифрование и расшифрование шифрование одного 128-битного входного блока описывается следующим уравнением: Расшифрование
базовых преобразований и применением их в обратном порядке:

Слайд 48

Криптоанализ блочных шифров

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

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

Слайд 51

Полный перебор 

Полный перебор (или метод «грубой силы») — метод решения математических задач.  Сложность полного перебора зависит

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

Слайд 52

Дифференциальный криптоанализ

Подобной атаке подвержены шифры с постоянным S-блоком и шифрование в режиме кодовой

Дифференциальный криптоанализ Подобной атаке подвержены шифры с постоянным S-блоком и шифрование в
электронной книги. Данный метод работает с парами шифротекстов, для которых известно различие соответствующих открытых текстов, и рассматривает эволюцию этих различий.
Дифференциальный криптоанализ основан на изучении преобразования разностей между шифруемыми значениями на различных раундах шифрованияДифференциальный криптоанализ основан на изучении преобразования разностей между шифруемыми значениями на различных раундах шифрования. В качестве разности, как правило, применяется операция побитового суммирования по модулю 2Дифференциальный криптоанализ основан на изучении преобразования разностей между шифруемыми значениями на различных раундах шифрования. В качестве разности, как правило, применяется операция побитового суммирования по модулю 2, хотя существуют атаки и с вычислением разности по модулюДифференциальный криптоанализ основан на изучении преобразования разностей между шифруемыми значениями на различных раундах шифрования. В качестве разности, как правило, применяется операция побитового суммирования по модулю 2, хотя существуют атаки и с вычислением разности по модулю . Является статистической атакой. Применим для взлома DESДифференциальный криптоанализ основан на изучении преобразования разностей между шифруемыми значениями на различных раундах шифрования. В качестве разности, как правило, применяется операция побитового суммирования по модулю 2, хотя существуют атаки и с вычислением разности по модулю . Является статистической атакой. Применим для взлома DES, FEALДифференциальный криптоанализ основан на изучении преобразования разностей между шифруемыми значениями на различных раундах шифрования. В качестве разности, как правило, применяется операция побитового суммирования по модулю 2, хотя существуют атаки и с вычислением разности по модулю . Является статистической атакой. Применим для взлома DES, FEAL и некоторых других шифров, как правило, разработанных ранее начала 90-х. Количество раундов современных шифров (AESДифференциальный криптоанализ основан на изучении преобразования разностей между шифруемыми значениями на различных раундах шифрования. В качестве разности, как правило, применяется операция побитового суммирования по модулю 2, хотя существуют атаки и с вычислением разности по модулю . Является статистической атакой. Применим для взлома DES, FEAL и некоторых других шифров, как правило, разработанных ранее начала 90-х. Количество раундов современных шифров (AES, CamelliaДифференциальный криптоанализ основан на изучении преобразования разностей между шифруемыми значениями на различных раундах шифрования. В качестве разности, как правило, применяется операция побитового суммирования по модулю 2, хотя существуют атаки и с вычислением разности по модулю . Является статистической атакой. Применим для взлома DES, FEAL и некоторых других шифров, как правило, разработанных ранее начала 90-х. Количество раундов современных шифров (AES, Camellia и др.) рассчитывалось с учетом обеспечения стойкости, в том числе и к дифференциальному криптоанализу.

Слайд 53

Линейный криптоанализ

Криптоанализ происходит в два шага. Первый — построение соотношений между открытым текстом,

Линейный криптоанализ Криптоанализ происходит в два шага. Первый — построение соотношений между
шифртекстом и ключом, которые справедливы с высокой вероятностью. Второй — использование этих соотношений вместе с известными парами открытый текст — шифртекст для получения битов ключа.
Имя файла: Режимы-шифрования.-Алгоритм-шифрования-(лекция-4).pptx
Количество просмотров: 29
Количество скачиваний: 0