Смекни!
smekni.com

Теория связи в секретных системах (стр. 2 из 5)


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

Если используется секретная система с конечным ключом и перехвачены N букв криптограммы, то для противника будет существовать определенное множество сообщений с определенными вероятностями, которые могли бы создать эту криптограмму. С увеличением N это множество обычно сужается до тех пор, пока в конце концов не получится единственного "решения" криптограммы: одно сообщение с вероятностью, близкой к единице, а все остальные с вероятностями, практически равными нулю. В работе определяется величина H(N), названная ненадежностью.

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

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

Из подобного анализа следует, что для обычных языков и обычных типов шифров (но не кодов) это "расстояние единственности" равно приблизительно H(K)/D. Здесь H(K) - число, измеряющее "объем" пространства ключей. Если все ключи априори равновероятны, то H(K) равно логарифму числа возможных ключей. Вводимое число D - это избыточность языка. Оно измеряет количество "статистических ограничений", налагаемых языком. Для простой подстановки со случайным ключом наше H(K) равно log1026! или приблизительно 20, а D (в десятичных единицах на букву) для английского языка равно приблизительно 0.7. Таким образом, единственность решения достигается приблизительно при 30 буквах.

Для некоторых "языков" можно построить такие секретные системы с конечным ключом, в которых неопределенность не стремится к нулю при N. В этом случае противник не получит единственного решения такого шифра, сколько бы материала он не перехватил, и у него будет оставаться много альтернатив с довольно большими вероятностями. Такие системы назовем идеальными системами. В любом языке можно аппроксимировать такую ситуацию, т.е. отсрочить приближение H(N) к нулю до сколь угодно больших N. Однако такие системы имеют много недостатков, таких как сложность и чувствительность к ошибкам при передаче криптограммы.

Третья часть статьи посвящена "практической секретности". Две системы с одинаковым объемом ключа могут быть обе разрешимы единственным образом, когда перехвачено N букв, но они могут значительно отличаться по количеству времени и усилий, затрачиваемых для получения решения. На основе анализа основных недостатков секретных систем предлагаются методы построения систем, для решения которых требуются большие затраты времени и сил. Наконец, рассматривается проблема несовместимости различных желательных качеств секретных систем.

Часть I. Математическая структура секретных систем.


2. Секретные системы.

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


Рис.1. Схема общей секретной системы.

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

Очевидно, шифровальщик на передающем конце выполняет некоторую функциональную операцию. Если M - сообщение, K - ключ и E - зашифрованное сообщение (криптограмма), то имеем

E = f(M,K),



т.е. E является функцией от M и K. Удобнее, однако, понимать E не как функцию двух переменных, а как (однопараметрическое) семейство операций или отображений, и записывать его в виде:

E = TiM.



Отображение Ti примененное к сообщению M, дает криптограмму E. Индекс i соответствует конкретному используемому ключу.

Вообще мы будем предполагать, что имеется лишь конечное число возможных ключей, каждому из которых соответствует вероятность pi. Таким образом, источник ключей является статистическим процессом, или устройством, которое выбирает одно из множества отображений T1,...,Tm с вероятностями p1,...,pm соответственно. Будем также предполагать, что число возможных сообщений конечно и эти сообщения M1,...,Mn имеют априорные вероятности q1,...,qn. Например, возможными сообщениями могли бы быть всевозможные последовательности английских букв, включающих по N букв каждая, а соответствующими вероятностями тогда были бы относительные частоты появления таких последовательностей в нормативном английском тексте.

Должна иметься возможность восстанавливать M на приемном конце, когда известны E и K . Поэтому отображение Ti , из нашего семейства должно иметь единственное обратное отображение Ti-1, так что TiTi-1 = I , где I - тождественное отображение. Таким образом:

M = Ti-1 E

Во всяком случае, это обратное отображение Ti-1 должно существовать и быть единственным для каждого E, которое может быть получено из M с помощью ключа i. Приходим, таким образом, к следующему определению: секретная система есть семейство однозначно обратимых отображений Ti множества возможных сообщений во множество криптограмм, при этом отображение Ti имеет вероятность pi. Обратно, любое множество объектов такого типа будет называться "секретной системой". Множество возможных сообщений для удобства будет называться "пространством сообщений", а множество возможных криптограмм - "пространством криптограмм".

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

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

Для того чтобы нашу проблему можно было рассмотреть математически, предположим, что противнику известна используемая система. Иными словами, он знает семейство отображений Ti и вероятности выбора различных ключей. Можно было бы, во-первых, возразить, что такое предположение нереалистично, так как шифровальщик противника часто не знает, какая система использовалась или чему равны рассматриваемые вероятности. На это возражение имеется два ответа.


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

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

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

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

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

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

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

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