Стандарт шифрования ГОСТ Р34.12-2015, базовый алгоритм шифрования 64-битного блока.
(ГОСТ 34.12 является модификацией ГОСТА 28147)
Шифрование в режиме простой замены (схема из лекций) Уравнения преобразований a (j) = { f [(a (j – 1) + K ( j -1)mod8) mod232] + b (j – 1)} mod2, b (j) = a (j – 1); при j = 1, …, 24; a (j) = { f [ a (j – 1) + K 32- j ] mod 232 + b (j – 1)} mod 2, b (j) = a (j – 1), при j = 25, …, 31; a (32) = a (31), b (32) ={ f [ a (31) + K0]) mod 232 + b (31)} mod2, при j = 32.
Из интернета: Отечественный алгоритм шифрования ГОСТ 28147-89 определен в стандарте [14]. Алгоритм шифрует данные 64-битными блоками с использованием 256-битного ключа шифрования. Выполняется 32 раунда преобразований, в каждом из которых предусмотрены следующие операции (см. рис. 1): Рис 1. Раунд алгоритма ГОСТ 28147-89. 1. Один из 32-битных субблоков данных складывается с 32-битным значением ключа раунда Ki по модулю 232. 2. Результат предыдущей операции разбивается на 8 фрагментов по 4 бита, которые параллельно «прогоняются» через 8 таблиц замен S1…S8. Таблицы замен в стандарте [14] не определены. Примеры возможных таблиц замен можно найти, например, в [17] или [18]. 3. 4-битные фрагменты (после замен) объединяются обратно в 32-битный субблок, значение которого циклически сдвигается влево на 11 бит. 4. Обработанный предыдущими операциями субблок накладывается на необработанный с помощью побитовой логической операции «исключающее или» (XOR). 5. Субблоки меняются местами. Процедура расширения ключа в алгоритме ГОСТ 28147-89, фактически, отсутствует: в раундах шифрования последовательно используются 32-битные фрагменты K1…K8 исходного 256-битного ключа шифрования в следующем порядке: K1, K2, K3, K4, K5, K6, K7, K8, Расшифрование полностью аналогично зашифрованию, но с другим порядком использования фрагментов ключа:
· в прямом порядке – в первых 8 раундах; · в остальных раундах – в обратном порядке. Стандарт [14] также предусматривает и описывает различные режимы применения алгоритма: · описанный выше режим простой замены; · режимы гаммирования и гаммирования с обратной связью, предусматривающие вычисление с помощью описанных выше преобразований псевдослучайной последовательности – гаммы шифра – и ее наложение на шифруемый текст; · режим вычисления имитовставки – криптографической контрольной суммы, используемой для подтверждения целостности данных; в данном режиме выполняется 16 раундов преобразований вместо 32-х. Алгоритм ГОСТ 28147-89 можно использовать и в различных общеупотребительных режимах шифрования (предусмотренных стандартом [4]). Кроме того, на основе данного алгоритма построен отечественный стандарт хэширования ГОСТ Р 34.11-94 [15]. Как видно из описания, алгоритм ГОСТ 28147-89 является весьма простым в реализации, что является его несомненным достоинством.
Принцип построения и характеристики шифра AES. AES (Advanced Encryption Standard) Новый американский стандарт шифрования FIPS-197. Данный алгоритм шифрования является не только полностью общедоступным, но и принятым как наилучший среди представленных на открытом конкурсе в США в 1997 г. шифр AES: - открыто опубликованный; - симметричный блоковый шифр, допускающим длины ключа 128, 192 и 256 бит; - предназначен как для аппаратной, так и для программной реализации; - доступен для свободного использования в любых продуктах, а значит, не запатентованным. В ходе исследований не выявлено слабостей криптоалгоритма; Характеристики шифра АЕS 1.Может работать быстрее, чем обычный блочный шифр; 2.Может быть реализован на смарт-карте, используя небольшой РАМ и имея небольшое число циклов; 3. Преобразование раунда допускает параллельное выполнение;
4. Не использует арифметических операций, поэтому тип архитектуры процессора не имеет значения; 5. Может быть использован для вычисления МАС-кода и хэш-функции.
Данный шифр основан на принципе итерирования (итерирование - повторение какой-либо математической операции, использующее результат предыдущей аналогичной операции) SD-преобразований и использует так называемую архитектуру «квадрат», т. е. все преобразования производятся в рамках одного квадрата. Текущие данные (в том числе исходное сообщение и получаемая криптограмма) записываются по одному байту (8 бит) в каждую из 16 клеток, что дает общую длину блока шифрования, равную 8x16 -128 бит. Первое преобразование данного алгоритма выполняется как вычисление обратного элемента в поле GF() по модулю неприводимого полинома + + + х +1, что обеспечивает доказуемую устойчивость шифра по отношению к линейному и дифференциальному криптоанализу, при этом нулевой элемент поля сохраняется без преобразования (рис. 3.16).
Следующее преобразование состоит в умножении каждой клетки квадрата, представленной в виде двоичного вектор-столбца (, ), на фиксированную матрицу и добавлении также фиксированного вектор-столбца, причем все операции здесь выполняются в поле GF{2}: Используемая в этом преобразовании матрица и вектор-столбец сохраняются одинаковыми на всех раундах и не зависят от ключа. Заметим, что умножение на матрицу и добавление вектора улучшают криптографические свойства шифра для случая, когда в клетках квадрата появляются нулевые элементы. В качестве очередного преобразования используется побайтовый циклический сдвиг массива сообщений на различное количество байт (клеток), показанный на рис. 3.17. Следующее преобразование называется перемешиванием столбцов. На этом шаге каждый С-й столбец квадратной матрицы представляется как 4-мерный вектор над полем GF(), и далее производится умножение в этом поле, заданном неприводимым полиномом + + + х +1, на определенную матрицу с элементами из этого же поля: где элементы, показанные в этой матрице, задаются как элементы поля GF() (т. е. как двоичные последовательности длины 8), что иллюстрируется следующим примером:
Наконец производится сложение с раундовыми ключами, которое выполняется просто как побитное сложение всех элементов последнего квадрата с 128 элементами раундового ключа по модулю 2. После завершения одного раунда все описанные выше операции повторяются с использованием других раундовых ключей. Раундовые ключи вырабатываются из единственного секретного ключа длиной 128, 192 или 256 бит (в зависимости от выбранного режима ифрования) при помощи специальных преобразований, включающих в себя циклические сдвиги и расширения. Количество раундов шифра зависит от выбранного режима его работы и изменяется в пределах от 10 до 14. Для дешифрования используется последовательность обратных преобразований с обратным порядком следования раундовых ключей, что оказывается вполне возможным, поскольку все операции, выполняемые в каждом раунде, как легко убедиться, обратимы. Однако следует заметить, что в отличие от шифров, основанных на структуре Фейстеля (например, шифр DES), данный шифр должен использовать разные электронные схемы или программы для шифрования и дешифрования соответственно. Особенности шифра AES 1) AES ориентирован в основном на реализацию с 8-разрядными процессорами; 2) все раундовые преобразования выполняются в конечных полях, что допускает простую реализацию на различных платформах. Стойкость шифра AES Очевидно, что перебор всех ключей (даже при их минимальном количестве- 2) оказывается невозможным. Линейный и дифференциальный криптоанализ также практически невозможны вследствие выбора оптимальных процедур преобразований и, в частности, вследствие использования вычисления обратных элементов в конечном поле. Криптоанализ на основе решения нелинейной системы уравнений над полем GF(2), описывающих шифр, теоретически возможен, в том числе и за счет появления дополнительных уравнений. Однако эта процедура требует необозримо большого вычислительного ресурса. Таким образом, в настоящее время шифр AES можно считать стойким относительно любых известных атак.
Скорость шифрования AES При программной реализации данный алгоритм наиболее эффективно реализуется на 8- и 32-разрядных платформах. Для типичных ПК скорость шифрования может составлять порядка 1 Мбайт/с - 500 кбайт/с. При аппаратной реализации высокие скорости шифрования (порядка 100 Мбайт/с и выше) потребуют увеличения аппаратных ресурсов и, следовательно, увеличения габаритов устройства.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|