Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задания для самостоятельной работы Криптография...doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
543.74 Кб
Скачать

3. Симметричная система шифрования

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

3.1 Потоковые шифры

Потоковые шифры преобразуют открытый текст в шифротекст побитово. Генератор гаммы выдает поток битов: k1,k2,k3…, ki. Эта гамма шифра или просто гамма и поток битов открытого текста: p1,p2,p3…pi подвергаются операции XOR, и в результате создается поток битов шифротекста.

ci=pi XOR ki

При расшифровывании, для восстановления битов открытого текста, над битами шифротекста и той же самой гаммой тоже выполняется операция XOR:

pi=ci XOR ki

Поскольку

pi XOR ki XOR ki= pi

эта схема работает превосходно.

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

3.2 Генераторы псевдослучайных чисел

Генераторы псевдослучайных чисел – устройство или программа, вырабатывающее/(щая) последовательность b- разрядных чисел, которые отвечают требованиям случайных ( кажутся случайными), но могут быть воспроизведены вновь при каждом запуске генератора с “начала”. В настоящее время наиболее доступными (с точки зрения практического воплощения) являются линейные конгруэнтные генераторы и генераторы на основе регистров сдвига с обратными связями. Одним из хороших конгруэнтных генераторов является линейный конгруэнтный генератор ПСЧ.

Линейный конгруэнтный генератор

Этот генератор вырабатывает последовательность псевдослучайных чисел T1, T2, T3, … Tm, используя соотношение:

Ti+1=(a*Ti +c)MOD m ,

где a и c – константы, а Ti -исходная величина, выбранная как порождающее число. Данное уравнение генерирует ПСЧ с определенным периодом повторения, зависящим от выбранных значений a и с. Значение m обычно устанавливается равным 2b или 2b-1 , где b – длина ПСЧ в битах. Для получения максимального периода повторения генератора, работающего по данному уравнению, необходимо, чтобы b было целым числом больше 2 , c- нечетным числом и a MOD 4 = 1.

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

Другим примером генератора ПСЧ является генератор на основе регистра сдвига .

Генератор на основе регистра сдвига

Рассмотрим регистр сдвига, образованный на основе неприводимого многочлена

P(x)=x4 +x+1

и вырабатывающий 15 4-х разрядных чисел.

Если в младший левый разряд регистра сдвига поместить 1, а в остальные разряды 0, то последовательные сдвиги содержимого регистра дадут все множество различных n-разрядных последовательностей. Для данного полинома максимальное число различных последовательностей составляет 15.

Генератор с регистром сдвига с обратными связями может генерировать (при правильном выборе образующего полинома P(x)) в одном периоде 2n-1 различных n-разрядных последовательностей.

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

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

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

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

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

( 0 XOR 0 = 0; 1 XOR 0 = 1; 0 XOR 1 = 1; 1 XOR 1 = 0

в общем случае a XOR a =0 ; a XOR b XOR b =a )

Для расшифровки та же гамма накладывается на зашифрованные данные.

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