Наука
Advertisement
Ивентология Helgus ~ µастер ~ Kласс: Это незавершённая статья по ивентологии и её применениям

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

Алгоритм[]

Пусть нам дано некоторое сообщение, состоящее из n символов, включая пробел. Ключом является последовательность из некоторого числа i символов. Под открытый текст подписывается ключ

Если длина ключа меньше длины сообщения, то ключ периодически повторяется.

Каждому знаку открытого текста и ключа ставится в соответствие некоторый вычет по модулю n.

Ключом является символы последовательности = (,, , …) – ее называют гаммой. А шифртекст получается по правилу

y(t)=

Гаммирование чаще осуществляется:

  • по модулю 2, если открытый текст представляется в виде бинарной последовательности;
  • по модулю 256, если открытый текст представляется в виде последовательности байтов;
  • по модулю 10, если открытый текст последовательность цифр.


Какие же требования должны быть предъявлены, чтобы обеспечить достаточное качество шифра?

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

2. Необходимо, чтобы соседние или близкие по расположению элементы последовательности {} отличались друг от друга. Было бы крайне желательно, чтобы различия между ними были в каждом позиции.

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

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

Пример[]

Исходное сообщение из букв русского алфавита преобразуется в числовое сообщение заменой каждой его буквы числом по следующей таблице:

Числовая замена букв
А Б В Г Д Е Ж З И К Л М Н О П
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14
Р С Т У Ф Х Ц Ч Ш Щ Ь Ы Э Ю Я
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29


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

При зашифровании каждое число числового сообщения складывается с соответствующим числом шифрующего отрезка. Затем вычисляется остаток от деления полученной суммы на 30, который по данной таблице заменяется буквой. Восстановите сообщение КЕНЗЭРЕ, если шифрующий отрезок взят из последовательности, у которой = 3 и для любого натурального k. [19]

Решение: Заметим, что для всех натуральных k. Складывая почленно эти равенства при k=1,2,…,(n-1), получим Невозможно разобрать выражение (синтаксическая ошибка): {\displaystyle A_n – A_1 = n^3-3+2n} . По условию =3. Следовательно, справедливо соотношение . Ясно, что при расшифровании так же, как и при зашифровании, вместо чисел , , , , , , можно воспользоваться их остатками от деления на 30. Так как для каждого целого неотрицательного i где z - некоторое целое число, то получаем следующие остатки при делении чисел ,…, на 30:

Остатки при делении на 30
0 3 12 3 12 15 18

Заключительный этап представлен в таблице: Таблица 22. Дешифрование сообщения

Шифрованное сообщение К Е Н З Э Р Е
Числовое шифрованное сообщение 9 5 12 7 27 15 5
Шифрующий отрезок 0 3 12 3 12 15 18
Числовое исходное сообщение 9 2 0 4 15 0 17
Исходное сообщение К В А Д Р А Т

Исходное сообщение: КВАДРАТ

См.также[]

Advertisement