Скачиваний:
168
Добавлен:
02.05.2014
Размер:
300.54 Кб
Скачать
      1. Дополнения к базовой модели и вероятностные ram-машины

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

Определение 5.2.Для каждогоkNопределиморакульныйCPUkкакCPUkс двумя дополнительными лентами, названнымиоракульными лентами. Одна из этих лент является «только-для-чтения», а другая «только-для-записи». Всякий раз, когда машина входит в специальное состояние вызова оракула, содержимое оракульной ленты «только-для-чтения» изменяется мгновенно (т.е., за единственный шаг) и машина переходит к другому специальному состоянию. Строка, записанная на оракульной ленте «только-для-записи» между двумя вызовами оракула называется запросом, соответствующим последнему вызову. Будем считать, чтоCPUkимеет доступ к функцииf, если делается запросqи оракул отвечает и изменяет содержимое оракульной ленты «только-для-чтения» наf(q).ВероятностнаямашинаCPUk– это оракульная машинаCPUk с доступом к однородно выбранной функцииf:{0,1}O(k){0,1}.

Определение 5.3.Для каждогоkNопределиморакульную RAMk-машинукакRAMk-машину, в которой машинаCPUkзаменена на оракульнуюCPUk. Скажем, что этаRAMk-машина имеет доступ к функцииf, еслиCPUkимеет доступ к функцииfи будем обозначать как. ВероятностнаяRAMk-машина – этоRAMk-машина, в которой машинаCPUkзаменена вероятностнойCPUk. (Другими словами, вероятностнаяRAMk-машина – это оракульнаяRAMk-машина с доступом к однородно выбранной функции).

      1. Повторные выполнения ram-машины

Для решения проблемы защиты программ необходимо использовать повторные выполнения «одной и той же» RAM-программы на нескольких входах. Задача состоит в том, чтоRАМ-машина начинает каждый следующий цикл своей работы с рабочими лентамиЦПиМП, имеющих содержимое, идентичное их содержимому по окончании предыдущего цикла.

Для каждого kN,повторные выполнения RAMk-машинына входной последовательностиy1,y2,... рассматриваются как последовательность вычисленийRAMk-машины, при котором первое вычисление началось с входаy1, когда рабочие ленты иСРUk, иMEMkпусты иi-тое вычисление начинается с входауi, когда рабочая лента каждой машины (т.е., иСРUk, иMEMk) содержит ту же самую строку, которую она содержала по окончанииi-1 вычисления.

      1. Эксперименты с ram-машиной

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

Для простоты, основное внимание будет уделяться противникам с экспоненциально ограниченным временем выполнения. Кроме того, время выполнения противника ограничено сверху 2n, гдеn- размер рабочей лентыЦП. На практике противник будет ограничен по времени некоторым полиномом от длины рабочей лентыЦП.

Определение 5.4.Невмешивающийся противник, обозначаемый какADV, является вероятностной машиной, которая на входеkи завуалированной программе, которая имеет доступ к оракульнойRAMk-машине. МашинаADVинициирует повторные выполненияRAMk-машины на входах по своему выбору до тех пор, пока общее время выполнения не стане равным 2k. В процессе каждого из этих выполнений, машинаADVимеет доступ «только-для-чтения» к коммуникационным лентам междуCPUkиMEMk.

Определение 5.5.Вмешивающийся противникопределяется аналогично невмешивающемуся противнику за исключением того, что в процессе повторных выполнений противник имеет доступ для чтения и записи к коммуникационным лентам междуCPUkиМЕМk.

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