в чем смысл комбинированного метода шифрования электронных документов

Комбинированная криптосистема шифрования

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

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

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

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

Метод комбинированного использования симметричного и асимметричного шифрования заключается в следующем.

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

Пусть пользователь А хочет использовать комбинированный метод шифрования для защищенной передачи сообщения М пользователю В.

Тогда последовательность действий пользователей А и В будет следующей.

Действия пользователя А:

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

2. Зашифровывает симметричным алгоритмом сообщение М на сеансовом секретном ключе Ks.

3. Зашифровывает асимметричным алгоритмом секретный сеансовый ключ Ks на открытом ключе Кв пользователя В (получателя сообщения).

4. Передает по открытому каналу связи в адрес пользователя В зашифрованное сообщение М вместе с зашифрованным сеансовым ключом Ks.

Действия пользователя А иллюстрируются схемой шифрования сообщения комбинированным методом (рис. 5.4).

в чем смысл комбинированного метода шифрования электронных документов. Смотреть фото в чем смысл комбинированного метода шифрования электронных документов. Смотреть картинку в чем смысл комбинированного метода шифрования электронных документов. Картинка про в чем смысл комбинированного метода шифрования электронных документов. Фото в чем смысл комбинированного метода шифрования электронных документов

Рис. 5.4. Схема шифрования сообщения комбинированным методом

Эта статья была опубликована Вторник, 11 августа, 2009 at 18:33 в рубрике Принципы криптографической защиты информации. Вы можете следить за ответами через RSS 2.0 feed.

Источник

Комбинированный метод шифрования

в чем смысл комбинированного метода шифрования электронных документов. Смотреть фото в чем смысл комбинированного метода шифрования электронных документов. Смотреть картинку в чем смысл комбинированного метода шифрования электронных документов. Картинка про в чем смысл комбинированного метода шифрования электронных документов. Фото в чем смысл комбинированного метода шифрования электронных документов в чем смысл комбинированного метода шифрования электронных документов. Смотреть фото в чем смысл комбинированного метода шифрования электронных документов. Смотреть картинку в чем смысл комбинированного метода шифрования электронных документов. Картинка про в чем смысл комбинированного метода шифрования электронных документов. Фото в чем смысл комбинированного метода шифрования электронных документов в чем смысл комбинированного метода шифрования электронных документов. Смотреть фото в чем смысл комбинированного метода шифрования электронных документов. Смотреть картинку в чем смысл комбинированного метода шифрования электронных документов. Картинка про в чем смысл комбинированного метода шифрования электронных документов. Фото в чем смысл комбинированного метода шифрования электронных документов в чем смысл комбинированного метода шифрования электронных документов. Смотреть фото в чем смысл комбинированного метода шифрования электронных документов. Смотреть картинку в чем смысл комбинированного метода шифрования электронных документов. Картинка про в чем смысл комбинированного метода шифрования электронных документов. Фото в чем смысл комбинированного метода шифрования электронных документов

в чем смысл комбинированного метода шифрования электронных документов. Смотреть фото в чем смысл комбинированного метода шифрования электронных документов. Смотреть картинку в чем смысл комбинированного метода шифрования электронных документов. Картинка про в чем смысл комбинированного метода шифрования электронных документов. Фото в чем смысл комбинированного метода шифрования электронных документов

в чем смысл комбинированного метода шифрования электронных документов. Смотреть фото в чем смысл комбинированного метода шифрования электронных документов. Смотреть картинку в чем смысл комбинированного метода шифрования электронных документов. Картинка про в чем смысл комбинированного метода шифрования электронных документов. Фото в чем смысл комбинированного метода шифрования электронных документов

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

Oднако алгоритмы, лежащие в основе криптосистем с открытым ключом, имеют следующие недостатки:

· генерация новых секретных и открытых ключей основана на генерации новых больших простых чисел, а проверка простоты чисел занимает много процессорного времени;

· Процедуры шифрования и расшифрования, связанные с возведением в степень многозначного числа, достаточно громоздки.

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

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

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

1. Создать (например, сгенерировать случайным образом) симметричный ключ, называемый в этом методе сеансовым ключом КS.

2. Зашифровать сообщение М на сеансовом ключе КS.

3. Зашифровать сеансовый ключ КS на открытом ключе КВ пользователя В.

4. Передать по открытому каналу связи в адрес пользователя В зашифрованное сообщение вместе с зашифрованным сеансовым ключом.

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

5. Расшифровать на своем секретном ключе kВ сеансовый ключ КS.

6. С помощью полученного сеансового ключа КS расшифровать и прочитать сообщение М.

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

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

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

Источник

Комбинированный метод шифрования

Криптосистема шифрования данных RSA

Однонаправленные функции

Асимметричные криптосистемы

1. Концепция криптосистемы с открытым ключом

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

2.Концепция асимметричных криптографических систем с открытым ключом основана на применении однонаправленных функций. Основным критерием отнесения функции к классу однонаправленных функций является отсутствие эффективных алгоритмов обратного преобразования.

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

3.Алгоритм RSA предложили в 1978 г. Алгоритм получил свое название по первым буквам фамилий его авторов. Алгоритм RSA стал первым полноценным алгоритмом с открытым ключом, который может работать как в режиме шифрования данных, так и в режиме электронной цифровой подписи.

Надежность алгоритма основывается на трудности факторизации больших чисел и трудности вычисления дискретных логарифмов.

Криптосистемы RSA реализуются как аппаратным, так и программным путем.

Для аппаратной реализацииопераций шифрования и расшифровки RSA разработаны специальные процессоры. Эти процессоры, реализованные на сверхбольших интегральных схемах (СБИС), позволяют выполнять операции RSA, связанные с возведением больших чисел в колоссально большую степень по модулю N, за относительно короткое время. И все же аппаратная реализа­ция RSA примерно в 1000 раз медленнее аппаратной реализации симметричного криптоалгоритма DES.

Программная реализацияRSA примерно в 100 раз медленнее программной реализации DES. С развитием технологии эти оценки могут несколько изменяться, но асимметричная криптосистема RSA никогда не достигнет быстродействия симметричных криптосистем.

Медлительность реализации криптосистем RSA ограничивает область их применения, но не перечеркивает их ценность.

4. Главным достоинством криптосистем с открытым ключом является их потенциально высокая безопасность: нет необходимости ни передавать, ни сообщать кому бы то ни было значения секретных ключей, ни убеждаться в их подлинности. В симметричных криптосистемах существует опасность раскрытия секретного ключа во время передачи.

Алгоритмы, лежащие в основе криптосистем с открытым ключом, имеют следующие недостатки:

• генерация новых секретных и открытых ключей основана на генерации новых больших простых чисел, а проверка простоты чисел занимает много процессорного времени;

• процедуры шифрования и расшифровки, связанные с возведением в степень многозначного числа, достаточно громоздки.

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

Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет

Источник

Комбинированные методы шифрования

1. Комбинированные методы шифрования

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

Рассмотрим несколько примеров:

Пример 1. Возьмем в качестве открытого текста сообщение: «Я пишу курсовую».

Защитим этот текст методом простой перестановки, используя в качестве ключа слово «зачет» и обозначая пробел буквой «ь». Выписываем буквы открытого текста под буквами ключа. Затем буквы ключа расставляем в алфавитном порядке. Выписываем буквы по столбцам и получаем шифртекст: ььоиууяусшрюпкв.

Полученное сообщение зашифруем с помощью метода подстановки:

Итак, имея открытый текст: «Я пишу курсовую», после преобразований получаем шифртекст: ююркххбхуьтасмд, используя методы перестановки и замены. Раскрыть текст расшифровщик сможет, зная, что ключами являются число 2 и слово «зачет» и соответственно последовательность их применения.

Пример 2. В качестве примера также рассмотрим шифр, предложенный Д. Френдбергом, который комбинирует многоалфавитную подстановку с генератором псевдослучайных чисел. Особенность данного алгоритма состоит в том, что при большом объеме шифртекста частотные характеристики символов шифртекста близки к равномерному распределению независимо от содержания открытого текста.

1. Установление начального состояния генератора псевдослучайных чисел.

2. Установление начального списка подстановки.

3. Все символы открытого текста зашифрованы?

5. Осуществление замены.

6. Генерация случайного числа.

7. Перестановка местами знаков в списке замены.

8. Переход на шаг 4.

Пример 3. Открытый текст: «АБРАКАДАБРА».

Используем одноалфавитную замену согласно таблице 1.

АБДКР
XVNRS

Последовательность чисел, вырабатываемая датчиком: 31412543125.

После перестановки символов исходного алфавита получаем таблицу 2 (h1=3).

ДБАКР
XVNRS

2. у2=V. Таблица 2 после перестановки (h2=1) принимает вид, представленный в таблице 3.

БДАКР
XVNRS

Осуществляя дальнейшие преобразования в соответствии с алгоритмом Френдберга, получаем шифртекст: «XVSNSXXSSSN».

Одной из разновидностей метода гаммирования является наиболее часто применяемый метод многократного наложения гамм. Необходимо отметить, что если уik1(xi)), то Гk1(xi))=Г1k(xi)). (1*)

Тождество (1*) называют основным свойством гаммы.

Пример 4. Открытый текст: «ШИФРЫ»(25 09 21 17 28»);

Г1= «ГАММА» («04 01 13 13 01»);

Г2 = «ТЕКСТ» («19 06 11 18 19»), согласно таблице 1.

Используемая операция: сложение по mod 2.

11001 01001 10101 10001 11100

00100 00001 01101 01101 00001

11101 01000 11000 11100 11101.

11101 01000 11000 11100 11101

10011 00110 01011 10010 10011

01110 01110 10011 01110 01110.

Проведем операцию шифрования, поменяв порядок применения гамм.

11001 01001 10101 10001 11100

10011 00110 01011 10010 10011

01010 01111 11110 00011 01111.

01010 01111 11110 00011 01111

00100 00001 01101 01101 00001

01110 01110 10011 01110 01110.

Таким образом, y2i=y2i’, что является подтверждением основного свойства гаммы.

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

Пример 5. Открытый текст: «ШИФРЫ»(«25 09 21 17 28»);

Г1 = Г2= «ГАММА» («04 01 13 13 01»), согласно таблице 1.

Используемая операция: сложение по mod 2:

11001 01001 10101 10001 11100

00100 00001 01101 01101 00001

00100 00001 01101 01101 00001

11001 01001 10101 10001 11100.

Таким образом, результат шифрования представляет собой открытый текст.

2. Теория проектирования блочных шифров

К. Шеннон выдвинул понятия рассеивания и перемешивания. Спустя пятьдесят лет после формулирования этих принципов, они остаются краеугольным камнем проектирования хороших блочных шифров.

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

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

Для обеспечения надежности достаточно только перемешивания. Алгоритм, состоящий из единственной, зависимой от ключа таблицы подстановок 64 бит открытого текста в 64 бит шифртекста был бы достаточно надежным. Недостаток в том, что для хранения такой таблицы потребовалось бы слишком много памяти: 10 20 байт. Смысл создания блочного шифра и состоит в создании чего-то подобного такой таблице, но предъявляющего к памяти более умеренные требования.

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

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

Источник

В чем смысл комбинированного метода шифрования электронных документов

8. КОМБИНИРОВАННЫЕ ШИФРЫ

8.1. Шифры ADFGX и ADFGVX

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

Таблица шифрозамен ADFGX представляет собой матрицу 5 х 5, а для ADFGVX – 6 х 6. Строки и столбцы обозначаются буквами, входящими в название шифра. Пример таблицы шифрозамен для шифра ADFGVX применительно к русскому алфавиту показан на следующем рисунке.

ADFGVX
AЮУИЧКБ
DВГЕФЖЗ
FЙАЛМОП
GРЩТЯЁХ
VЦНШСЪЫ
XЬЭД

Рис.8.1. Пример таблицы шифрозамен для шифра ADFGVX

Шифрозамена для буквы исходного текста состоит из букв, обозначающих строку и столбец, на пересечении которых она находится (см. шифр «Полибианский квадрат»). Например, для сообщения «АБРАМОВ» набор шифрозамен будет «FD AX GA FD FG FV DA».

На втором этапе для выполнения перестановки полученный набор шифрозамен вписывается построчно сверху-вниз в таблицу, количество столбцов в которой строго определено (ADFGX) или соответствует количеству букв в ключевом слове (ADFGVX). Нумерация столбов либо оговаривается сторонами (ADFGX) либо соответствует положению букв ключевого слова в алфавите, как в шифре вертикальной перестановки (ADFGVX). Например, для полученного выше набора шифрозамен перестановочная таблица с ключевым словом «ДЯДИНА» показана на следующем рисунке.

Рис.8.2. Перестановочная таблица шифра ADFGVX с ключевым словом «ДЯДИНА»

На третьем этапе буквы выписываются из столбцов в соответствии с их нумерацией, при этом считывание происходит по столбцам, а буквы объединяются в пятибуквенные группы. Таким образом, окончательная шифрограмма для рассматриваемого примера будет выглядеть «AVFFD AFXGG FDDA».

8.2. Основы блочного комбинированного шифрования

Среди комбинированных методов шифрования наиболее распространенными являются методы блочного шифрования. Блочное шифрование предполагает разбиение исходного открытого текста на равные блоки, к которым применяется однотипная процедура шифрования. В настоящее время блочные шифры широко используются на практике. Российский и бывший американский стандарты шифрования (DES) относятся именно к этому классу шифров. В основе шифров лежат так называемые «сети Фейстеля» [17]. В 1971 г. Хорст Фейстель (Horst Feistel) запатентовал два устройства с различными алгоритмами шифрования, названные затем общим именем «Люцифер» (Lucifer). Одно из устройств использовало конструкцию, впоследствии названную «сетью Фейстеля» («Feistel cipher», «Feistel network»). Работа над созданием новых криптосистем велась им в стенах IBM вместе с Доном Копперсмитом (Don Coppersmith). Проект «Люцифер» был скорее экспериментальным, но стал базисом для алгоритма Data Encryption Standard (DES). В 1977 г. DES стал стандартом в США на шифрование данных вплоть до 2001 г. и до последнего времени широко использовался в криптографических системах.

Сеть Фейстеля состоит из нескольких ячеек.

Рис.8.3. Ячейка Фейстеля

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

Рис.8.4. Сеть Фейстеля

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

Шифрование при помощи данной конструкции легко реализуется как на программном уровне, так и на аппаратном, что обеспечивает широкие возможности применения. На основе сетей Фейстеля разработано большое количество шифров, среди которых: DES, ГОСТ 28147-89, Blowfish, CAST, FEAL, IDEA, Khufu, Twofish и многие другие.

В алгоритме, лежащем в основе DES, используются методы замены, перестановки и гаммирования (сложение по модулю 2).

Открытое сообщение разбивается на блоки длиной 64 бита. Если длина сообщения не кратна 64, оно дополняется справа недостающим количеством битов.

Данные шифруются ключом длиной 56 битов. На самом деле ключ имеет размер 64 бита, однако реально для выработки ключевых элементов используются только 56 из них. Самые младшие биты каждого байта ключа (8-ой, 16-ый, …, 64-ый) не попадают в ключевые элементы и служат исключительно для контроля четности. Требуется, чтобы сумма битов каждого байта ключа, включая контрольный, была нечетной (нечетный паритетный бит).

Для решения разнообразных криптографических задач, разработаны четыре рабочих режима, реализующих DES:

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

Общая схема шифрования блока изображена на рис.8.5 [24].

Рис.8.5. Схема шифрования блока

1. Шифрование 64-битового блока данных T начинается с начальной перестановки битов IP.

Таблица 8.1. Начальная перестановка IP

585042342618102
605244362820124
625446383022146
645648403224168
57494133251791
595143352719113
615345372921135
635547393123157

В таблице указывается новое положение соответствующего бита. Таким образом, при выполнении начальной перестановки 58-ый бит станет 1-ым, 50-ый – 2-ым, 42-ой – 3-им и т.д.

2. Результат перестановки Т* разделяется на две 32-битовые части H1 и L1, с которыми выполняются 16 раундов преобразования.

3. В каждом раунде i старшая половина Hi блока модифицируется путем побитового прибавления к ней по модулю 2 ( ⊕ ) результата вычисления функции шифрования f, зависящей от младшей половины блока Li и 48-битового ключевого элемента ki. Ключевой элемент ki вырабатывается из ключа шифрования. Между раундами старшая и младшая половины блока меняются местами. В последнем раунде происходит то же самое, за исключением обмена значениями половинок блока.

Таблица 8.2. Конечная перестановка IP –1

408481656246432
397471555236331
386461454226230
375451353216129
364441252206028
353431151195927
342421050185826
33141949175725

Результат последней операции и является выходным значением цикла шифрования – зашифрованным блоком С.

Все перестановки в таблицах IP и IP –1 подобраны разработчиками таким образом, чтобы максимально затруднить процесс расшифровки путём подбора ключа.

Схема функции шифрования f приведена на рис.8.6.

Рис.8.6. Схема функции шифрования

1. На вход поступает 32-битовая половина шифруемого блока Li и 48-битовый ключевой элемент ki.

2. Li разбивается на 8 тетрад по 4 бита. Каждая тетрада по циклическому закону дополняется крайними битами из соседних тетрад до 6-битного слова (функция расширения Е). Цикличность означает, что первый бит Li добавляется последним в последнее слово, а последний бит Li добавляется первым в первое слово. Далее выполняется объединение тетрад в 48-битный блок X. Например, Li = 0111 0110 1… …0 11012, тогда X = 101110 101101 … 0110102.

3. Х побитово суммируется по модулю 2 ( ⊕ ) с ключевым элементом ki.

4. 48-битовый блок данных H разделяется на восемь 6-битовых элементов, обозначенных h1, h2, …, h8.

5. Каждое из значений hj преобразуется в новое 4-битовое значение tj с помощью соответствующего узла замены Sj.

Таблица 8.3. Значения tj

Узел
замены
Номер строкиНомер столбца
0123456789101112131415
S101441312151183106125907
10157414213110612119538
24114813621115129731050
31512824917511314100613
S201518146113497213120510
13134715281412011069115
20147111041315812693215
31381013154211671205149
S301009146315511312711428
11370934610285141211151
21364981530111212510147
31101306987415143115212
S407131430691012851112415
11381156150347212110149
21069012117131513145284
33150610113894511127214
S502124171011685315130149
11411212471315015103986
24211110137815912563014
31181271142136150910453
S601211015926801334147511
11015427129561131401138
29141552812370410113116
34321295151011141760813
S704112141508133129751061
11301174911014351221586
21411131237141015680592
36111381410795015142312
S801328461511110931450127
11151381037412561101492
27114191214206101315358
32114741081315129035611

6. Полученные восемь элементов tj вновь объединяются в 32-битовый блок H’.

7. В H’ выполняется перестановка битов P.

Таблица 8.4. Перестановка P

167202129122817
11523265183110
282414322739
19133062211425

Результат последней операции и является выходным значением функции шифрования Li.

Ключевые элементы вырабатываются из ключа с использованием сдвигов и битовых выборок-перестановок. Таким образом, ключевые элементы состоят исключительно из битов исходного ключа, «перетасованных» в различном порядке. Схема выработки ключевых элементов показана на следующем рисунке.

Рис.8.7. Схема выработки ключевых элементов

1. Выработка ключевых элементов из ключа K начинается со входной выборки-перестановки битов PC1, которая отбирает 56 из 64 битов ключа и располагает их в другом порядке.

Таблица 8.5. Перестановка PC1

5749413325179
1585042342618
1025951433527
1911360524436
63554739312315
7625446383022
1466153453729
211352820124

2. Результат выборки-перестановки K* разделяется на две 28-битовые части: старшую H1 и младшую L1.

3. 16 раз выполняется процедура.

3а. В зависимости от номера итерации обе части циклически сдвигаются на 1 или 2 бита влево.

Таблица 8.6. Циклический сдвиг

Номер итерации12345678910111213141516
Сдвиг (бит)1122222212222221

3б. После сдвига части объединяются и из них с помощью выборки-перестановки PC2 отбираются 48 битов, которые и формируют очередной ключевой элемент.

Таблица 8.7. Перестановка PC2

1417112415
3281562110
2319124268
1672720132
415231374755
304051453348
444939563453
464250362932

Алгоритмы шифрования и расшифрования DES-ECB в общем виде выражаются следующими схемами

Как видно схема алгоритма остается неизменной, меняется лишь порядок использования ключевых элементов. Таким образом, для расшифрования необходимо «прогнать» DES с тем же ключом, но использовать ключевые элементы в обратном порядке.

Использование различных методов шифрования:

Из-за небольшого числа возможных ключей (всего 2 56 ), появляется возможность их полного перебора на быстродействующей вычислительной технике за реальное время. В 1998 г. Electronic Frontier Foundation, используя специальный компьютер DES-Cracker, удалось взломать DES за 3 дня. По неподтвержденным данным Агентство национальной безопасности США уже в 1996 г. могло вскрывать ключ DES за 3-15 мин. с помощью устройства стоимостью 50000 долларов.

Схемы алгоритмов представлены на следующем рисунке. По каждой из стрелок передается 64 бита информации.

Рис.8.8. Схемы алгоритмов DES в режиме сцепления блоков шифра (CBC)

3. Полученная сумма затем шифруется с использованием ключа DES.

4. 64-битовый шифр C1 складывается по модулю 2 со вторым блоком текста, ре¬зультат шифруется и получается второй 64-битовый шифр С2, и т.д.

Очевидно, что последний 64-битовый блок шифртекста является функцией секретного ключа, начального вектора и каждого бита открытого текста независимо от его длины. Этот блок шифртекста называют кодом аутентификации сообщения (КАС). Код КАС может быть легко проверен получателем, владеющим секретным ключом и начальным вектором, путем повторения процедуры, выполненной отправителем. Достоинство данного режима в том, что он не позволяет накапливаться ошибкам при передаче. Блок Ti является функцией только Сi-1 и Ci. Поэтому ошибка при передаче приведет к потере только двух блоков исходного текста.

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

Рис.8.9. Схемы алгоритмов DES в режимах CFB и OFB

2. Синхропосылка шифруется с использованием ключа DES.

3. Из полученного результата выбираются старшие k бит, которые складываются с блоком открытого текста Ti по модулю 2 для получения шифртекста Сi.

4. Процедура повторяется до тех пор, пока не будут обработаны все блоки текста. При этом, содержимое входного блока сдвигается на k бит влево (причем сдвиг не циклический) и младшие k бит заполняются либо шифртекстом (CFB), либо старшими k бит выходного блока (OFB).

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

При тройном DES текст шифруется 3 раза DES. Таким образом, длина ключа возрастает до 168-бит (56×3). Однако, применение тройного DES не всегда означает увеличение уровня безопасности сообщения.

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

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

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

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

Сферы применения разных режимов DES.

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

Рис.8.10. Сохранение статистических особенностей открытого текста

Сцепление блоков шифра СВС и тройной DES могут использоваться для шифрование больших объемов данных (в частности тройной DES используется для эмиссии и обработки кредитных карт VISA, EuroPay и других платежных систем).

Обратная связь по шифртексту CFB и обратная связь по выходу OFB рекомендуется для шифрования отдельных символов или небольших сообщений.

В алгоритме, лежащем в основе ГОСТ, используются методы замены, перестановки и гаммирования (сложение по модулю 2 и 2 32 ).

Открытое сообщение разбивается на блоки длиной 64 бита. Если длина сообщения не кратна 64, оно дополняется справа недостающим количеством битов.

Длина ключа – 256 битов.

— гаммирования с обратной связью;

Режим простой замены.

Открытое сообщение разбивают на 64-битовые блоки. Каждый из них шифруют независимо с использованием одного и того же ключа шифрования. Перед шифрованием 256-битный ключ разбивается на восемь 32-битных ключевых элементов (блоков) k1, k2, …, k8.

Общая схема шифрования блока изображена на следующем рисунке.

Рис.8.11. Схема шифрования блока

1. Шифрование 64-битового блока данных T начинается с его разбиения на две 32-битовые части H1 и L1, с которыми выполняются 32 раунда преобразования.

2. В каждом раунде i:

2.1. Младшая половина Li складывается с ключевым элементом ki по модулю 2 32 ( ⊞ ).

Порядок использования ключевых элементов указан в следующей таблице.

Таблица 8.8. Порядок использования ключевых элементов

Раунд12345678910111213141516
Ключевой элемент1234567812345678
Раунд17181920212223242526272829303132
Ключевой элемент1234567887654321

2.2. Результат сложения Xi разбивается на восемь 4-битных фрагментов xij (j = 1..8), каждый из которых поступает на вход своего S-блока (узла замены) и заменяется на другой 4-битовый фрагмент yij (j = 1..8). В самом ГОСТ S-блоки не приведены. Указывается только, что они должны быть откуда-то взяты. В ГОСТ Р 34.11-94 «Информационная технология. Криптографическая защита информации. Функция хэширования» в приложении А приведены «проверочные» S-блоки, которые использовал ЦБ РФ в своих приложениях.

Таблица 8.9. Значения yij

S-блок (Sj)Значение xij
0123456789101112131415
S14109213801461111271553
S21411412613151023810759
S35811310342141512760911
S47131010891514461211253
S56127151513841091403112
S64111007211336859121514
S71311413155901014768212
S81151305710492314611812

Так, если третий фрагмент xi3 = 610 (01102), то он заменяется на yi3 = 410 (01002).

2.3. Замененные фрагменты yij объединяются обратно в 32-битовый блок Yi. После чего выполняется циклический сдвиг влево на 11 бит – Zi = Yi ⊕ ) результата сдвига Zi.

2.5. Между раундами старшая и младшая половины блока меняются местами.

3. Полублоки H33 и L33 объединяются в зашифрованный блок С.

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

Использование различных методов шифрования:

— гаммирование – по модулю 2 32 ( ⊞ ) и 2 ( ⊕ ).

Основные различия между DES и ГОСТ [8]:

— DES использует сложную процедуру для генерации подключей из ключей. В ГОСТ эта процедура очень проста;

— у S-блоков DES 6-битовые входы и 4-битовые выходы, а у S-блоков ГОСТ 4-битовые входы и выходы. В обоих алгоритмах используется по восемь S-блоков;

— в DES используются перестановка, названная Р-блоком, а в ГОСТ используется 11-битовый циклический сдвиг влево;

По мнению одного из авторитетных специалистов в области криптографии Брюса Шнайера увеличенная длина ключа и использование в вдвое больше раундов шифрования делает ГОСТ

… более устойчивым к дифференциальному и линейному криптоанализу, чем DES. … Разработчики ГОСТ пытались достигнуть равновесия между безопасностью и эффективностью. Они изменили идеологию DES так, чтобы создать алгоритм, который больше подходит для программной реализации. Они, по видимому, менее уверены в безопасности своего алгоритма и попытались скомпенсировать это очень большой длиной ключа, сохранением в секрете S-блоков и удвоением количества итераций. Вопрос, увенчались ли их усилия созданием более безопасного, чем DES, алгоритма, остается открытым.

Брюс Шнайер. «Прикладная криптография»

По типу относится к подстановочно-перестановочным сетям (англ. Substitution-Permutation network, SP-сеть). В алгоритме используются методы замены, перестановки и гаммирования (сложение по модулю 2).

Основные параметры AES приведены в следующей таблицы.

Таблица 8.10. Основные параметры AES

Тип шифраДлина ключа Nk,
битов (слов 1 )
Размер блока
зашифрования /
расшифрования Nb,
битов (слов)
Количество
раундов Nr
Количество
ключевых
элементов 2
Nw = Nb (Nr + 1)
AES-128128 (4)128 (4)1044
AES-192192 (6)1252
AES-256256 (8)1460

1 Слово (англ. word) – последовательность из 4 байтов (32 битов).

2 Ключевой элемент – 4-байтовое слово, формируемое из ключа.

Схемы зашифрования и расшифрования одного блока изображены на следующем рисунке.

А. Формирование ключевых элементов – KeyExpansion.

Перед процедурой зашифрования или расшифрования из ключа К формируются набор ключевых элементов wi. На следующем рисунке отображена схема формирования ключевых элементов при длине ключа Nk = 128 битов. При большей длине ключа (192 и 256 битов) имеются особенности получения wi (см. спецификацию [57]).

Рис.8.13. Cхема формирования ключевых элементов (AES-128)

Циклический сдвиг в слове wi на один байт влево.

Замена каждого байта слова wi на байт S-box в соответствии со следующей таблицей.

Таблица 8.11. S-box
(16-теричное представление)

_0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F
0_637C777BF26B6FC53001672BFED7AB76
1_CA82C97DFA5947F0ADD4A2AF9CA472C0
2_B7FD9326363FF7CC34A5E5F171D83115
3_04C723C31896059A071280E2EB27B275
4_09832C1A1B6E5AA0523BD6B329E32F84
5_53D100ED20FCB15B6ACBBE394A4C58CF
6_D0EFAAFB434D338545F9027F503C9FA8
7_51A3408F929D38F5BCB6DA2110FFF3D2
8_CD0C13EC5F974417C4A77E3D645D1973
9_60814FDC222A908846EEB814DE5E0BDB
A_E0323A0A4906245CC2D3AC629195E479
B_E7C8376D8DD54EA96C56F4EA657AAE08
C_BA78252E1CA6B4C6E8DD741F4BBD8B8A
D_703EB5664803F60E613557B986C11D9E
E_E1F8981169D98E949B1E87E9CE5528DF
F_8CA1890DBFE6426841992D0FB054BB16

При этом байт в 16-теричном представлении состоит из двух символов, первый из которых указывает на номер строки S-box, а второй – на номер столбца. Например, если один из байтов wi = С516, то он заменяется на w’i = A616.

Иначе, таблицу S-box можно представить в виде одномерного массива. Тогда wi – это индекс элемента массива, который служит заменой – w’i = S-box[wi].

Изначально шифруемый блок T представляется массивом байтов state размером 4х4. При этом согласно спецификации AES [57] байты выписываются в массив по столбцам.

Далее над массивом state выполняются последовательные преобразования.

Сложение state по модулю 2 с четырьмя 4-байтовыми ключевыми элементами.

Замена байтов state по аналогии с SubWord в соответствии с табл.8.11.

Построчный циклический сдвиг байтов state влево на 0, 1, 2 и 3 байта.

Смешивание байтов в столбцах state. Достигается за счет умножения вектора-столбца state на квадратную матрицу mc. Умножение выполняется в поле Галуа GF(2 8 ) по модулю x 8 + x 4 + x 3 + x + 1 – обозначается жирной точкой (•).

В результате выполняется замена байтов по формулам:

Операция s • mc выполняется по правилам полиномиальной арифметики. Для этого элементы вектора и матрицы представляются в двоичном виде. Например, [s0.0, s1.0, s2.0, s3.0] = [D4, BF, 5D, 30]16 = [11010100, 10111111, 1011101, 110000]2 и [mc0.0, mc0.1, mc0.2, mc0.3] = [02, 03, 01, 01]16 = [10, 11, 01, 01]2.

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

*11010100
10
*10111111
11
00000000
11010100
10111111
10111111
110101000111000001

Взятие остатка от произведения по модулю x 8 + x 4 + x 3 + x + 1 (= 1000110112) в поле Галуа GF(2 8 ) выполняется делением в столбик до тех пор, пока остаток превышает 8 битов. При этом вместо вычитания делителя из делимого также используется сложение по модулю 2.

Для s2.0 = 1 • s2.0 = 10111012 и s3.0 = 1 • s3.0 = 1100002 умножение и взятие остатка не требуется, так как их длина не превышает 8 битов. Более сложный пример деления числа C54316 = 11000101010000112 по модулю x 8 + x 4 + x 3 + x + 1 в поле Галуа GF(2 8 ) показан ниже.

1100010101000011
100011011
100100011
100011011
111000000
100011011
110110110
100011011
101011011
100011011
10000001 = 8116

Окончательное значение элемента s’0.0 вектора state’ получается сложением по модулю 2 полученных остатков.

При расшифровании меняется не только порядок использования ключевых элементов (как в DES и ГОСТ 28147-89), но и выполняется инверсия всех операций.

Построчный циклический сдвиг байтов state вправо на 0, 1, 2 и 3 байта.

Замена байтов state в соответствии со следующей таблицей.

Таблица 8.12. Inverse S-box
(16-теричное представление)

_0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F
0_52096AD53036A538BF40A39E81F3D7FB
1_7CE339829B2FFF87348E4344C4DEE9CB
2_547B9432A6C2233DEE4C950B42FAC34E
3_082EA16628D924B2765BA2496D8BD125
4_72F8F66486689816D4A45CCC5D65B692
5_6C704850FDEDB9DA5E154657A78D9D84
6_90D8AB008CBCD30AF7E45805B8B34506
7_D02C1E8FCA3F0F02C1AFBD0301138A6B
8_3A9111414F67DCEA97F2CFCEF0B4E673
9_96AC7422E7AD3585E2F937E81C75DF6E
A_47F11A711D29C5896FB7620EAA18BE1B
B_FC563E4BC6D279209ADBC0FE78CD5AF4
C_1FDDA8338807C731B11210592780EC5F
D_60517FA919B54A0D2DE57A9F93C99CEF
E_A0E03B4DAE2AF5B0C8EBBB3C83539961
F_172B047EBA77D626E169146355210C7D

Смешивание байтов в столбцах – умножение вектора-столбца state на квадратную матрицу mcinv с взятием остатков по модулю x 8 + x 4 + x 3 + x + 1 в поле Галуа GF(2 8 ).

Замена байтов выполняется по формулам:

В заключение несколько слов о стойкости шифра. В отличие от большинства других шифров, AES имеет простое математическое описание. Это обстоятельство беспокоит многих криптографов. Вот что по этому поводу написали известные популяризаторы криптографии Нильс Фергюсон и Брюс Шнайер.

У нас есть одно критическое замечание к AES: мы не совсем доверяем его безопасности. Что беспокоит нас больше всего в AES, так это его простая алгебраическая структура… Ни один другой блочный шифр не имеет столь простого алгебраического представления. Мы понятия не имеем, ведёт это к атаке или нет, но незнание этого является достаточной причиной, чтобы скептически относиться к использованию AES.

Нильс Фергюсон, Брюс Шнайер. «Практическая криптография»

ГОСТ 34.12-2015 – российский стандарт симметричного блочного шифрования, введённый в действие 19 июня 2015 г. («ГОСТ 34.12-2015. Информационная технология. Криптографическая защита информации. Блочные шифры»).

Содержит описание двух блочных шифров:

«Магма» («Magma») – с длиной блока n = 64 бит;

«Кузнечик» («Kuznyechik») – с длиной блока n = 128 бит.

Длина ключа для обоих шифров – K = 256 бит.

Полностью соответствует ГОСТ 28147-89. В отличие от старого ГОСТ в новом явно определены значения S-блоков (подстановок π).

Таблица 8.13. Значения yij (π)

S-блок (Sj)Значение xij
0123456789101112131415
S11246210511914813703151
S26823910512114471113015
S31135821510131417412960
S41282113415670105314911
S57155108161309314114212
S65131569212101178143140
S78142569112154110131037
S81714130583415106912112

По типу, как и AES, относится к подстановочно-перестановочным сетям. В алгоритме развертывания ключа (процедуре формирования итерационных ключей – ключевых элементов) используется сеть Фейстеля.

Схема зашифрования / расшифрования одного блока изображена на следующем рисунке.

Формирование 10 итерационных ключей (ключевых элементов) выполняется по следующей схеме.

Рис.8.15. Развертывание K

Изначально ключ делится на две половины по 128 битов с получение первых двух итерационных ключей (k1 и k2).

Далее, в течение 4 раундов i, формируются остальные 8 итерационных ключей (k2i+1 и k2i+2). Каждая последующая пара итерационных ключей получается в результате прогона предыдущей пары через сеть, состоящую из 8 ячеек Фейстеля (в ГОСТ ячейка обозначена F). При этом в начале каждой итерации j (ячейки F) должна быть получена итерационная константа С8(i-1)+j (не путать с обозначением блока шифрограммы С на рис.8.14). Для этого целое число 8(i-1)+j, представленное в двоичном виде на 128 битов, должно пройти преобразование L.

A.1. Линейное преобразование L.

Преобразование байтов ai входного 128-битового (16-байтового) массива V в течение 16 раундов по следующей схеме.

Рис.8.16. Линейное преобразование L

Один раунд состоит из следующей последовательности операций:

— умножение (•) каждого байта ai массива V на соответствующую константу, определенную в ГОСТ;

— сложение по модулю 2 результатов умножения (a );

— сдвиг вправо элементов массива V на 1 байт;

— занесение a в качестве первого (старшего) байта массива V.

Массив констант по ГОСТ представлен в следующей таблице.

Таблица 8.14. Массив констант

№ п/пОснование системы счисления
16102
19414810010100
2203200100000
38513310000101
4101600010000
5C219411000010
6C019211000000
701100000001
8FB25111111011
901100000001
10C019211000000
11C219411000010
12101600010000
138513310000101
14203200100000
158414810010100
1601100000001

Проиллюстрируем выполнение операций на примере 4 раунда определения итерационной константы C1 (см. п.A.1.4 приложения А к ГОСТ 34.12-2015).

Массив V в начале итерации – [84, 94, 01, 00, 00, …, 00]16 = [10000100, 10010100, 00000001, 00000000, 00000000, …, 00000000]2.

Умножение (•) байта на константу выполняется в поле Галуа GF(2 8 ) по модулю x 8 + x 7 + x 6 + x + 1 (=1110000112 = 1C316) в соответствии с правилами полиномиальной арифметики (см. функцию MixColumns шифра AES):

84 * 9494 * 2001 * 85
*10000100
10010100
*10010100
00100000
*00000001
10000101
00000000
00000000
10000100
00000000
10000100
00000000
00000000
10000100
00000000
00000000
00000000
00000000
00000000
10010100
00000000
00000000
00000001
00000000
00000001
00000000
00000000
00000000
00000000
00000001
100100001010000 = 485016001001010000000 = 128016000000010000101 = 8516

— полиномиальное деление (для 8516 не требуется, т.к. число не превышает 8 битов):

4850 mod 1C31280 mod 1C3
100100001010000
111000011
1001010000000
111000011
111000100
111000011
111010110
111000011
11110000 = F01610101000 = A816

Сдвиг массива V вправо – [ _, 84, 94, 01, 00, …, 00]16.

Занесение a в качестве первого (старшего) байта массива V – [DD, 84, 94, 01, 00, …, 00]16.

A.2. Нелинейное биективное преобразование S.

Замена каждого байта ai входного 128-битового (16-байтового) массива V на байт подстановки π в соответствии со следующей таблицей.

Таблица 8.15. Подстановки π
(16-теричное представление)

_0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F
0_FCEEDD11CF6E3116FBC4FADA23C5044D
1_E977F0DB932E99BA1736F1BB14CD5FC1
2_F918655AE25CEF21811C3C428B018E4F
3_058402AEE36A8FA0060BED987FD4D31F
4_EB342C51EAC848ABF22A68A2FD3ACECC
5_B5700E56080C7612BF7213479CB75D87
6_15A19629107B9AC7F391786F9D9EB2B1
7_3275193DFF358A7E6D54C680C3BD0D57
8_DFF524A93EA843C9D779D6F67C22B903
9_E00FECDE7A94B0BCDCE828504E330A4A
A_A79760731E0062441AB83882649F2641
B_AD454692275E552F8CA3A57D69D5953B
C_0758B34086AC1DF730376BE488D9E789
D_E11B83494C3FF8FE8D53AA90CAD88561
E_207167A42D2B095BCB9B25D0BEE56C52
F_59A674D2E6F4B4C0D166AFC2394B63B6

При этом байт ai в 16-теричном представлении состоит из двух символов, первый из которых указывает на номер строки подстановки π, а второй – на номер столбца. Например, если один из байтов ai = С516, то он заменяется на a’i = AC16.

Иначе, таблицу подстановок π можно представить в виде одномерного массива. Тогда ai – это индекс элемента массива, который служит заменой – a’i = π[ai].

Зашифрование представляет собой последовательное применение к исходному блоку текста Т в течение 9 раундов r гаммирования по модулю 2 с итерационными ключами kr, а также преобразований S и L (см. A.1 и A.2). Для окончательного получения блока шифрограммы С результат раундовых преобразований складывается по модулю 2 с последним итерационным ключом k10.

При расшифровании меняется не только порядок использования итерационных ключей (как в DES и ГОСТ 28147-89), но и выполняется инверсия всех операций.

Преобразование байтов ai входного 128-битового (16-байтового) массива V в течение 16 раундов по следующей схеме.

— сдвиг выполняется в начале итерации;

— используется циклический сдвиг влево вместо простого сдвига вправо;

— результат сложения a заносится как последний (младший) байт массива V.

_0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F
0_A52D328F0E3038C054E69E39557E5291
1_6403575A1C6007182172A8D129C6A43F
2_E0278D0C82EAAEB49A6349E542E415B7
3_C806709D417519C9AAFC4DBF2A7384D5
4_C3AF2B86A7B1B25B46D39FFDD40F9C2F
5_9B43EFD979B6537FC1F023E7255EB51E
6_A2DFA6FEAC22F9E24ABC35CAEE78056B
7_51E159A3F27156116A8994658CBB773C
8_7B28ABD231DEC45FCCCF762CB8D82E36
9_DB69B31495BE62A13B1666E95C6C6DAD
A_37614BB9E3BAF1A08583DA47C5B033FA
B_966F6EC2F650FF5DA98E171B977DEC58
C_F71FFB7C090D7A674587DCE84F1D4E04
D_EBF8F33E3DBD8A88DDCD0B1398029380
E_90D02434CBEDF4CE99104440923A0126
F_121A4868F5818BC7D6200A08004CD774

Является дополнением к ГОСТ 34.12-2015 и определяет режимы работы блочных шифров:

— простой замены (Electronic Codebook, ЕСВ);

— гаммирования (Counter, CTR);

— гаммирования с обратной связью по выходу (Output Feedback, OFB);

— простой замены с зацеплением (Cipher Block Chaining, СВС);

— гаммирования с обратной связью по шифртексту (Cipher Feedback, CFB);

— выработки имитовставки (Message Authentication Code algorithm).

Для каждого из режимов в стандарте приведены схемы зашифрования / расшифрования, которые в качестве базовых операций используют процедуры зашифрования / расшифрования по ГОСТ 34.12-2015.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *