Клод Шеннон. Теория связи в секретных системах. Чистые и смешанные шифры.


На домашнюю страничку Титульный лист Предыдущий раздел Следующий раздел

7. Чистые и смешанные шифры.

Некоторые типы шифров, такие как простая подстановка, транспозиция с данным периодом, система Виженера с данным периодом, система Виженера со смешанным алфавитом и т.д. (все с равновероятными ключами), обладают некоторой однородностью по отношению к ключу. Каков бы ни был ключ, процессы зашифрования, расшифрования адресатом и дешифрования противником являются по существу теми же самыми. Эти системы можно противопоставить системе с шифром

pS + qT,

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

Остаточные классы сообщений


[рисунок]

Чистая система

Остаточные классы криптограмм

Рис 4.

Причина однородности таких систем лежит в групповом свойстве: заметим, что в приведенных выше примерах однородных шифров произведение TiTj любых двух отображений из множества равно третьему отображению Tk из этого же множества. С другой стороны, TiSj не равно какому-нибудь отображению для шифра

pS + qT,

который содержит только подстановки и транспозиции, но не их произведения.

Было бы можно, таким образом, определить "чистый" шифр как шифр, в котором Tj образуют группу. Однако это было бы слишком сильным ограничением, так как тогда потребовалось бы, чтобы пространство E совпадало с пространством M, т.е. чтобы система была эндоморфной. Дробная транспозиция так же однородна, как и обычная транспозиция, но она не эндоморфна. Подходящим является следующее определение: шифр T является чистым, если для каждых Ti, Tj, Tk имеется такое Ts, что

TiTj–1Tk = Ts,

и все ключи равновероятны. В противном случае шифр является смешанным. Шифры на рис. 2 являются смешанными, а на рис. 4 – чистыми, если только все ключи равновероятны.

Теорема 1.  В чистом шифре операции Ti–1Tj, отображающие пространство сообщений в себя, образуют группу, порядок которой равен m – числу различных ключей.

Так как

Tj–1TkTk–1Tj = I,

то каждый элемент имеет обратный. Ассоциативный закон верен, так как это операции, а групповое свойство следует из того, что

Ti–1TjTk–1Tl = Ts–1TkTk–1Tl = Ts–1Tl,

где предполагалось, что Ti–1Tj = Ts–1Tk для некоторого s.

Операция Ti–1Tj означает зашифрование сообщения с помощью ключа j с последующим расшифрованием с помощью ключа i, что приводит нас назад к пространству сообщений. Если система T эндоморфна, т.е. Ti отображают пространство [Omega]M в само себя (что имеет место для большинства шифров, в которых и пространство сообщений, и пространство криптограмм состоит из последовательностей букв), и если Ti образуют группу и равновероятны, то T – чистый шифр, так как

TiTj–1Tk = TiTr = Ts.

Теорема 2.  Произведение двух чистых коммутирующих шифров является чистым шифром.

Если T и R коммутируют, то TiRj = RlTm для любых i, j при соответствующих l, m. Тогда

TiRj(TkRl)–1TmRn = TiRjRl–1Tk–1TmRn = RuRv–1RwTrTs–1Tt = RhTg.

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

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

T1T1–1T1 = T1.

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

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

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

Теорема 3.  В чистой системе сообщения можно разделить на множество "остаточных классов" С1,...,Сs, а криптограммы – на соответствующее множество остаточных классов С'1,...,С's. Эти классы будут иметь следующие свойства:
1. Остаточные классы сообщений взаимно исключают друг друга и содержат все возможные сообщения. Аналогичное утверждение верно и для остаточных классов криптограмм.
2. Если зашифровать любое сообщение из класса Сi с помощью любого ключа, то получится криптограмма из класса С'i. Расшифрование любой криптограммы из класса С'i с помощью любого ключа приводит к сообщению из класса Сi.
3. Число сообщений в классе Сi, скажем, равно числу криптограмм в классе С'i и является делителем k – числа ключей.
4. Каждое сообщение из класса Сi может быть зашифровано в каждую криптограмму из класса С'i при помощи точно k/[fi]i различных ключей. То же самое верно и для расшифрования.

Смысл понятия чистый шифр (и причина для выбора такого термина) лежит в том, что в чистом шифре все ключи являются по существу одинаковыми. Какой бы ключ ни использовался для заданного сообщения, апостериорные вероятности всех сообщений будут теми же самыми. Чтобы показать это, заметим, что два различных ключа, примененных к одному сообщению, дадут в результате две криптограммы из одного остаточного класса, скажем С'i. Поэтому эти две криптограммы могут быть расшифрованы с помощью k/[fi]i ключей в каждое из сообщений в классе Сi, и больше ни в какие возможные сообщения. Так как все ключи равновероятны, то апостериорные вероятности различных сообщений равны

[формула],

где M сообщение из класса Сi, E криптограмма из класса С'i и сумма берется по всем M из класса Сi. Если E и M не принадлежат соответствующим остаточным классам, то PE(M) = 0.

Аналогично можно показать, что набор апостериорных вероятностей различных лючей всегда одинаков, но эти вероятности ставятся в соответствие ключам лишь после того, как уже использован некоторый ключ. При изменении частного ключа это множество чисел PE(M) подвергается перестановке. Иными словами, имеем:

Теорема 4.  В чистой системе апостериорные вероятности различных сообщений PE(M) не зависят от выбора ключа. Апостериорные вероятности ключей PE(K) образуют один и тот же набор величин, но подвергаются перестановке в результате различных выборов ключа.

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

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

  Е = XCPPGCFQ,

то

  Е1 = RDHHGDSN,
  Е2 = ABCCDBEF,
 и т.д.

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

[здесь рисунок]

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

В шифре типа Цезаря имеют значение только первые разности криптограммы по модулю 26. Две криптограммы с теми же самыми разностями ([delta]ei) принадлежат к одному остаточному классу. Этот шифр можно раскрыть путем простого процесса выписывания двадцати шести сообщений из этого остаточного класса и выбора того из них, которое имеет смысл.

Шифр Виженера с периодом d со случайным ключом представляет собой другой пример чистого шифра. Здесь остаточный класс сообщений состоит из всех последовательностей с теми же первыми разностями, что и у криптограммы для букв, отстоящих на расстояние d. Для d = 3 остаточный класс определяется с помощью равенств

m1 m4= e1 e4
m2 m5= e2 e5
m3 m6= e3 e6
m4 m7= e4 e7
 ... ...  ... 

где E = e1e2... – криптограмма, а m1m2... является любым сообщением M в соответствующем остаточном классе.

В транспозиции с периодом d со случайным ключом остаточный класс состоит из всех способов расстановок символов криптограммы, в которых никакое ei не выдвигается из своего блока длины d и любые два ei с расстоянием d остаются на таком же расстоянии. Это используется для раскрытия шифра следующим образом: криптограмма записывается в виде последовательных блоков длины d один под другим, как показано ниже (для d = 5)

e1 e2 e3 e4 e5
e6e7 e8e9 e10
e11e12 .........
...............

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

Теорема 5.  Если шифр T – чистый, то TiTj–1T = T, где Ti, Tj – любые два отображения из T. Обратно, если это выполняется для любых принадлежащих шифру Ti, Tj, то шифр T является чистым.

Первая часть этой теоремы следует, очевидно, из определения чистого шифра. Чтобы доказать вторую часть, заметим сначала, что если TiTj–1T = T то TiTj–1Ts является отображением из T. Остается показать, что все ключи равновероятны. Имеем [формула] и

[формула].

Слагаемое в стоящей слева сумме с s = j дает pjTi. Единственным слагаемым с Ti, в правой части является piTi. Так как все коэффициенты неотрицательны, то отсюда следует, что

pj <= pi.

То же самое рассуждение остается справедливым, если i и j поменять местами. Следовательно,

pj = pi

и T – чистый шифр. Таким образом, условие TiTj–1T = T можно было бы использовать в качестве другого определения чистого шифра.

На домашнюю страничку Титульный лист Предыдущий раздел Следующий раздел


[Титульный лист] [Предыдущий раздел] [Следующий раздел]
[Начало осмотра] [Что нового] [Статьи] [Выпуски в "Байтах"] [Что скачать] [Криптоалгоритмы] [Глоссарий] [Ссылки] [Гостевая книга] [Форум] [Напиши мне]

Версия от 09.03.01. (c) 2001 Андрей Винокуров.