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

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

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

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

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

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

Для наложения материала раундового ключа обычно используется гаммирование (побитовое сложение с битами ключа операцией исключающего ИЛИ), однако может использоваться и другие приемы, например сложение по модулю 2n, где n – длина раундового ключа.

Многократно повторяющийся набор элементарных криптографических операций называется раундом шифрования, а используемый для каждого набора ключ ki – раундовым ключом, i = 1, … , r. При этом выходные данные раунда считаются входными для следующего. Чем больше раундов шифрования, тем выше вычислительная стойкость криптосистемы, но ниже скорость работы (эффективность) композиционного шифра.

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

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

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

Узнай цену консультации

"Да забей ты на эти дипломы и экзамены!” (дворник Кузьмич)