Скачиваний:
170
Добавлен:
02.05.2014
Размер:
412.16 Кб
Скачать

Распределение ключей, цифровая подпись, схемы аутентификации

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

Пусть программа Pпредположительно вычисляетRSA-функцию и дляx,y,zZ>0сx,y<zи НОД(x,z)=1. Тогда чекерCPRSA(x,y,z;k) работает следующим образом [KA].

Доказательства существования чекера для RSA-криптоалгоритма приведены в работе [KA]. Там же приведеныRSA-чекеры для фиксированного модуля криптосистемы.

ProgramC_RSA_(x,y,z;k); {входx,y,z,kвыход («Норма»,«Сбой»)}

begin

t1:=-klog99/1002;

t2:=-k/log4/52;

for l=1 to t1 do

begin

i:=random(Z); {random - функция случайного равновероятного выбора из [1,...,z[};

if P(x,i,z)0 (mod z) output «Сбой» and STOP;

i,j:=random(Z); {random - функция случайного равновероятного выбора из [1,...,z[};

if P(x,i,z)P(x,j,z)P(x,i+j,z)(mod z) output «Сбой» and STOP;

i:=random(Z); {random - функция случайного равновероятного выбора из [1,...,z[};

if P(x,i,z)P(x,1,z)P(x,i+1,z)(mod z) output «Сбой» and STOP;

end;

for l=1 to t2 do

begin

r:=random(Z); {random - функция случайного равновероятного выбора из [1,...,z[};

if P(x,y,z)P(x,r,z)P(x,y+r,z)(mod z) output «Сбой» and STOP;

end;

output «Норма»;

end.

Рис.4.10. Псевдокод алгоритма RSA-чекера

Интерактивные системы доказательств

Пусть А иВ -две интерактивные, т. е. взаимодействующие через общую коммуникационную ленту, вероятностные машины Тьюринга. Через [В(х)(х)] обозначается случайная величина - выходное слово машиныА, когдаА иВ работают на входном словех. Черезхобозначается длина словах.

Интерактивным доказательством для языка L называется пара интерактивных машин Тьюринга (P,V) такая, что выполняются следующие два условия.

  1. (Полнота). Для всеххL вероятность Prob{[P(x),V(x)]=1}=1.

  2. (Корректность). Для любой машины ТьюрингаР*, для любого полиномари для всеххL достаточно большой длины Prob{[P*(x),V(x)]=1}<l/p(x).

Формальные определения интерактивных систем доказательств и интерактивных систем доказательств с нулевым разглашением даны в приложении.

Задача «Изоморфизм графа»

Приведем в качестве примера протокол доказательства с абсолютно нулевым разглашением для языка «Изоморфизм графов» из работы [GMW]. Входным словом является пара графовG1=(U,Е1) иG0=(U,E0). ЗдесьU- множество вершин, которое можно отождествить с множеством натуральных чисел {1,...,n},Е1 иЕ0 множества ребер такие, чтоЕ1=Е0=m. ГрафыG1иG2называются изоморфными, если существует перестановка на множествеU такая, что (u,v)Е0 тогда и только тогда, когда ((u),(v))Е1 (обозначаетсяG1=G0). Задача распознавания изоморфизма графов хорошо известная математическая задача, для которой на данный момент неизвестно полиномиальных алгоритмов ее решения. С другой стороны, неизвестно, является ли эта задача-полной, хотя есть веские основания предполагать, что не является.

Соседние файлы в папке Казарин О.В. Теория и практика защиты программ