Клод Шеннон. Теория связи в секретных системах. Совершенная секретность.
Предположим, что имеется конечное число возможных сообщений M1,...,Mn с априорными вероятностями P(M1),...,P(Mn) и что эти сообщения преобразуются в возможные криптограммы E1,...,Em, так что
E = TiM.
После того как шифровальщик противника перехватил некоторую криптограмму E, он может вычислить, по крайней мере в принципе, апостериорные вероятности различных сообщений PE(M). Естественно определить совершенную секретность с помощью следующего условия: для всех E апостериорные вероятности равны априорным вероятностям независимо от величины этих последних. В этом случае перехват сообщения не дает шифровальщику противника никакой информации. Теперь он не может корректировать никакие свои действия в зависимости от информации, содержащейся в криптограмме, так как все вероятности, относящиеся к содержанию криптограммы, не изменяются. С другой стороны, если это условие равенства вероятностей не выполнено, то имеются такие случаи, в которых для определенного ключа и определенных выборов сообщений апостериорные вероятности противника отличаются от априорных. А это в свою очередь может повлиять на выбор противником своих действий и, таким образом, совершенной секретности не получится. Следовательно, приведенное определение неизбежным образом следует из нашего интуитивного представления о совершенной секретности.
Необходимое и достаточное условие для того, чтобы система была совершенно секретной, можно записать в следующем виде. По теореме Байеса
,
где
P(M) – априорная
вероятность сообщения M;
PM(E)
– условная вероятность криптограммы E при условии, что выбрано
сообщение M, т.е. сумма вероятностей всех тех ключей, которые переводят
сообщение M в криптограмму E;
P(E) –
вероятность получения криптограммы E;
PE(M)
– апостериорная вероятность сообщения M при условии, что перехвачена
криптограмма E.
Для совершенной секретности системы величины PE(M) и P(M) должны быть равны для всех E и M. Следовательно, должно быть выполнено одно из равенств: или P(M) = 0 [это решение должно быть отброшено, так как требуется, чтобы равенство осуществлялось при любых значениях P(M)], или же
PM(E) = P(E)
для любых M и E. Наоборот, если PM(E) = P(E), то
PE(M) = P(M),
и система совершенно секретна. Таким образом, можно сформулировать следующее:
Теорема 6. Необходимое и достаточное условие для совершенной секретности состоит в том, что
PM(E) = P(E)
для всех M и E, т.е. PM(E) не должно зависеть от M.
Другими словами, полная вероятность всех ключей, переводящих сообщение Mi в данную криптограмму E, равна полной вероятности всех ключей, переводящих сообщение Mj в ту же самую криптограмму E для всех Mi, Mj и E.
Далее, должно существовать по крайней мере столько же криптограмм E, сколько и сообщений M, так как для фиксированного i отображение Ti дает взаимнооднозначное соответствие между всеми M и некоторыми из E. Для совершенно секретных систем для каждого из этих E и любого M PM(E) = P(E)0. Следовательно, найдется по крайней мере один ключ, отображающий данное M в любое из E. Но все ключи, отображающие фиксированное M в различные E, должны быть различными, и поэтому число различных ключей не меньше числа сообщений M. Как показывает следующий пример, можно получить совершенную секретность, когда число сообщений точно равно числу ключей. Пусть Mi занумерованы числами от 1 до n, так же как и Ei, и пусть используются n ключей. Тогда
TiMj = Es,
где s = i + j (mod n). В этом случае оказывается справедливым равенство PE(M) = 1/n = P(E) и система является совершенно секретной. Один пример такой системы показан на рис. 5, где
s = i + j – 1 (mod 5).
Рис 5. Совершенная система. |
Совершенно секретные системы, в которых число криптограмм равно числу сообщений, а также числу ключей, характеризуются следующими двумя свойствами: 1) каждое M связывается с каждым E только одной линией; 2) все ключи равновероятны. Таким образом, матричное представление такой системы является "латинским квадратом".
В "Математической теории связи" показано, что количественно информацию удобно измерять с помощью энтропии. Если имеется некоторая совокупность возможностей с вероятностями p1,...,pn, то энтропия дается выражением
.
Секретная система включает в себя два статистических выбора: выбор сообщения и выбор ключа. Можно измерять количество информации, создаваемой при выборе сообщения, через H(M)
,
где суммирование выполняется по всем возможным сообщениям. Аналогично, неопределенность, связанная с выбором ключа, дается выражением
.
В совершенно секретных системах описанного выше типа количество информации в сообщении равно самое большее log n (эта величина достигается для равновероятных сообщений). Эта информация может быть скрыта полностью лишь тогда, когда неопределенность ключа не меньше log n. Это является первым примером общего принципа, который будет часто встречаться ниже: существует предел, которого нельзя превзойти при заданной неопределенности ключа – количество неопределенности, которое может быть введено в решение, не может быть больше, чем неопределенность ключа.
Положение несколько усложняется, если число сообщений бесконечно. Предположим, например, что сообщения порождаются соответствующим марковским процессом в виде бесконечной последовательности букв. Ясно, что никакой конечный ключ не даст совершенной секретности. Предположим тогда, что источник ключа порождает ключ аналогичным образом, т.е. как бесконечную последовательность символов.
Предположим далее, что для зашифрования и расшифрования сообщения длины LM требуется только определенная длина ключа LK. Пусть логарифм числа букв в алфавите сообщений будет RM, а такой же логарифм для ключа – RK. Тогда из рассуждений для конечного случая, очевидно, следует, что для совершенной секретности требуется, чтобы выполнялось неравенство
RMLMRKLK.
Такой вид совершенной секретности реализован в системе Вернама.
Эти выводы делаются в предположении, что априорные вероятности сообщений неизвестны или произвольны. В этом случае ключ, требуемый для того, чтобы имела место совершенная секретность, зависит от полного числа возможных сообщений.
Можно было бы ожидать, что если в пространстве сообщений имеются фиксированные известные статистические связи, так что имеется определенная скорость создания сообщений R в смысле, принятом в "Математической теории связи", то необходимый объем ключа можно было бы снизить в среднем в R/RM раз, и это действительно верно. В самом деле, сообщение можно пропустить через преобразователь, который устраняет избыточность и уменьшает среднюю длину сообщения как раз во столько раз. Затем к результату можно применить шифр Вернама. Очевидно, что объем ключа, используемого на букву сообщения, статистически уменьшается на множитель R/RM, и в этом случае источник ключа и источник сообщений в точности согласован – один бит ключа полностью скрывает один бит информации сообщения. С помощью методов, использованных в "Математической теории связи", легко также показать, что это лучшее, чего можно достигнуть.
Совершенно секретные системы могут применяться и на практике, их можно использовать или в том случае, когда полной секретности придается чрезвычайно большое значение, например, для кодирования документов высших военных инстанций управления, или же в случаях, где число возможных сообщений мало. Так, беря крайний пример, когда имеются в виду только два сообщения – "да" или "нет", – можно, конечно, использовать совершенно секретную систему со следующей таблицей отображений:
M | K | |
A | B | |
да | 0 | 1 |
нет | 1 | 0 |
Недостатком совершенно секретных систем для случая корреспонденции большого объема является, конечно, то, что требуется посылать эквивалентный объем ключа. В следующих разделах будет рассмотрен вопрос о том, чего можно достигнуть при помощи меньших объемов ключа, в частности, с помощью конечного ключа.
[Титульный лист] [Предыдущий раздел] [Следующий раздел]
[Начало осмотра] [Что нового] [Статьи] [Выпуски в "Байтах"] [Что скачать] [Криптоалгоритмы] [Глоссарий] [Ссылки] [Гостевая книга] [Форум] [Напиши мне]Версия от 09.03.01. (c) 2001 Андрей Винокуров.