Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Более матаматически.docx
Скачиваний:
9
Добавлен:
22.09.2019
Размер:
35.5 Кб
Скачать

Модель шифра замены

Определим модель εA = (XKYED) произвольного шифра замены. Будем считать, что открытые и шифрованные тексты являются словами в алфавитах A и B соответственно: X ⊂ A*Y ⊂ B*, |A| = n, |B| = m. Здесь и далее C* обозначает множество слов конечной длины в алфавите C.

Перед зашифрованием открытый текст предварительно представляется в виде последовательности подслов, называемых шифрвеличинами. При зашифровании шифрвеличины заменяются некоторыми их эквивалентами, которые назовем шифробозначениями. Как шифрвеличины, так и шифробозначения представляют собой слова из A* и B* соответственно.

Пусть U = {u1,…,uN} — множество возможных шифрвеличин, V = {v1,…,vM} — множество возможных шифробозначений. Эти множества должны быть такими, чтобы любые тексты x ∈ Xy ∈ Y можно было представить словами из U*V* соответственно. Требование однозначности расшифрования влечет неравенства N ≥ nM ≥ mM ≥ N.

Для определения правила зашифрования Ek(x) в общем случае нам понадобится ряд обозначений и понятие распределителя, который, по сути, и будет выбирать в каждом такте шифрования замену соответствующей шифрвеличине.

Поскольку M ≥ N, множество V можно представить в виде объединения V = ∪i=1NVi непересекающихся непустых подмножеств Vi. Рассмотрим произвольное семейство, состоящее из r таких разбиений множества VV = ∪i=1NVα(i), α = 1,…,rr ∈ N.

Заметим, что последнее обозначение, введенное в [1], представляется неудачным, поскольку речь идет уже не о представлении множества V, а о множестве таких представлений. Кроме того, согласно тексту, N не отрезок натурального ряда, а число, что препятствует записи r ∈ N. Вследствие изложенного, семейство разбиений предпочтительно записать в виде {∪i=1NVα(i)}, α = 1,…,rr ∈ {1,2,…,N}, ∪i=1NVα(i) = VVα(i) ∩ Vα(j) = Ø, Vα(i) ≠ Ø.

Семейство биекций, соответствующее этому семейству разбиений множества V, обозначим через {φα}: V⇒{Vα(1),…,Vα(N)} и будем предполагать, что φα(ui) = Vα(i)i = 1,…,N.

Рассмотрим также произвольное отображение Φ: K×N ⇒ Nr*, где Nr = {1,2,…,r}, такое, что для любых k ∈ Kl ∈ N выполнено Φ(k,l) = a1(k)al(k)aj(k) ∈ Nrj = 1,…,r.

Назовем последовательность Φ(k,lраспределителем, отвечающим данным значениям k ∈ Kl ∈ N.

Теперь мы сможем определить правило зашифрования произвольного шифра замены. Пусть x ∈ Xx = x1xlxi ∈ Ui = 1,…,lk ∈ K и Φ(k,l) = a1(k)al(k). Тогда Ek(x) = y, где y = y1ylyi ∈ φaj(k) (xj), j = 1,…,l.

В качестве yj можно выбрать любой элемент множества φaj(k)(xj). Всякий раз при шифровании этот выбор можно производить случайно. Подчеркнем, что такая многозначность при зашифровании не препятствует расшифрованию, т. к. Vα(i) ∩ Vα(j) = Ø при i ≠ j.

Классификация шифров замены

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

Для однозначных шифров справедливо свойство: для любых α, i: |Vα(i)| = 1 для многозначных шифров — существуют α, i: |Vα(i)| > 1.

Наибольшее применение получили шифры однозначной замены. К ним в частности относится и рассмотренный ниже шифр гаммирования, играющий большую роль как в классической, так и в современной криптографии. Далее шифры замены будем считать однозначными. Тогда M = N и φa(ui) = va,ii = 1,…,M.

Заметим, что правило зашифрования Ek естественным образом индуцирует отображение ËkUV, которое в свою очередь продолжается до отображения ËkU*V*. Для упрощения записи будем использовать одно отображение Ek для каждого из трех указанных отображений.

В силу инъективности (по k) отображения Ek и того, что |U| = |V|, введенные в общем случае отображения φα являются биекциями φαUV,VU, определенными равенствами φα(ui) = vα(i)i = 1,…,N, α = 1,…,r. Число таких биекций не превосходит N!.

Для шифра однозначной замены определение правила зашифрования можно уточнить: в формуле yj ∈ φj(k)) (xj), j = 1,…,l включение следует заменить равенством yj = φj(k)) (xj), j = 1,…,l.

Введем еще ряд определений.

Если для некоторого числа q ∈ N выполняются включения vi ∈ Bqi = 1,…,N, то соответствующий шифр будем называть шифром равнозначной замены. В противном случае — шифром разнозначной замены.

Иначе говоря, шифр равнозначной замены имеет шифробозначения из одинакового количества символов, шифр разнозначной замены, вообще говоря — из разного количества. Например, шифр Цезаря, сопоставляющий каждой букве ровно одну букву — равнозначный. А шифр, сопоставляющий некоторым буквам однозначное число, а другим двузначное — разнозначный.

В подавляющем большинстве случаев используются шифры замены, для которых UAp, для некоторого p ∈ N. При p = 1 говорят о поточных шифрах замены, при p > 1 — о блочных шифрах замены. Таким образом, поточные шифры замены предусматривают только однобуквенные шифрвеличины, блочные — многобуквенные.

Наконец, в случае r = 1 шифр замены называют одноалфавитным шифром замены, в противном случае — многоалфавитным шифром замены.

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