Гост 28147 89 контрольные примеры

Гост 28147 89 контрольные примеры

Опубликовал GMan1990GMan1990 Добавлено 18-03-2015 21:2118-03-2015 21:21 6432 Прочтений6432 Прочтений 0 Комментариев0 Комментариев

printer

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

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

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

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

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

при этом полученный -й символ остаётся -м, а не нулевым. Затем выполняется замена полученных чисел на буквы шифрограммы. Дешифрирование выполняется по формуле

где – это символы исходного сообщения, – символы зашифрованного сообщения, – символы гаммы.

· Рекомендации : Для каждого сообщения использовать новую гамму (повторное использование гаммы недопустимо).

· Для формирования гаммы использовать аппаратные генераторы случайных чисел на основе физических процессов.

· Длина гаммы должна быть не меньше длины защищаемого сообщения.

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

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

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

ОЦЕНКА: На практике блочный шифр оценивают по множеству критериев:

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

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

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

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

· Стоимость шифра, которая может быть обусловлена лицензионными требованиями в соответствии с интеллектуальной собственностью .

· Гибкость шифра, связанная со способностью поддерживать множество длин ключей и блоков.

Итеративные блочные шифры

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

где C i — значение блока после i-го раунда, C 0 = M — открытый текст, K i — ключ, используемый в i-м раунде и полученный из первоначального ключа K.

Размер блока n — это фиксированный параметр блочного шифра, обычно равный 64 или 128 битам, хотя некоторые шифры допускают несколько различных значений. Длина 64 бита была приемлема до середины 90-х годов, затем использовалась длина 128 бит, что примерно соответствует размеру машинного слова и позволяет эффективную реализацию на большинстве распространённых вычислительных платформ. Различные схемы шифрования позволяют зашифровывать открытый текст произвольной длины. Каждая имеет определенные характеристики: вероятность ошибки, простота доступа, уязвимость к атакам. По состоянию на 2006 год 80-битный ключ способен был предотвратить атаку грубой силой .

SP-сети

←SP-сети

Сеть Фейстеля — это общий метод преобразования произвольной функции F в перестановку на множестве блоков. [15] Она состоит из циклически повторяющихся ячеек — раундов. Внутри каждого раунда блок открытого текста разделяется на две равные части. Раундовая функция

Шифрование в ячейке Фейстеля

берет одну половину (на рис. правую), преобразует её с использованием ключа Ki и объединяет результат с второй половиной посредством операции исключающее ИЛИ (XOR). Этот ключ задаётся первоначальным ключом K и различен для каждого раунда. Далее половинки меняются местами (иначе будет преобразовываться только одна половина блока) и подаются на следующий раунд. Преобразование сети Фейстеля является обратимой операцией.

Для функции F существуют определенные требования:

· её работа должна приводить к лавинному эффекту

· должна быть нелинейна по отношению к операции XOR

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

Подобная конструкция обладает ощутимым преимуществом: процедуры шифрования/расшифрования совпадают, только производные от первоначального ключи используются в обратном порядке. Это значит, что одни и те же блоки могут использоваться как для шифрования, так и для расшифрования, что, безусловно, упрощает реализацию шифра. Недостаток схемы заключается в том, что в каждом раунде обрабатывается только половина блока, что приводит к необходимости увеличивать число раундов

2) ГОСТ 28147-89

3) AES (заменил DES в США)

ГОСТ 28147-89 — советский и российский стандарт симметричного шифрования , введённый в 1990 году , также является стандартом СНГ. Блочный шифр алгоритм. При использовании метода шифрования с гаммированием может выполнять функции поточного крипто алгоритма.

Выделяют четыре режима работы ГОСТ 28147-89:

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

Шифрование может быть описано следующим образом:

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

Преимущества :

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

Недостатки :

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

· Блоки могут пропадать или появляться. Злоумышленник может перехватить блок и продублировать его, и со стороны приёмника он будет воспринят как «правильный».

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

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

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

Читайте также:  Применение бортового камня гост

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

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

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

Режим обратной связи по шифротексту.

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

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

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

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

Имитовставка по ГОСТ 28147-89

ГОСТ 28147-89 предусматривает выработку имитовставки в соответствующем режиме. Длина имитовставки от 1 до 32 бит. Её выработка происходит по следующей схеме.

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

Первый блок шифруется в режиме простой замены ГОСТ 28147-89 тем же ключом, что и сообщение, но с применением 16 циклов вместо 32. Результат по битам по модулю 2 складывается с вторым блоком и так же шифруется. Результат складывается с третьим блоком. и так далее.

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

Имитовставка обычно передаётся в конце сообщения и может вычисляться либо отдельно от шифрования/расшифрования, либо в процессе оного.

Достоинства ГОСТа

· бесперспективность атаки полным перебором ( XSL-атаки в учёт не берутся, так как их эффективность на данный момент полностью не доказана);

· эффективность реализации и, соответственно, высокое быстродействие на современных компьютерах ;

· наличие защиты от навязывания ложных данных (выработка имитовставки) и одинаковый цикл шифрования во всех четырех алгоритмах ГОСТа.

Источник



ГОСТ 28147—89

ГОСТ 28147—89 — советский и российский стандарт симметричного шифрования, введённый в 1990 году. Полное название — «ГОСТ 28147—89 Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования». Блочный шифроалгоритм. При использовании метода шифрования с гаммированием, может выполнять функции поточного шифроалгоритма.

По некоторым сведениям [1] , история этого шифра гораздо более давняя. Алгоритм, положенный впоследствии в основу стандарта, родился, предположительно, в недрах Восьмого Главного управления КГБ СССР (ныне в структуре ФСБ), скорее всего, в одном из подведомственных ему закрытых НИИ, вероятно, ещё в 1970-х годах в рамках проектов создания программных и аппаратных реализаций шифра для различных компьютерных платформ.

С момента опубликования ГОСТа на нём стоял ограничительный гриф «Для служебного пользования», и формально шифр был объявлен «полностью открытым» только в мае 1994 года. К сожалению, история создания шифра и критерии разработчиков до сих пор не опубликованы.

Содержание

Описание [ править | править код ]

ГОСТ 28147-89 — блочный шифр с 256-битным ключом и 32 циклами преобразования, оперирующий 64-битными блоками. Основа алгоритма шифра — Сеть Фейстеля. Базовым режимом шифрования по ГОСТ 28147-89 является режим простой замены (определены также более сложные режимы гаммирование, гаммирование с обратной связью и режим имитовставки). Для зашифрования в этом режиме открытый текст сначала разбивается на левую и правую половины (обозначены ниже как L и R). На i-ом цикле используется подключ ki:

<\displaystyle R_<i+1 data-lazy-src=

Согласно данным книги Б. Шнайера «Прикладная криптография», эти же блоки используются также Центральным Банком РФ.

В тексте стандарта указывается, что поставка заполнения узлов замены (S-блоков) производится в установленном порядке, т.е. разработчиком алгоритма.

Достоинства ГОСТа [ править | править код ]

  • бесперспективность силовой атаки (XSL-атаки в учёт не берутся, т.к. их эффективность на данный момент полностью не доказана);
  • эффективность реализации и соответственно высокое быстродействие на современных компьютерах.
  • наличие защиты от навязывания ложных данных (выработка имитовставки) и одинаковый цикл шифрования во всех четырех алгоритмах ГОСТа.

Криптоанализ [ править | править код ]

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

низкой сложностью. Криптоанализ алгоритма продолжен в работе [источник?] .

В 2004 г. группа специалистов из Кореи предложила атаку, с помощью которой, используя дифференциальный криптоанализ на связанных ключах, можно получить с вероятностью 91,7% 12 бит секретного ключа. Для атаки требуется 2 35 выбранных открытых текстов и 2 36 операций шифрования. Как видно, данная атака, практически, бесполезна для реального вскрытия алгоритма.

Критика ГОСТа [ править | править код ]

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

Читайте также:  Гост раствор аммиачной селитры

Источник

Алгоритм криптографического преобразования данных ГОСТ 28147-89

Цель лекции: изучение блочного алгоритма шифрования по ГОСТ 28147-89.

Основные сведения

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

В отличие от американского DES в отечественном стандарте применяется более длинный ключ – 256 бит . Кроме того, российский стандарт предлагает использовать 32 раунда шифрования, тогда как DES – только 16.

Таким образом, основные параметры алгоритма криптографического преобразования данных ГОСТ 28147-89 следующие: размер блока составляет 64 бита, размер ключа – 256 бит , количество раундов – 32.

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

В алгоритме шифрования используются следующие операции :

  • сложение слов по модулю 2 32 ;
  • циклический сдвиг слова влево на указанное число бит;
  • побитовое сложение по модулю 2;
  • замена по таблице.

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

Структура раунда ГОСТ 28147-89

Структура одного раунда ГОСТ 28147-89 приведена на рис. 5.1.

Шифруемый блок данных разбивается на две части, которые затем обрабатываются как отдельные 32-битовые целые числа без знака. Сначала правая половина блока и подключ раунда складываются по модулю 2 32 . Затем производится поблочная подстановка . 32-битовое значение , полученное на предыдущем шаге (обозначим его S ), интерпретируется как массив из восьми 4-битовых блоков кода: S=(S,S1,S2,S3,S4,S5,S6,S7) . Далее значение каждого из восьми блоков заменяется на новое, которое выбирается по таблице замен следующим образом: значение блока Si заменяется на Si-тый по порядку элемент ( нумерация с нуля) i-го узла замен (т.е. i-той строки таблицы замен, нумерация также с нуля). Другими словами, в качестве замены для значения блока выбирается элемент c номером строки, равным номеру заменяемого блока, и номером столбца, равным значению заменяемого блока как 4-битового целого неотрицательного числа. В каждой строке таблицы замен записаны числа от 0 до 15 в произвольном порядке без повторений. Значения элементов таблицы замен взяты от 0 до 15 , так как в четырех битах, которые подвергаются подстановке, может быть записано целое число без знака в диапазоне от 0 до 15 . Например, первая строка S-блока может содержать такие значения: 5, 8, 1, 13, 10, 3, 4, 2, 14, 15, 12, 7, 6, 0, 9, 11 . В этом случае значение блока S (четыре младших бита 32-разрядного числа S) заменится на число, стоящее на позиции, номер которой равен значению заменяемого блока. Если S = 0 , то оно заменится на 5 , если S= 1 , то оно заменится на 8 и т.д.

 Структура одного раунда ГОСТ 28147-89

После выполнения подстановки все 4-битовые блоки снова объединяются в единое 32-битное слово , которое затем циклически сдвигается на 11 битов влево. Наконец, с помощью побитовой операции «сумма по модулю 2» результат объединяется с левой половиной, вследствие чего получается новая правая половина Ri . Новая левая часть Li берется равной младшей части преобразуемого блока: Li= Ri-1 .

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

Процедуры шифрования и расшифрования

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

Рассмотрим процесс создания подключей раундов. В ГОСТ эта процедура очень проста, особенно по сравнению с DES . 256-битный ключ K разбивается на восемь 32-битных подключей, обозначаемых K, K1, K2,K3, K4, K5, K6, K7. Алгоритм включает 32 раунда, поэтому каждый подключ при шифровании используется в четырех раундах в последовательности, представленной на таблица 5.1.

Таблица 5.1. Последовательность использования подключей при шифровании

Раунд 1 2 3 4 5 6 7 8
Подключ K K1 K2 K3 K4 K5 K6 K7
Раунд 9 10 11 12 13 14 15 16
Подключ K K1 K2 K3 K4 K5 K6 K7
Раунд 17 18 19 20 21 22 23 24
Подключ K K1 K2 K3 K4 K5 K6 K7
Раунд 25 26 27 28 29 30 31 32
Подключ K7 K6 K5 K4 K3 K2 K1 K

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

Источник

Гост 28147 89 контрольные примеры

Опубликовал GMan1990GMan1990 Добавлено 18-03-2015 21:2118-03-2015 21:21 6432 Прочтений6432 Прочтений 0 Комментариев0 Комментариев

printer

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

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

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

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

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

при этом полученный -й символ остаётся -м, а не нулевым. Затем выполняется замена полученных чисел на буквы шифрограммы. Дешифрирование выполняется по формуле

где – это символы исходного сообщения, – символы зашифрованного сообщения, – символы гаммы.

· Рекомендации : Для каждого сообщения использовать новую гамму (повторное использование гаммы недопустимо).

· Для формирования гаммы использовать аппаратные генераторы случайных чисел на основе физических процессов.

· Длина гаммы должна быть не меньше длины защищаемого сообщения.

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

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

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

Читайте также:  Фрезы для чугуна гост

ОЦЕНКА: На практике блочный шифр оценивают по множеству критериев:

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

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

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

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

· Стоимость шифра, которая может быть обусловлена лицензионными требованиями в соответствии с интеллектуальной собственностью .

· Гибкость шифра, связанная со способностью поддерживать множество длин ключей и блоков.

Итеративные блочные шифры

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

где C i — значение блока после i-го раунда, C 0 = M — открытый текст, K i — ключ, используемый в i-м раунде и полученный из первоначального ключа K.

Размер блока n — это фиксированный параметр блочного шифра, обычно равный 64 или 128 битам, хотя некоторые шифры допускают несколько различных значений. Длина 64 бита была приемлема до середины 90-х годов, затем использовалась длина 128 бит, что примерно соответствует размеру машинного слова и позволяет эффективную реализацию на большинстве распространённых вычислительных платформ. Различные схемы шифрования позволяют зашифровывать открытый текст произвольной длины. Каждая имеет определенные характеристики: вероятность ошибки, простота доступа, уязвимость к атакам. По состоянию на 2006 год 80-битный ключ способен был предотвратить атаку грубой силой .

SP-сети

←SP-сети

Сеть Фейстеля — это общий метод преобразования произвольной функции F в перестановку на множестве блоков. [15] Она состоит из циклически повторяющихся ячеек — раундов. Внутри каждого раунда блок открытого текста разделяется на две равные части. Раундовая функция

Шифрование в ячейке Фейстеля

берет одну половину (на рис. правую), преобразует её с использованием ключа Ki и объединяет результат с второй половиной посредством операции исключающее ИЛИ (XOR). Этот ключ задаётся первоначальным ключом K и различен для каждого раунда. Далее половинки меняются местами (иначе будет преобразовываться только одна половина блока) и подаются на следующий раунд. Преобразование сети Фейстеля является обратимой операцией.

Для функции F существуют определенные требования:

· её работа должна приводить к лавинному эффекту

· должна быть нелинейна по отношению к операции XOR

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

Подобная конструкция обладает ощутимым преимуществом: процедуры шифрования/расшифрования совпадают, только производные от первоначального ключи используются в обратном порядке. Это значит, что одни и те же блоки могут использоваться как для шифрования, так и для расшифрования, что, безусловно, упрощает реализацию шифра. Недостаток схемы заключается в том, что в каждом раунде обрабатывается только половина блока, что приводит к необходимости увеличивать число раундов

2) ГОСТ 28147-89

3) AES (заменил DES в США)

ГОСТ 28147-89 — советский и российский стандарт симметричного шифрования , введённый в 1990 году , также является стандартом СНГ. Блочный шифр алгоритм. При использовании метода шифрования с гаммированием может выполнять функции поточного крипто алгоритма.

Выделяют четыре режима работы ГОСТ 28147-89:

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

Шифрование может быть описано следующим образом:

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

Преимущества :

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

Недостатки :

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

· Блоки могут пропадать или появляться. Злоумышленник может перехватить блок и продублировать его, и со стороны приёмника он будет воспринят как «правильный».

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

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

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

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

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

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

Режим обратной связи по шифротексту.

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

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

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

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

Имитовставка по ГОСТ 28147-89

ГОСТ 28147-89 предусматривает выработку имитовставки в соответствующем режиме. Длина имитовставки от 1 до 32 бит. Её выработка происходит по следующей схеме.

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

Первый блок шифруется в режиме простой замены ГОСТ 28147-89 тем же ключом, что и сообщение, но с применением 16 циклов вместо 32. Результат по битам по модулю 2 складывается с вторым блоком и так же шифруется. Результат складывается с третьим блоком. и так далее.

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

Имитовставка обычно передаётся в конце сообщения и может вычисляться либо отдельно от шифрования/расшифрования, либо в процессе оного.

Достоинства ГОСТа

· бесперспективность атаки полным перебором ( XSL-атаки в учёт не берутся, так как их эффективность на данный момент полностью не доказана);

· эффективность реализации и, соответственно, высокое быстродействие на современных компьютерах ;

· наличие защиты от навязывания ложных данных (выработка имитовставки) и одинаковый цикл шифрования во всех четырех алгоритмах ГОСТа.

Источник