[RATINGS]
Фитерман Михаил Яковлевич, к.т.н., с.н.с.
ОАО «РУСАЛ ВАМИ», г. Санкт-Петербург
Метод генерации секретного ключа по открытому каналу связи
-
Идея и качественный анализ метода
В современной криптографии общеприменим двухключевой метод шифрованной связи, ибо только этот метод позволяет абонентам обойтись без конфиденциального обмена общим секретным ключом. Криптостойкость этого метода шифрования основана на понятии вычислительной сложности вскрытия секретного ключа и измеряется машинным временем криптоанализа перехваченной противником информации [1,2]. Криптостойкость такой природы, во-первых, логически не доказана, а во-вторых, ее количественная оценка зависит от уровня технического и научного прогресса человечества. Исторически предшествовавший этому методу одноключевой способ шифрования с общим секретным ключом характеризуется криптостойкостью другой природы, математически вполне обоснованной и вычислимой, но он не мог преодолеть трудность распределения секретных ключей между абонентами. Предлагаемый ниже метод как раз и направлен на преодоление этой трудности и создание симметричных (одноключевых) криптосистем, приближающихся к совершенно секретным.
Зададимся вопросом: <Могут ли абоненты сгенерировать общий секретный ключ в процессе общения по открытому каналу связи, без какой либо начальной общей секретной информации?> Казалось бы, ответ очевиден. Пока абоненты не располагают общей секретной информацией, они не могут обмениваться шифрованными сообщениями и, следовательно, не могут скрытно обменяться секретным ключом. Иными словами, секретная информация не может родиться из ничего. Но этот ответ оказывается не верным. В действительности абоненты могут по открытому каналу связи сгенерировать общий, защищенный от злоумышленника, секретный ключ. Сделать это помогает явление, которое можно назвать квантовым эффектом случайных событий.
По аналогии с физикой, под квантовым эффектом случайного события мы понимаем отклонение поведения его отдельных исходов (квантов) от поведения большого ансамбля исходов. По закону больших чисел частота положительных исходов события с ростом выборки, т. е. с увеличением ансамбля наблюдаемых исходов, стремится к теоретической вероятности данного события. Но для малого ансамбля и, тем более, для единичного исхода этот закон не соблюдается. Описанный механизм квантового эффекта случайных событий общеизвестен, но, по-видимому, до сих пор не рассматривался в аспекте шифрования информации. Предлагается новый метод генерации двумя абонентами общего секретного ключа на основе квантового эффекта случайного события — угадывания ключа.
Абоненты генерируют общий секретный ключ поэлементно, например, побитно. Каждый абонент выбирает случайным образом свой версию очередного ключевого элемента K будущего общего секретного ключа. Затем абоненты обмениваются сообщениями, в которых передают друг другу эти ключевые элементы в замаскированном виде. Сообщение представляет собой шифротекст Y, в котором зашифрован некоторый открытый текст X с помощью выбранного абонентом ключевого элемента K. Открытый текст является эталонным и общеизвестным, например, фиксированное число. Маскировка ключа заключается в том, что функция шифрования E: Y=E(X,K) не однозначна относительно ключа K — при известных X и Y уравнению шифрования может удовлетворять некоторое множество значений K. Получив сообщение партнера, каждый абонент проверяет свою версию ключевого элемента K по уравнению шифрования. В случае совпадения шифротекстов он сохраняет этот ключ для следующего своего сообщения, а в случае не совпадения — генерирует случайным образом новую версию ключа. Если данный ключ K сохранился заданное число раз подряд, то абонент отбирает его в качестве окончательного элемента будущего общего ключа. Длительность такой серии сообщений фиксирована. Если по окончании серии один из абонентов не успел отобрать элементарный ключ, то серия объявляется не удачной и повторяется снова. Об этом абоненты открыто извещают друг друга в последней паре сообщений. Затем абоненты обмениваются следующей серией сообщений применительно к следующему ключевому элементу и так до тех пор, пока не будут отобраны все элементы общего ключа.
Опишем теперь протокол генерации абонентами общего секретного ключа более формально. Обозначим через t — номер пары взаимных сообщений в серии, а через T — длину серии (число всех пар сообщений). Соответственно X(t), Y(t) и K(t) -открытый текст, шифротекст и элементарный ключ, передаваемый в t-ом сообщении. Функция шифрования в общем случае (при использовании обратной связи по шифротексту) имеет вид f({Y}t-1,X(t),K(t)), где {Y}t-1-реализация шифротекстов, переданных ранее до момента t. Уравнение шифрования для t-го сообщения имеет вид Y(t)=f({Y}t-1,X(t),K(t)). Абонентов обозначим буквами A и B и переменные, относящиеся к данному абоненту, снабдим одноименным верхним индексом. Заданное число сохранений ключа до его отбора обозначим через Nc, отобранные элементарные ключи — через selKAn и selKBn. Здесь n — номер ключевого элемента, n=1,2,:,NK, NK — число элементов в общем ключе. Общие отобранные абонентами ключи обозначим comKA и comKB. Они составляются из элементарных ключей: comKA={selKA}1Nk и аналогично для comKB. Число серий обмена сообщениями равно NK. Если длина элементарного ключа, отобранного в одной серии, равна L1, то длина общего ключа L равна L1*NK.
Абонент A, получив от B t-ое сообщение YB(t), проверяет свой ключ KA(t) по уравнению шифрования. Если f({YB}t-1,XB(t),KA(t))=YB(t), то он сохраняет ключ KA(t) для своего следующего, t+1-го сообщения. В противном случае он генерирует случайным образом новый ключ KA(t+1). После сохранения ключа KA(t) Nc раз подряд, абонент отбирает его: selKAn=KA(t). Аналогично поступает абонент B. Таким образом, после NK серий обмена сообщениями абоненты имеют составные L-битные ключи comKA и comKB.
Отметим важную особенность описанного протокола обмена шифрованными сообщениями. Так как открытый текст X(t) общеизвестен, то шифротекст Y(t) несет в себе информацию только о ключе K(t). Поэтому его можно назвать носителем ключа. А так как шифротекст не однозначен относительно ключа и несет в себе кроме истинного и ложные ключи, то его естественно назвать нечетким носителем ключа. Нечеткий носитель ключа — обязательный атрибут предлагаемого метода генерации общего секретного ключа. Благодаря нечеткому носителю версии ключевых элементов абонентов передаются в сообщениях в замаскированном виде. Это порождает неопределенность при отборе ключей, так как наряду с истинным (одинаковым у обоих абонентов) ключом появляется множество ложных (не совпадающих) ключей, так же удовлетворяющих уравнениям шифрования. Указанная неопределенность не гарантирует абонентам совпадение отобранных ключей, т. е. тот факт, что они сгенерировали действительно общий ключ. Но эта неопределенность необходима, так как иначе и криптоаналитик противника достоверно узнает этот общий ключ, т. е. он не будет секретным. Можно сказать, что маскировка истинных (совпадающих) ключей в множестве ложных ключей заменяет абонентам шифрование информации в традиционном понимании, невозможное для них в силу отсутствия общего секретного ключа.
Отбор ключевых элементов только после их сохранения Nc раз подряд, т. е. если они удовлетворяют не отдельному уравнению шифрования, а системе из Nc таких уравнений, очевидно, сокращает число ложных ключей и повышает вероятность совпадения отобранных ключей. Для абонентов это повышение вероятности правильного отбора ключа оказывается значительно сильнее, чем для криптоаналитика, и именно в этом заключается полезное действие квантового эффекта случайных событий. Как же здесь работает квантовый эффект? Дело в том, что прием сохранения ключа некоторое число раз подряд устанавливает неявную обратную связь между абонентами. Эта обратная связь образуется реакцией абонента на полученное от партнера сообщение в виде сохранения прежнего или генерации нового ключа. Благодаря такой обратной связи между абонентами квантовый эффект случайных событий действует им на пользу.
Почему же квантовый эффект не помогает криптоаналитику? Абоненты не извещают друг друга об интервалах сохранения ключей и моментах их отбора. Поэтому криптоаналитик вынужден проверять на такие сохранения все сообщения серии. В результате этой проверки у него возникает большое множество допустимых ключей (из которых только один истинный, а остальные — ложные). А так как все ключи равновероятны, то ему остается выбирать из них наугад. Таким образом, криптоаналитик не может включиться в контур обратной связи абонентов и ему квантовый эффект не помогает.
Общая процедура сеанса шифрованной связи между абонентами следующая. Генерация абонентами L-битных секретных ключей производится в течение сеанса связи регулярно с заданной периодичностью. В начале сеанса генерируется первый общий секретный ключ. На основе этого ключа абоненты шифруют и передают соответствующую порцию полезной информации. Одновременно (в режиме разделения времени или по выделенному подканалу) абоненты генерируют следующий общий секретный ключ и заменяют им предыдущий. Таким образом, секретный ключ регулярно обновляется в течение сеанса связи. Очевидно, что если длина полезного открытого текста, шифруемого общим секретным ключом до его обновления, меньше расстояния единственности для данного вида полезной информации (т. е. меньше длины одного осмысленного слова данного языка общения), то соответствующая криптосистема будет совершенно секретной по Шеннону [2].
-
Алгоритм генерации общего секретного ключа
Прежде всего, покажем, что нечеткие носители ключа существуют, т. е. существуют функции шифрования не однозначно обратимые относительно ключа (при известном открытом тексте). Вот пример такого нечеткого носителя ключа. В качестве способа шифрования применяется временной сдвиг (запаздывание) потока шифротекста, причем величина сдвига и есть ключ. Очередное (текущее) значение шифротекста Y(t) определяется через одно из его прошлых значений Y(t-1-K(t)) с помощью ключа K(t):
(2.1):..Y(t)=f(Y(t-1-K(t)),X(t)) .
Здесь f — обычная обратимая функция по обоим аргументам, например, функция сложения по модулю:
(2.2):..Y(t)=Y(t-1-K(t)) (+) X(t),
где (+) — операция сложения по модулю.
В качестве модуля естественно принять мощность My множества значений Y.
Найдем вероятностные характеристики данного нечеткого носителя, связанные с наличием в нем ложных ключей. Обозначим через q — вероятность ложного ключа, а через m — число ложных ключей.
Вероятность того, что произвольный ключ K‘, не равный K, дает то же значение Y(t), т. е. Y(t-1-K‘)=Y(t-1-K), равна, очевидно, вероятности того, что значение Y в некоторый произвольный момент t‘ совпадает с его значением в заданный момент t-1-K. Как известно из криптологии, хороший алгоритм шифрования должен обеспечивать последовательность шифротекстов Y(t) типа дискретного белого шума [1], т. е. значения Y в различные моменты времени должны быть взаимно независимы. В нашем случае это обеспечивается генерацией каждого нового ключа K(t) случайным выбором из множества его значений. Поэтому значения Y(t) для всех t взаимно независимы и рассматриваемая вероятность равна 1/My. По определению это и есть вероятность ложного ключа q для данного уравнения шифрования (2.2). Другой важной характеристикой алгоритма является число ложных ключей m, а если оно случайно, как в данном случае, то его распределение вероятностей P(m) и среднее число ложных ключей F. Так как значения ложных ключей взаимно независимы, то это распределение вероятностей является биномиальным [3]:
(2.3):..P(m)=CmMk-1*q^m*(1-q)^Mk-1-m ,
где Mk — мощность множества всех значений ключа ((Mk-1) — мощность множества ложных ключей), CmMk-1 — число сочетаний по m элементов из Mk-1 элементов.
При таком распределении среднее число ложных ключей F равно:
(2.4):.F=(Mk-1)*q .
К описанному протоколу следует сделать следующие замечания.
1. Как видно из (2.2), для первого сообщения в серии, т. е. для вычисления Y(1) необходимо иметь предысторию процесса Y(t-?) на длине, равной мощности ключа, т. е. для ? =1,2,:,Mk. Эта предыстория генерируется каждым абонентом случайным образом и посылается партнеру в первом сообщении.
2. Оказывается, что нельзя обойтись без нетривиального (отличного от 0) открытого текста X(t). Дело в том, что последовательность шифротекстов Y(t) образует марковский случайный процесс. При X(t)?0 этот процесс имеет поглощающее состояние вида Y(t)=const(t) [3]. Действительно, если на каком-то интервале времени длиной Мк величины Y(t) случайно окажутся одинаковыми, то, в силу уравнения шифрования (2.2) и при X(t)?0, для всех следующих t получаемY(t) =const(t).
-
Оценка криптостойкости метода генерации ключа. Вероятностный анализ
3.1. Вариант обмена ключами без использования квантового эффекта
Рассмотрим сначала вариант алгоритма, когда абоненты отбирают элементарный ключ по уравнениям шифрования всех сообщений серии, т. е. когда длина серии T=Nc. Ключ K шифрует эталонный открытый текст X(t) по уравнению шифрования (2.2) и передается по каналу связи шифротекстом Y(t). Нас интересует условная вероятность угадывания этого ключа при известных открытом тексте {Х(t)}1Tи шифротексте{Y(t)}1T.
Введем следующие обозначения:
-
Pg — безусловная (априорная) вероятность угадывания ключа без знания шифротекста (без учета уравнения шифрования),
-
Pg|c — условная вероятность угадывания ключа при известных открытом и шифрованном текстах, т. е. с учетом уравнения шифрования,
-
Pc — безусловная вероятность, что данное значение ключа удовлетворяет уравнению шифрования,
-
Pc|g — условная вероятность того же события при условии, что ключ истинный, т. е. угадан правильно,
-
Pc|f — то же, при условии, что ключ ложный, т. е. не угадан.
Интересующая нас условная вероятность угадывания Pg|c может быть вычислена по формуле апостериорной вероятности через априорную вероятность Pg и вероятность рассматриваемого условия Pc:
(3.1):..Pg|c=Pc|g*Pg/Pc
Вероятность Pc события <данный ключ удовлетворяет системе уравнений шифрования> можно разложить по полной системе из двух событий: <ключ истинный, т. е. угадан правильно> и <ключ ложный, т. е. не угадан> с соответствующими вероятностями Pg и 1-Pg:
(3.2):..Pc= Pc|g*Pg+Pc|f*(1-Pg) .
В силу определения истинного ключа первое из этих событий достоверно, т. е. Pc|g=1. Априорная вероятность угадывания Pg, очевидно, равна 1/Mk. С учетом этих соотношений из (3.1) и (3.2) получаем:
(3.3):.. Pg|c=1/(1+(1/Pg-1)* Pc|f) =1/(1+(Mk-1)*Pc|f) .
Найденная вероятность имеет простую связь с числом ложных ключей F, определяемым формулой (2.4). Что бы подчеркнуть эту связь, формулу (3.3) целесообразно переписать в виде:
(3.4):.. Pg|c=1/(1+F) , F=(Mk-1)*Pc|f .
Но условная вероятность Pc|f — есть вероятность ложного ключа для системы из 2*Nc уравнений шифрования и равна q^2*Nc. Поэтому формула (3.4) принимает вид:
(3.5):..Pg|c=1/(1+F) , F=(Mk-1)*q^2*Nc.
Рассмотрим теперь процедуру криптоанализа перехваченных шифротекстов. Отличие этой процедуры от протокола абонентов состоит в том, что абонент на каждом шаге наугад выбирает один ключ из множества Mk и проверяет его по системе уравнений шифрования, а криптоаналитик перебирает все ключи из Mk и каждый из них проверяет по этой же системе уравнений. Таким образом, вероятностная схема для абонентов оперирует с одним событием <угадывание ключа>, исходы которого представляют временную последовательность. Для криптоаналитика вероятностная схема оперирует с множеством идентичных событий, исход которых единовременный. (Это аналогично бросанию монеты много раз последовательно или бросанию один раз множества монет.) Из аксиоматики теории вероятности известно, что частота положительных исходов в обоих случаях стремится к одной и той же теоретической вероятности данного события. А так как абоненты и криптоаналитик располагают и оперируют одной и той же системой уравнений шифрования, то механизм случайности рассматриваемого события для них одинаков. Следовательно, условная вероятность угадывания ключа для криптоаналитика та же, что и для абонентов и определяется так же формулой (3.5). Такой результат имеет место, когда абоненты не используют квантовый эффект случайных событий.
3.2. Вариант обмена ключами с использованием квантового эффекта
В этом варианте длина серии сообщений T существенно больше длины интервала сохранения ключа до его отбора Nc. Рассмотрим сначала вероятность угадывания для абонентов. Абонент отбирает элементарный ключ, только когда он удовлетворит уравнениям шифрования партнера Nc раз подряд. При этом формула (3.3) остается справедливой, но смысл вероятности ложного ключа Pc|f изменяется, так как изменяется условие угадывания абонентом ключа партнера. Угадывание ключа теперь происходит при условии, что он удовлетворяет уравнениям шифрования, причем не обязательно для совпадающих по номеру сообщений абонентов. При этом указанная вероятность ложного ключа зависит от величины взаимного смещения интервалов сохранения ключа абонентами Dt, как показано на схеме рис. 3.1.
Рис. 3.1. Взаимное расположение интервалов сохранения ключей абонентов А и В
Рассмотрим сначала крайние случаи. Если интервалы сохранения ключей абонентов совпадают (Dt=0), то ложным ключом является ключ, удовлетворяющий системе из 2*Nc уравнений шифрования и не совпадающий с истинным ключом этой системы. В соответствии с п.3.1, вероятность такого ложного ключа равна q^2*Nc. Если же интервалы сохранения ключей вообще не перекрываются (Dt≥Nc), то, как следует из общих соображений, сохраненные и отобранные абонентами ключи могут совпасть лишь чисто случайно и, следовательно, в этом случае вероятность угадывания абонентов (вероятность совпадения отобранных ключей) равна априорной вероятности угадывания Pg=1/Mk. Тогда из общей формулы (3.3) следует для этого случая Pc|f=1, т. е. любой ключ, удовлетворяющий Nc уравнениям шифрования, в этом случае является ложным. Это можно трактовать так, что системы уравнений шифрования каждого из абонентов не связаны в единую систему и не имеют общего истинного ключа. Таким образом, в крайних случаях Pc|f=q^2*Nc для Dt=0 и Pc|f=1 для Dt≥Nc. В промежуточном случае, когда сообщения, для которых абоненты сохраняют ключи, смещены на Dt шагов (Dt<Nc), т. е. перекрываются на интервале Nc—Dt, на этом интервале их перекрытия истинный ключ существует. Тогда вероятность ложного ключа — это вероятность того, что этот ключ удовлетворяет одновременно 2*(Nc—Dt) уравнениям шифрования и эта вероятность равна q^2*(Nc—Dt). Итак, можем записать:
(3.6):..Pc|f(Dt)= q^2*(Nc—Dt) для 0≤Dt<Nc; 1 для Dt≥Nc .
Величина взаимного смещения интервалов сохранения ключа Dt — есть случайная величина, характеризующаяся распределением вероятностей P(Dt). Следовательно, вероятность Pc|f определяется по формуле полной вероятности:
(3.7):..Pc|f=∑Dt[Pc|f (Dt)*P(Dt)]0T—Nc ,
где T—Nc — максимально возможное смещение на интервале [1,T].
Остается найти распределение P(Dt) на интервале [0, T—Nc]. По определению Dt относится к интервалу сообщений, на котором один из абонентов не сохраняет свой ключ. Это происходит, когда его ключ не удовлетворяет уравнениям шифрования этих сообщений, т. е. не является для них ни истинным, ни ложным ключом. Вероятность того, что ключ удовлетворяет уравнению шифрования Pc была найдена в п. 3.1 — формула (3.2). Поэтому вероятность P(Dt) равна (1-Pc)^Dt. Но такое распределение еще не учитывает условие успешности серии, т. е. условие, что в данной серии оба абонента отобрали ключи. Это дополнительное условие равносильно нормировке распределения P(Dt) на интервале [0, T—Nc], т. е. условию ∑Dt[P(Dt)]0T-Nc=1. Таким образом, имеем:
(3.8):..P(Dt)=(1-Pc)^Dt/∑Dt[(1-Pc)^Dt]0T—Nc=(1-Pc)^Dt*Pc/(1-(1-Pc)^(T—Nc+1)) .
Это — геометрическое распределение вероятностей [3].
Теперь подставим найденные вероятности (3.6) и (3.8) в формулу (3.7). При вычислении суммы в этой формуле следует различать два случая в зависимости от выбора длины серии T. Если серия относительно короткая: T<2*Nc, то верхний предел суммирования T—Nc меньше Nc (интервалы отбора ключей абонентов всегда перекрываются) и все величины Pc|f(Dt) в сумме берутся по верхней строке в (3.6). Если же длина серии T выбрана больше, т. е. T≥2*Nc и значит T—Ncбольше или равно Nc, то сумма разбивается на две части: от 0 до Nc-1 (c Pc|f(Dt) по верхней строке) и от Nc до T—Nc (c Pc|f(Dt) по нижней строке). В результате, используя формулу суммы геометрической прогрессии, находим:
-для T<2*Nc
(3.9a):..Pc|f=q^(2*Nc)*(((1-Pc)/q^2)^(T—Nc+1)-1)/((1-Pc)/q^2-1)*Pc/(1-(1-Pc)^(T—Nc+1)),
—для T≥2*Nc
(3.9b):.. Pc|f=q^(2*Nc)*(((1-Pc)/q^2)^(T-Nc+1)-1)/((1-Pc)/q^2-1)*Pc/(1-(1-Pc)^(T-Nc+1))+
(1-Pc)^Nc*(1-(1-Pc)^(T-2*Nc+1))/(1-(1-Pc)^(T-Nc+1)) .
Итак, для рассматриваемого в данном пункте варианта алгоритма вероятность ложного элементарного ключа для абонентов определяется формулой (3.9), а их вероятность угадывания — формулой (3.5).
Перейдем теперь к вычислению вероятности угадывания ключа криптоаналитиком. Криптоаналитик не знает расположения интервалов сохранения ключей в серии сообщений, т. е. не знает момента t на оси времени, показанной на рис. 3.1. Заметим, что у абонентов конкретное расположение этих интервалов возникает автоматически в силу протокола обмена ключами, и их знание не потребовалось для вычисления вероятностных характеристик. Криптоаналитик же для выявления всей совокупности ложных ключей должен перепробовать все возможные расположения указанных интервалов, т. е. проанализировать все возможные системы из 2*Nc уравнений шифрования абонентов.
Формулу для вероятности ложного ключа криптоаналитика можно вывести двумя способами. Первый из них непосредственно следует алгоритму криптоанализа. Криптоаналитик выявляет путем перебора все ключи, удовлетворяющие возможным системам из 2*Nc уравнений шифрования, которые можно составить из всех T пар уравнений серии сообщений. Полученное таким образом множество ключей — это множество всех допустимых ключей, из которых один истинный, а остальные — ложные. Второй способ базируется на следующем факте, доказанном в п. 3.1. Если бы криптоаналитику было известно конкретное расположение интервалов сохранения ключей абонентов в серии сообщений (момент t на оси рис. 3.1), то его вероятность ложного ключа равнялась бы таковой для абонентов. Воспользуемся вторым способом, так как он позволяет легче получить сравнительную оценку вероятностных характеристик абонентов и криптоаналитика.
Обозначим все вероятности и числа ложных ключей, относящиеся к криптоаналитику с верхним индексом <ca>, а относящиеся к абонентам — с индексом <ab>. Каждому отобранному ключу поставим в соответствие момент времени t, как показано на рис. 3.1. Очевидно, вероятность ложного ключа криптоаналитика совпадает с таковой для абонентов Pc|fab при фиксированном t. Множество всех возможных значений t в успешной серии есть T—Nc+1. Тогда вероятность того, что на интервале всей серии нет ни одного ложного ключа, равна (1-Pc|fab)^(T—Nc+1). Нас интересует противоположное событие <ложный ключ есть хотя бы в одном месте данного интервала>. Вероятность этого события и есть искомая вероятность ложного ключа криптоаналитика Pc|fca и она равна:
(3.10):..Pc|fca=1-(1-Pc|fab)^(T—Nc+1) .
Соответственно, для среднего числа ложных ключей Fca , в силу его определения (3.4), имеем:
(3.11):..Fca=(Mk-1)*Pc|fca=(Mk-1)*(1-(1-Pc|fab)^ (T—Nc+1)) .
Далее, так как угадывания элементарных ключей — взаимно независимые события, то вероятность угадывания всего составного общего ключа comPg|c равна произведению вероятностей угадывания элементарных ключей comPg|c=Pg|c^NK=1/(1+F)^NK. Здесь и далее предикативный индекс com означает принадлежность ко всему общему ключу. С другой стороны, по аналогии с (3.5) comPg|c=1/(1+comF). Поэтому для вероятности comPg|c можем записать:
(3.12):..comPg|c=1/(1+comF) , comF=(1+F)^NK -1 .
Эта формула справедлива как для абонентов, так и для криптоаналитика.
Понятие среднего числа ложных ключей связано с понятием условной энтропии ключа и полезно при оценке стойкости ключа, как альтернатива оценке в виде вероятности угадывания ключа. По определению энтропии информации, безусловная (полная) энтропия H(comK) всего составного общего ключа без знания исходного и шифрованного текстов равна его длине: H(comK)=log2(1/comPg)=L. Для лица, знающего эти тексты, полная энтропия сокращается до условной энтропии Hc(comK)=log2(1/comPg|c) и в силу (3.12) равна log2(1+comF). Итак, среднее число ложных ключей при угадывании ключа служит оценкой его условной энтропии. Из формулы (3.10) видно, что всегда Pc|fca>Pc|fab. Тогда, в силу определения среднего числа ложных ключей абонентов (3.4), следует, что всегда Fca>Fab. Следовательно, и для всего общего ключа всегда comFca>comFab и H(comFca)>H(comFab). В этом и заключается действие квантового эффекта угадывания ключа.
Криптографическая эффективность процедуры генерации общего секретного ключа определяется соотношением вероятности отбора абонентами одинаковых ключей (вероятности совпадения их составных ключей) и вероятности определения этого ключа криптоаналитиком. Удобнее измерять эффективность в терминах энтропии информации. Процедура будет криптографически эффективной, если условная энтропия общего ключа для абонентов исчезающе мала, а для криптоаналитика составляет существенную часть длины ключа L.
Отметим следующий важный факт. При любой вероятности угадывания абонентами элементарных ключей, вероятность угадывания составного общего ключа уменьшается с увеличением его длины, так как равна произведению указанных вероятностей. Поэтому приведенный протокол не позволяет сгенерировать достаточно длинный общий секретный ключ со сколь угодно высокой достоверностью. Одного только квантового эффекта случайных событий для этого недостаточно. Необходим какой-то прием, позволяющий повышать вероятность угадывания по мере наращивания числа элементарных ключей. В качестве такого приема можно применить метод сверки контрольного функционала от полученных ключей. В качестве контрольного функционала можно применить любой однородный многочлен от элементарных ключей, например, их сумму. Более эффективным оказывается применение набора функционалов, построенного по иерархическому принципу. Для этого общий составной ключ разбивается на связные группы элементарных ключей. Для каждой группы отобранных элементарных ключей вычисляется свой контрольный функционал. Назовем эти функционалы групповыми, а ключ, составленный из элементарных ключей данной группы — групповым ключом. Общий ключ составляется из групповых ключей.
Группировка элементарных ключей производится по иерархическому принципу. Так, несколько последовательных групповых ключей могут быть объединены в группой ключ следующего, более высокого уровня. Для этой группы также вычисляется групповой функционал следующего уровня. Здесь важно учесть, что для групповых функционалов разных уровней должно выполняться условие их взаимной независимости. А именно, функционал более высокого уровня не должен выражаться через функционалы предыдущих уровней. Если функционал каждого уровня определить, как сумму всех элементарных ключей этого уровня, то данное условие не выполняется: функционал следующего уровня всегда будет равен сумме групповых функционалов предыдущего уровня. Чтобы этого избежать следует применить нелинейное преобразование ключей при переходе к следующему уровню. Простейшим таким преобразованием является перевод составных ключей каждого уровня в десятичную систему счисления. Эти десятичные ключи и рассматриваются как элементарные ключи следующего уровня. Например, если элементарные ключи каждого отдельного сообщения — однобитовые, то групповой функционал первого уровня определяется, как сумма всех бит данной группы. Затем, вычисляется десятичный ключ этой группы. Групповой функционал второго уровня определяется, как сумма десятичных ключей входящих в него групп первого уровня и так для каждого следующего уровня.
Описанный метод генерации общего секретного ключа, основанный на комбинации процедуры генерации элементов ключа с использованием квантового эффекта и процедуры сверки контрольных функционалов разных уровней иллюстрируется схемой на рис. 3.2.
Рис. 3.2. Схема метода генерации общего секретного ключа
Ясно, что сверка абонентами своих групповых контрольных функционалов повышает их вероятность угадывания общего ключа. Но она, очевидно, повышает и вероятность угадывания криптоаналитика. Поэтому соотношение числа ложных общих ключей абонентов и криптоаналитика требует дополнительного анализа.
3.3. Вероятностная модель процедуры генерации общего секретного ключа с контрольными функционалами
Рассмотрим общий случай, когда составной ключ разбит на группы нескольких иерархических уровней. Группа каждого следующего уровня состоит из десятичных групповых ключей предыдущего уровня. В соответствии с протоколом на каждом уровне производится два последовательных преобразования: вычисляется контрольный функционал от ключей предыдущего уровня и затем эти ключи группируются в десятичный составной ключ данного уровня. Вероятностная модель многоуровневого процесса генерации составного общего ключа имеет блочную структуру, представленную на рис. 3.3. На схеме обозначено: i— номер уровня группы, i=1,2,:,I; Ni и Mi — число элементов и мощность группового ключа i-ой группы; Fi и Fei — числа ложных ключей без учета и с учетом сверки функционала. Нулевой уровень соответствует процедуре отбора абонентами первичных элементарных ключей.
Рис. 3.3. Вероятностная схема генерации составного общего ключа
Для любого i-го уровня имеем:
(3.13):..Mi=Mi-1^Ni ,
и в соответствии с формулой (3.12), справедливой для составного ключа любого уровня:
(3.14):..Fi=(1+ Fei-1)^Ni -1 .
Для замыкания этой модели необходимо найти связь между Fei и Fi, т. е. модель блока <сверка функционалов>. Для этого рассмотрим вероятности угадывания группового ключа без учета функционала Pg|ci и с учетом функционала Pg|ei. Используя формулу апостериорной вероятности аналогично (3.1), (3.2) и (3.5) можем записать:
(3.15):..Pg|ei=Pe|gi*Pg|ci/(Pe|gi*Pg|ci+Pe|fi*(1-Pg|ci))=1/(1+Fei), Fei=(1-Pg|ci)/Pg|ci*Pe|fi ,
где Pe|fi — вероятность ложного ключа функционала, а Pe|gi=1 по определению.
Выражая вероятность угадывания Pg|ci через число ложных ключей Fi в соответствии с (3.5) получим:
(3.16):..Fei=Fi*Pe|fi .
Для пользования формулой (3.16) необходимо вычислить вероятность ложного ключа функционала Pe|fi. Эту вероятность можно найти по формуле полной вероятности:
(3.17):..Pe|fi=∑m[Per(m)*P(m)]|0Ni ,
где m — случайное число ложных элементарных ключей в функционале, P(m) — распределение их вероятностей, Per(m) — вероятность взаимной компенсации ошибок функционала, обусловленных ложными ключами.
Так как функционал по определению есть однородный многочлен от входящих в него ключей, то его ошибочное совпадение (при наличии ложных ключей) возможно только, если все ошибки значения функционала за счет отличия ложных ключей от истинных взаимно компенсируются. Именно на этом свойстве контрольного функционала основана его способность выявлять ошибки при передаче информации по каналам связи. В нашем же случае назначение контрольного функционала — выявлять ошибки абонентов при отборе ключей (выявлять не совпадения этих ключей). Взаимная компенсация ошибок функционала происходит, когда один из ложных ключей компенсирует в функционале отличия остальных ложных ключей от истинных. Следовательно, Per(0)=Per(1)=0, а вероятность компенсации ошибок Per(m)для m?2 равна вероятности того, что один ложный ключ имеет не произвольное, а фиксированное заданное значение. Вероятность этого равна 1/Mi-1 и она не зависит от m. Следовательно, формулу (3.17) можно переписать в виде:
(3.18):..Pe|fi=1/Mi-1*∑m[P(m)]|2Ni=1/Mi-1*(∑m[P(m)]|0Ni—P(0)-P(1))=1/Mi-1*(1-P(0)-P(1)).
(Здесь учтено, что в силу нормировки ∑m[P(m)]|0Ni=1.) Очевидно, что распределение вероятностей числа ложных ключей P(m) является биномиальным с вероятностью ложного ключа 1-Pg|ei-1, равной ошибке угадывания группового ключа предыдущего уровня 1-Pg|ei-1=1-1/(1+Fei-1)=Fei-1//(1+Fei-1). Поэтому с учетом (3.14) можем записать:
(3.19):..P(m)=CmNi*(1-Pg|ei-1)^m*Pg|ei-1^(Ni—m)=CmNi*Fei-1^m/(1+Fei-1)^Ni=CmNi*Fei-1^m/(1+Fi) .
Отсюда для m=0 и m=1 имеем P(0)=1/(1+Fi) и P(1)=Ni*Fei-1/(1+Fi) и подстановка в (3.18) дает:
(3.20):..Pe|fi=1/Mi-1/(1+Fi)*(Fi-Ni*Fei-1) .
Теперь можем записать выражение для числа ложных групповых ключей с учетом функционала Fei в соответствии с (3.16):
(3.21):..Fei=1/Mi-1*Fi/(1+Fi)*(Fi-Ni*Fei-1) .
Таким образом, вероятностная модель i-го уровня описывается соотношениями (3.13), (3.14) и (3.21). Для нулевого уровня в силу (3.5) и (3.11) имеем:
(3.22):..F0ab=(M0-1)*Pc|f0ab , F0ca=(M0-1)*(1-(1-Pc|f0ab)^ (T—Nc+1)) ,
где вероятность Pc|f0ab определяется выражением (3.9).
Как видно из вероятностной модели, формулы для числа ложных ключей абонентов и криптоаналитика различаются только на нулевом уровне, где и работает квантовый эффект.
Детальный анализ модели показывает, что надлежащим выбором ее параметров можно обеспечить уменьшение числа ложных ключей абонентов на каждом уровне и увеличение их для криптоаналитика. Иными словами, с ростом количества уровней модели можно обеспечить нарастающий выигрыш абонентов относительно криптоаналитика в вероятности угадывания общего секретного ключа или, что эквивалентно, в энтропии этого ключа. Определим этот выигрыш для i-го уровня отношением чисел ложных ключей ki=Feica/Feiab и оценим его. Для этого упростим модель путем разложения правой части выражения (3.14) в ряд в точке Fei-1=0. Получаем Fi≈Ni*Fei-1 и Fi—Ni*Fei-1≈Ni*(Ni-1)/2*Fei-1^2. Эти приближенные равенства можно считать справедливыми для абонентов, так как для них Fei-1ab<<1. Для криптоаналитика же тем самым получаем нижнюю оценку, заменяя ≈ на >. С учетом этих соотношений вместо (3.21) можем записать отдельно для абонентов и криптоаналитика:
(3.23):..Feiab≈1/Mi-1*Ni^2*(Ni-1)/2*Fei-1ab^3, Feica>1/Mi-1*Ni^2*(Ni-1)/2*Fei-1ca^3 .
Отсюда получаем формулу для гарантированной нижней оценки ki:
(3.24):..ki>ki-1^3 .
Отсюда видно, что ki растет с ростом i очень быстро, если k0>1. Но, как было показано в п.3.2, всегда F0ca>F0ab и, значит, k0>1. Таким образом, вероятностный выигрыш абонентов по отношению к криптоаналитику обусловлен исключительно квантовым эффектом на нулевом уровне, а сверка функционалов на остальных уровнях усиливает этот результат.
Рассчитаем еще вероятность успешности серии Psuc, через которую определяется доля успешных серий. По определению успешной серии, вероятность Psuc равна произведению вероятности отбора всех элементарных ключей на 0-ом уровне Psuc0 и вероятности совпадения всех функционалов у абонентов. Но событие <совпадение всех функционалов> входит в событие <угадывание общего ключа абонентами>, вероятность которого есть Pg|eI. Следовательно, имеем оценку Psuc>Psuc0*Pg|eI. Далее, в соответствии с выкладками п. 3 (см. рис. 3.1) вероятность того, что на нулевом уровне элементарный ключ не отобран — это вероятность P{Dt>T—Nc}=(1-Pc)^(T—Nc+1). Таким образом, вероятность отбора всех NK элементарных ключей обоими абонентами равна:
(3.25):..Psuc0=(1-(1-Pc)^T-Nc+1)^(2*NK) ,
и для искомой вероятности Psuc имеем оценку:
(3.26):..Psuc>(1-(1-Pc)^T-Nc+1)^(2*NK)*Pg|eI .
Построенная вероятностная модель процедуры генерации общего секретного ключа была проверена экспериментально, путем численного моделирования действий абонентов и криптоаналитика. При этом все вероятности вычислялись эмпирически, через частоты соответствующих событий. Были приняты следующие исходные данные:
— длина общего секретного ключа L=15 бит;
— число совпадений элементарного ключа для его отбора Nc=2;
— длина серии Т=9;
— общий ключ разбит на 2 иерархических уровня с N1=5, N2=3;
— соответственно этой разбивке L0=1 бит и M0=2^1=2, L1=N1*L0=5 бит и M1=2^5=32, L2=N2*L11=15 бит и M2=2^15=32768;
.
Вероятность угадывания абонентов определялась эмпирически по числу серий, в которых сгенерированные ими общие ключи совпадали. Для криптоаналитика криптоанализ проводился только для тех серий, в которых отобранные абонентами общие ключи совпали. Алгоритм криптоанализа моделировался следующим образом для каждой серии сообщений. Мощность множества общих ключей равна 2^15=32768. Поочередно перебираются все десятичные общие ключи этого множества от 0 до 32767. Из каждого такого ключа формируются ключи 1-го и 2-го уровней: три 5-ти битных ключа 1-го уровня и 15-ти битный ключ 2-го уровня (это сам общий ключ). Вычисляются все групповые функционалы: 3 функционала 1-го уровня и единственный функционал 2-го уровня. Эти функционалы сравниваются с соответствующими функционалами абонентов. Если все 4 функционала совпадают, то данный общий ключ считается допустимым, а в противном случае — отбрасывается. Таким образом, формируется множество (массив) допустимых общих ключей. Это — первый этап селекции множества допустимых ключей. Далее, каждый допустимый общий ключ представляется в виде набора из 15 элементарных однобитных ключей нулевого уровня (т. е. представляется в двоичном виде). Для каждого элементарного ключа отыскивается на оси t (см. рис. 3.1) интервал длиной Nc, на котором этот элементарный ключ удовлетворяет Nc уравнениям шифрования. Эта процедура производится для уравнений шифрования каждого из абонентов. Если на всем интервале серии [1, T] такие интервалы существуют для сообщений обоих абонентов, то данный элементарный ключ считается допустимым. Если допустимыми оказываются все 15 элементарных ключей, то соответствующий общий ключ сохраняется в множестве допустимых ключей, а в противном случае исключается из него. Это — второй, окончательный, этап селекции множества допустимых общих ключей для данной серии сообщений. Ясно, что в оставшемся множестве один ключ — истинный, а остальные — ложные. По всем сериям вычисляется среднее число ложных ключей, а через него — эмпирическая вероятность угадывания криптоаналитика.
Всего было смоделировано 100000 серий генерации общего секретного ключа. В результате среднее число ложных ключей абонентов составило 0,0008, а эмпирическая вероятность их ошибки угадывания общего ключа составила, соответственно, 0,08%. Для криптоаналитика среднее число ложных ключей оказалось равным 20, т. е. в 25000 раз больше. Этому числу ложных ключей отвечает вероятность угадывания ключа 5% (вероятность ошибки 95%)и энтропия ключа Log221=4,3, т. е. около 1/3 длины общего секретного ключа. Доля успешных серий превысила 90%. Полученные экспериментальные результаты хорошо согласуются с построенной вероятностной моделью процедуры генерации общего секретного ключа. Для тех же исходных данных по модели получается ошибка абонентов 0,07%, вероятность угадывания криптоаналитика 6%. Расхождение, по-видимому, можно объяснить не идеальностью машинного генератора случайных чисел (наличием корреляции и периодичности) и вычислением вероятностей по ограниченной выборке.
-
Аспекты практического применения метода
В процессе общения абоненты регулярно проводят процедуру генерации нового общего секретного ключа и заменяют им старый (действующий) ключ. При этом поток необходимой для генерации служебной информации добавляется к потоку полезной шифрованной информации, либо путем регулярного прерывания этого потока на время передачи служебной информации (разделение потоков во времени), либо за счет выделения служебного подканала на логическом или физическом уровне. Таким образом, секретный ключ регулярно обновляется, что создает предпосылки для приближения криптосистемы к совершенно секретной.
Но служебная информация создает дополнительную нагрузку канала связи и требует временного или логического разделения с полезной информацией. Поэтому ее следует организовать оптимальным образом. В этом отношении обмен короткими L1 битными сообщениями не оптимален, так как требует много коротких посылок. Учитывая пакетный принцип передачи информации в цифровых каналах связи, целесообразно применить этот принцип и для служебной информации. Из описания протокола генерации общего секретного ключа ясно, что все элементарные L1 битные ключи абоненты могут генерировать одновременно на одном t-ом шаге процедуры. Тогда на каждом t-ом шаге NK сообщений, относящихся ко всем элементам общего ключа, группируются в одно сообщение длиной NK*L1=L. При этом абоненты должны будут обменяться только T такими L-битными сообщениями. Эти сообщения можно присоединить к пакетам полезной информации. Тогда, при разбивке потока полезной информации на достаточно малые пакеты, можно обеспечить хорошее приближение криптосистемы к совершенно секретной.
В связи с этим целесообразно оценить соотношение объемов служебной и полезной информации. При этом следует учитывать, что фактический объем переданной служебной информации превышает расчетный объем вследствие того, что не все серии сообщений оказываются успешными. Успешной является серия, в которой отобраны все NK элементарных ключей и, кроме того, совпали все групповые контрольные функционалы.
Для генерации L-битного общего секретного ключа абонентам необходимо обменяться служебной информацией объема 2*T*L бит. Это — расчетный объем информации V. Фактический же объем Vfact можно найти через вероятность успешности серии Psuc. По аксиоматическому определению любой вероятности Psuc=V/Vfact. Отсюда имеем:
(4.1):..Vfact=V/Psuc=2*T*L /Psuc .
Оказывается, что при достаточно большой длине серии T эта вероятность так же достаточно велика. В приведенном выше примере она равна 0,9. Поэтому для грубой оценки можно принять Vfact≈V=2*T*L. Такой объем служебной информации приходится на L бит открытого текста, если он шифруется непосредственно секретным ключом. Следовательно, удельный объем служебной информации на один бит текста при таком шифровании будет приблизительно 2*T. Но если, как принято при потоковом шифровании, из секретного ключа сначала генерируется ключевая последовательность (криптографически сильным генератором) длиной 2^L-1, то длина зашифрованного открытого текста может быть увеличена до 2^L-1 бит. В этом случае объем служебной информации на 1 бит текста составит приблизительно 2*T*L /2^L.
Рассмотрим возможные виды внешней угрозы криптосистеме. От злоумышленника может исходить угроза двух видов. Во-первых, он может перехватить передаваемую информацию и попытаться расшифровать ее и/или взломать общий секретный ключ абонентов. Во-вторых, он может попытаться подменить одного из абонентов. В этом случае у него появляется возможность не только расшифровать, но и фальсифицировать информацию для другого абонента. Конечно, максимально надежную защиту от подмены дает двух ключевое шифрование. Но и в рассматриваемой одно-ключевой криптосистеме возможна защита от подмены. Если абоненты устанавливают связь впервые, то в первом сеансе они могут выработать секретные личные пароли и обменяться ими в зашифрованном виде (после генерации общего секретного ключа). Эти пароли обеспечивают защиту в последующих сеансах связи. Остается угроза подмены одного из абонентов в первом сеансе. Реальной является угроза подмены абонента — инициатора связи. Защитой от этого является только общепринятый в современном обществе прием — второй абонент не реагирует на полученную информацию, могущую, по его мнению, нанести ему вред. Для подмены же второго законного абонента злоумышленник должен физически отрезать его от канала связи. В противном случае первый абонент будет получать ответные сообщения из двух источников и подмена сразу обнаружится. Если канал связи коллективный как, например, в сфере мобильной связи, то отрезать абонента от этого канала можно только криминальным путем (скажем, взять его в плен или уничтожить). Можно сказать, что защита от подмены в предлагаемом способе шифрованной связи обеспечивается диалоговым характером обмена информацией между абонентами в зашифрованном виде.
Рассмотрим теперь возможные атаки на криптосистему с целью расшифровки информации и/или взлома ключа. Будем считать, что криптоаналитик не лимитирован вычислительными ресурсами и может осуществлять полный перебор всего множества значений общего секретного ключа. Попытка взлома ключа по перехваченной служебной информации в принципе безуспешна, если вероятность угадывания ключа криптоаналитиком достаточно мала. Так же бесперспективен взлом ключа по передаваемой полезной информации при известном или выбранном открытом тексте, так как общий секретный ключ регулярно обновляется. Единственное, что остается злоумышленнику — это расшифровать перехваченный полезный шифротекст по принципу осмысленности искомого открытого текста. Для оценки возможности такого вскрытия шифротекста используем понятия энтропии множества осмысленных слов Hs и избыточности языка общения D. Под осмысленным словом понимается слово минимальной длины, составленное из букв алфавита данного языка и имеющее смысловое значение на этом языке. Предполагается, что криптоаналитик имеет полный словарь осмысленных слов. Допустим, он пытается расшифровать один фрагмент шифротекста длиной в одно осмысленное слово. При полном переборе всех возможных значений ключа он получит большое множество осмысленных слов, вплоть до всего словаря. Но если он проделает эту процедуру для нескольких таких фрагментов, зашифрованных одним и тем же ключом, то с большой степенью достоверности только одно значение ключа даст осмысленные слова открытого текста во всех фрагментах. Это и будет истинный ключ. Этот факт обусловлен тем, что множество осмысленных слов составляет очень малое подмножество множества всех возможных слов такой же длины, составленных из алфавита данного языка. Для расшифровки всей перехваченной полезной информации криптоаналитик должен проделать указанную процедуру для всех последовательных фрагментов шифротекста (каждый длиной приблизительно в одно осмысленное слово), объединенных одним общим ключом. Отсюда и следует, почему для обеспечения совершенной секретности ключ должен обновляться на длине текста менее длины двух осмысленных слов.
В случае общения письменным текстом типичное осмысленное слово составляет около 8 букв алфавита (включая цифры), чему при цифровом кодировании соответствует длина текста Lw около 50 бит. Эта величина — есть энтропия множества всех возможных 8-ми буквенных слов из алфавита данного языка. Энтропия же множества осмысленных слов Hs определяется через нее с помощью параметра избыточности D, определенного Шенноном и приблизительно равного 3,5: Hs=Lw/D≈50/3,5≈14 бит. Численные значения Lw, Hs и D приблизительно одинаковы для любого письменного языка. Расшифровка по принципу осмысленности предполагает, что у криптоаналитика имеется словарь осмысленных слов, мощность которого 2^Hs=2^14≈16000 слов.
Для предотвращения возможности вскрытия шифротекста по принципу осмысленности открытого текста, общий секретный ключ должен обновляться за время передачи по каналу связи не более одного слова, т. е. 50 бит полезной информации. За это время абоненты должны обменяться служебными сообщениями 2*T раз. В приведенном выше примере эта величина около 20, т. е. одно служебное сообщение приходится на каждые два — три бита полезной информации. Такая перегрузка канала связи вряд ли приемлема. Поэтому в случае, когда полезной информацией является письменный текст, приходится отступить от идеала совершенной секретности криптосистемы.
Совсем иная ситуация возникает при передаче устной речи или видео информации, т. е. в области телефонной или видеофонной связи. При передаче устной речи одно осмысленное слово произносится приблизительно за 0,5 секунды и кодируется 3 — 5 килобитами цифровой информации. За это время абоненты должны обменяться таким же количеством служебной информации, что и при передаче одного осмысленного письменного слова (2*T*log2Lw?20*log24000=240 бит), но эта информация теперь приходится не на десятки, а на тысячи бит полезной информации. Здесь налицо огромная избыточность передаваемой полезной информации относительно ее секретного смысла. Аналогично, при передаче видео изображения один осмысленный, т. е. узнаваемый, видеокадр занимает приблизительно 1/50 секунды и кодируется 100 — 300 килобитами цифровой информации. В этом случае так же налицо огромная избыточность передаваемой полезной информации. Такая избыточность обусловлена необходимостью передачи не столько смысла сказанного или увиденного, сколько тембра и интонации голоса или оттенков и художественных штрихов изображения. Это — естественная дань особенностям слухового и зрительного восприятия человека. Ясно, что в такой объем полезной информации не составляет труда вклинить необходимую служебную информацию практически без перегрузки канала связи. Таким образом, легко обеспечивается совершенная секретность криптосистемы для телефонной или видеофонной связи. Следует так же отметить, что составление достаточно полного аудио или видео словаря и машинное сопоставление с ним фрагментов расшифрованного аудио или видео текста представляет самостоятельную трудность. Но, как уже указывалось, криптоаналитику доступен только такой способ расшифровки перехваченной информации.
Промежуточное положение занимает передача файлов в компьютерных сетях. Здесь так же имеет место большая смысловая избыточность (за исключением Word файлов), так как смысл в числовых или графических фрагментах файлов проявляется только при достаточно большом объеме этих фрагментов.
Резюмируя, можно сказать, что наиболее трудно засекретить письменный осмысленный текст, так как его смысловая избыточность минимальна. В этом случае для приближения криптосистемы к совершенно секретной требуется существенное увеличение потока передаваемой информации. Засекречивание же аудио или видео информации в телефонной или видеофонной связи, а так же засекречивание файлов в компьютерных сетях, не требуют заметной перегрузки канала связи и позволяют наделить криптосистему свойством совершенной секретности.
Алгоритм генерации общего секретного ключа достаточно прост и требует минимальных вычислительных ресурсов, много меньше, чем в случае двух ключевого шифрования. С целью унификации шифрование полезной информации можно производить по такому же алгоритму (2.2) с ключом в виде временной задержки шифротекста. Такая криптосистема может быть реализована, например, в стандартном мобильном телефоне. При этом в качестве генератора случайных ключей целесообразно использовать физический генератор белого шума, например, фазу генератора импульсов процессора.
-
Заключение
Предложены протокол и алгоритм генерации общего секретного ключа двух абонентов путем обмена специальными (служебными) сообщениями по открытому каналу связи. Этот ключ применяется абонентами при шифровании полезной информации в криптосистемах с симметричным ключом. Общий секретный ключ регулярно обновляется путем чередования передачи служебной и полезной информации. Криптостойкость такого ключа обеспечивается не недостатком у криптоаналитика вычислительных ресурсов, а принципиальной нехваткой всей служебной информации для достоверного взлома ключа, и не зависит от метода криптоанализа. При этом криптостойкость определяется вероятностью угадывания ключа криптоаналитиком и может быть оценена количественно. Это позволяет избежать основной трудности при тестировании новых криптосистем — дорогостоящей и длительной экспериментальной проверки или не менее трудного математического доказательства криптостойкости авторитетными криптоаналитиками. Такой ключ не нуждается в долговременном хранилище, так как время его жизни очень ограничено. В результате его нельзя не только взломать путем криптоанализа перехваченной информации, но и выкрасть у абонентов любым другим способом (чего нельзя сказать о многоразовых ключах) или подменить. Такое шифрование приближается к шифрованию одноразовым ключом, а соответствующая криптосистема приближается по своим свойствам к совершенно секретной.
Литература
1. Schneier, Bruce, «Applied Cryptography (Second Edition)», John Wiley & Sons, Inc., 1996. ISBN 0-471-11709-9.
2. Жиль Брассар, «Современная криптология (руководство)», М., Издательско-полиграфическая фирма ПОЛИМЕД, 1999. ISBN 5-8832-010-2.
3. Ю. А. Розанов, «Случайные процессы (краткий курс)», М., изд-во «Наука», 1971. УДК 519.2.

- Blink
- del.ici.ous
- Digg
- Furl
- Simpy
- Spurl
- Y! MyWeb
- БобрДобр
- Мистер Вонг
- Яндекс.Закладки
- Текст 2.0
- News2
- AddScoop
- RuSpace
- RUmarkz
- Memori
- Закладки Google
- Писали
- СМИ 2
- Моё Место
- Сто Закладок
- Ваау!
- Technorati
- RuCity
- LinkStore
- NewsLand
- Lopas
- Закладки - I.UA
- Connotea
- Bibsonomy
- Trucking Bookmarks
- Communizm
- UCA
Эта запись была опубликована 16.07.2007в 4:01 пп. В рубриках: АСУ, Моделирование, Все статьи. Вы можете следить за ответами к этой записи через RSS 2.0. Вы можете оставить свой отзыв или трекбек со своего сайта.