Существует много трудных эпистемологических вопросов, связанных с теорией секретности, или вернее с любой теорией, связанной с реальным применением вопросов теории вероятностей (так обстоит дело, в частности, с априорными вероятностями, теоремой Байеса и т.д.). Трактуемая абстрактно теория вероятности может быть изложена на строгих логических основах с использованием современной теории меры. Однако в применениях к физическим ситуациям, особенно когда дело касается "субъективных" вероятностей и неповторимых экспериментов, возникают многочисленные вопросы, связанные с логическим обоснованием. Например, при нашем подходе к проблеме секретности допускается, что априорные вероятности различных ключей и сообщений известны шифровальщику противника, но как он может определить их эффективным способом даже при использовании всех своих сведений о данной обстановке?
Можно создать искусственные криптографические ситуации типа "урны и игральной кости", в которых априорные вероятности имеют вполне определенный смысл и идеализация, использованная здесь, является наверняка подходящей. Но в других случаях, которые можно себе представить, например, при перехвате сообщений, передаваемых между собой марсианами, высадившимися на Землю, априорные вероятности были бы настолько неопределенными, что не имели бы никакого значения.
Наиболее часто встречающиеся на практике криптографические задачи лежат где-то между этими крайними пределами. Шифровальщик противника может иметь желание разделить возможные сообщения на категории "приемлемых", "возможных, но малоправдоподобных" и "неприемлемых", но чувствуется, что более подробное подразделение не имело бы смысла.
К счастью, на практике только очень большие ошибки в априорных вероятностях ключей и сообщений могут вызвать заметные ошибки в важных параметрах. Это происходит из-за того, что число сообщений и криптограмм ведет себя как экспоненциальная функция, а измеряется логарифмической мерой.
3. Способы изображения систем.
Секретная система, в том виде как она определена выше, может быть изображена различными способами. Один из них (удобный для целей иллюстрации) использует линейные схемы, изображенные на рис. 2. Возможные сообщения представляются точками слева, а возможные криптограммы - точками справа. Если некоторый ключ, скажем, ключ 1, отображает сообщение M2 в криптограмму Е2, то M2 и E2 соединяются линией, обозначенной значком 1 и т.д.. Для каждого ключа из каждого сообщения должна выходить ровно одна линия. Если это же верно и для каждой криптограммы, скажем, что система является замкнутой.
Замкнутая система | Незамкнутая система |
Рис.2. Схемы простых систем.
Более общий способ описания системы состоит в задании операции, с помощью которой, применяя к сообщению произвольный ключ, можно получить криптограмму. Аналогично неявным образом можно определить вероятности различных ключей или с помощью задания способа выбора ключей, или с помощью описания сведений о том, как обычно выбирает ключи противник. Вероятности сообщений определяются просто посредством изложения наших априорных сведений о языке противника, тактической обстановке (которая будет влиять на возможное содержание сообщений) и любой специальной информации, касающейся криптограммы
4. Примеры секретных систем.
В данном разделе рассматриваются несколько примеров шифров. В дальнейшем в целях иллюстрации будем часто ссылаться на эти примеры.
Шифр простой подстановки.
В таком шифре производится замена каждой буквы сообщения на некоторый определенный символ (обычно также на букву). Таким образом, сообщение
М = m1m2m3m4...,
где m1,m2,... - последовательные буквы, переходит в
E = e1e2e3e4... = f(m1)f(m2)f(m3)f(m4)...,
причем функция f(m) имеет обратную функцию. Ключ является просто перестановкой алфавита (если буквы заменяются на буквы), например,
XGUACDTBFHRSLMQVYZWIEJOKNP.
Первая буква - X заменяет букву A, G заменяет B и т.д.
Транспозиция с фиксированным периодом d.
В этом случае сообщение делится на группы символов длины d и к каждой группе применяется одна и та же перестановка. Эта перестановка является ключом; она может быть задана некоторой перестановкой первых d целых чисел.
Таким образом, для d = 5 в качестве перестановки можно взять 23154. Это будет означать, что
m1m2m3m4m5m6m7m8m9m10...
переходит в
m2m3m1m5m4m7m8m6m10m9...
Последовательное применение двух или более транспозиций будет называться составной транспозицией. Если периоды этих транспозиций равны >d1,...,ds, то, очевидно, в результате получится транспозиция периода d, где d - наименьшее общее кратное d1,...,ds.
Шифр Виженера и его варианты.
В шифре Виженера ключ задается набором из d букв. Такие наборы подписываются с повторением под сообщением и полученные две последовательности складываются по модулю 26 (каждая буква рассматриваемого алфавита нумеруется от А = 0 до Z = 25).
Таким образом,
ei = mi+ki (mod 26),
где ki - буква ключа, полученная сокращением числа i по модулю d. Например, с помощью ключа GAH получаем
Сообщение | N | O | W | I | S | T | H | E |
Повторяемый ключ | G | A | H | G | A | H | G | A |
Криптограмма | T | O | D | O | S | A | N | E |
Шифр Виженера с периодом 1 называется шифром Цезаря. Он представляет собой простую подстановку, в которой каждая буква сообщения М сдвигается вперед на фиксированное число мест по алфавиту. Это число и является ключом; оно может быть любым от 0 до 25. Так называемый шифр Бофора (Beaufort) и видоизмененный шифр Бофора подобны шифру Виженера. В них сообщения зашифровываются с помощью равенств