Введение. В ходе работы требуется провести исследование нижеследующих алгоритмов.
В ходе работы требуется провести исследование нижеследующих алгоритмов. Метод Цезаря относится к моноалфавитным подстановкам. Представим себе, что нам необходимо зашифровать сообщение “Срочно шлите подмогу - Цезарь”.
Рис.1
Для того чтобы воспользоваться шифром Цезаря, отправитель и получатель шифровки должны иметь секретный ключ. Возьмем для примера в качестве ключа букву русского алфавита под номером - 7 (это буква Ж). Отправитель сообщения создает шифртекст, складывая 7 с числами, соответствующими каждой букве открытого текста по их месту в исходном алфавите (буквы ё и й из исходного алфавита могут исключаться).
Так, первая буква открытого текста - С, соответствует числу 17 в исходном алфавите: складывая с 7, получаем число 24, которое соответствует букве Ш – первой букве шифртекста (рис.1).
Обозначим числовой эквивалент элементов открытого текста как множество X, а шифртекста как множество Y. Число 7 которое мы складывали (сдвигали) с каждым элементом множества X, чтобы получить шифртекст называется коэффициентом сдвига K. Теперь представим подстановку Цезаря в математическом виде, а именно: Y = (X + K) mod P. Означает сложение X + K по модулю P, где P – размер алфавита. В нашем случае P = 31. Операция сложения по модулю отличается от традиционного тем, что обладает свойством циклического сдвига. Например, складывая 30(Ю) и 7 получим 6(Е). Почему буква Е? В этом и заключается циклический сдвиг, т.е. если результатом обычного сложения получается число большее размера алфавита (> 31), то недостающее мы восполняем переходом к началу алфавита. При обычном сложении (30+7) получим 37. Вычитая из 37 31 (размер алфавита P) имеем число 6 или букву Е.
Подстановка Цезаря является самым простым вариантом подстановки. Она относится к группе моноалфавитных подстановок. В дальнейшем была предложена модификация данного шифра – т.н. шифр Гронсфельда, который относится к многоалфавитным подстановкам. етод Гронсфельда относится к многоалфавитным подстановкам.
Алгоритм Гронсфельда можно получить, если в преобразовании Цезаря применять для шифрования не постоянный коэффициент сдвига, а ключ состоящий из последовательности цифр. Знак в отрытом тексте сдвигается на заданное цифрой в ключе значение, а для смещения следующего знака берется очередная цифра ключа. Для шифрования под сообщением пишут ключ. Если ключ короче сообщения, то его повторяют циклически. Криптограмму получают аналогично шифру Цезаря, но сдвигая каждую букву на соответствующую цифру ключа. Так, применяя в качестве ключа группу из четырех цифр 3712 и алфавит, получаем шифровку:
сообщение С О В Е Р Ш Е Н Н О С Е К Р Е Т Н О ключ 3 7 1 2 3 7 1 2 3 7 1 2 3 7 1 2 3 7 шифровка Ф Х Г З У Я Ж П Р Х Т З Н Ч Ж Ф Р Х
|