- •СамотестирующиЕся и самокорректирующиЕся программы
- •Вводные замечания
- •Общие принципы создания двухмодульных вычислительных процедур и методология самотестирования
- •Устойчивость, линейная и единичная состоятельность
- •Метод создания самокорректирующейся процедуры вычисления теоретико-числовой функции дискретного экспоненцирования
- •Обозначения и определения для функции дискретного возведения в степень вида gxmodulo m.
- •Построение самотестирующейся/самокорректирующейся программной пары для функции дискретного экспоненцирования
- •Метод создания самотестирующейся расчетной программы с эффективным тестирующим модулем
- •Алгоритм st
- •Исследования процесса верификации расчетных программ
- •Области применения самотестирующихся и самокорректирующихся программ и их сочетаний
- •Общие замечания
- •Вычислительная математика
- •Целочисленная арифметика и арифметика многократной точности
- •Теоретико-групповые и теоретико-числовые вычисления
- •Вычисления над полиномами
- •Вычисления над матрицами
- •Линейные рекуррентные соотношения
- •Аппроксимирующие функции
- •Криптография, интерактивные доказательства Вводные замечания
- •Распределение ключей, цифровая подпись, схемы аутентификации
- •Интерактивные системы доказательств
- •Задача «Изоморфизм графа»
- •Протокол ig
- •Чекер для задачи «Изоморфизм графа»
- •Чекер cgip(g,h,k)
- •Другие направления
- •Применение самотестирующихся и самокорректирующихся программ Вводные замечания
- •Применение вычислительных методов к задачам гидролокации
- •Метод наименьших квадратов и задача самотестирования
Протокол ig
Пусть изоморфизм междуG1иG0. Следующие четыре шага выполняются в циклеm раз, каждый раз с независимыми случайными величинами.
1. Рвыбирает случайную перестановкуна множествеU, вычисляетН=-тG1 и посылает этот графV.
2. Vвыбирает случайный бит и посылает егоР.
3. Если =1, тоРпосылаетVперестановку, в противном случае - перестановку.
4. Если перестановка, полученная V, не является изоморфизмом междуGиН, тоV останавливается и отвергает доказательство. В противном случае выполнение протокола продолжается.
Если проверки п.4 дали положительный результат во всех m циклах, тоVпринимает доказательство.
Необходимо отметить, что если в протоколе IGмашинаРполучает изоморфизм в качестве дополнительного входного слова, то ей для выполнения протокола не требуются неограниченные вычислительные ресурсы. Более того, в этом случаеРможет быть полиномиальной вероятностной шиной Тьюринга.
Теорема 4.1. Протокол IG является доказательством с абсолютно нулевым разглашением для языка «Изоморфизм графов».
Доказательство.Подробно приведено в работе [Ва1].
Чекер для задачи «Изоморфизм графа»
Пусть GиH– два графа иk– некоторый параметр безопасности. ЧекерCGIP(G,H,k) проверяет программуPна входных графахGиH. На выходе чекера будет результат «Норма», если графы изоморфны и «Сбой», если неизоморфны.
Следующая теорема [BK] определяет эффективность и корректность чекера для решения задачи «ИЗОМОРФИЗМ ГРАФОВ» -IG.
Пусть P– программа, которая останавливается на всех входах и всегда выдает либо «Норма», либо «Сбой». Пусть такжеGиH- два любых графа и пустьCGIP(G,H;k) – вышеуказанный чекер.
Теорема 4.2.ЕслиPкорректная программа для решения задачиIG, тогда чекерCGIP(G,H;k) всегда выдаст на выходе «Норма». ЕслиP- некорректна, т.е.P(G,H)GI(G,H), тогда вероятностьProb{CGIP(G,H;k)=«Норма»}<1/2k.
Доказательство.Достаточно очевидно и приведено в работе [BK].
Интерактивные системы доказательств и интерактивные системы доказательств с нулевым разглашением [Ва1,Ва2] могут эффективно применяться в системах защиты информации от несанкционированного доступа, например, в схемах интерактивной идентификации пользователей системы [Ка14,КУ4,КУ6]. В целом интерактивный протокол доказательств для задачи IGможет применяться для идентификации, однако для практических целей удобно использовать системы доказательств, основанные на трудности решения некоторых теоретико-числовых задач. Тем более, как было показано выше, существует принципиальная возможность построения самотестирующейся/ самокорректирующейся программной пары, например, для функции дискретного экспоненцирования.
Чекер cgip(g,h,k)
1. Вычислить P(G,H).
2. Если P(G,H)=«Изоморфизм», тогда использоватьPдля поиска изоморфизма ихGвH. Проверить, является ли результирующее соответствие изоморфизмом. Если нет, тогда подать на выход «Сбой», если является, тогда подать на выход «Норма».
3. Если P(G,H)=«Не изоморфизм», тогда выполнить следующие шагиkраз.
3.1. Выработать случайный бит b.
3.2. Если b=1, тогда
3.2.1. Сгенерировать случайную перестановку GграфаG.
3.2.2. Вычислить P(G,G).
3.2.3. Если P(G,G)=«Не изоморфизм», тогда подать на выход «Сбой».
3.3. Если b=0, тогда
3.3.1. Сгенерировать случайную перестановку HграфаH.
3.3.2 Вычислить P(G,H).
3.4. Если P(G,H)=«Изоморфизм», тогда подать на выход «Сбой».
4. Подать на выход «Норма».