Общее описание модели
Ниже рассматривается модель вычислений, которая будет использоваться в дальнейших рассуждениях при исследовании синхронных конфиденциальных вычислений. Таким образом, рассматривается сеть процессоров, функционирование которой синхронизируется общими часами (синхронизатором). Каждое локальное (внутреннее) вычисление соответствует одному моменту времени (одному такту часов). В данной модели отрезок времени между i
и i+1 тактами называется раундом при синхронных вычислениях.
За один раунд протокола каждый процессор может получать сообщения от любого другого процессора, выполнять локальные (внутренние) вычисления и посылать сообщения всем другим процессорам сети. Имеется входная лента «только-для-чтения», которая первоначально содержит строку L(k) (например вида 1k), при этом k является параметром безопасности системы. Каждый процессор имеет ленту случайных значений, конфиденциальную рабочую ленту «только-для-чтения» (первоначально содержащую строку L), конфиденциальную входную ленту «только-для-чтения» (первоначально содержащую строку xi), конфиденциальную выходную ленту «только-для-записи» (первоначально содержащую строку L) и несколько коммуникационных лент. Между каждой парой процессоров i и j существует конфиденциальный канал связи, посредством которого i
посылает безопасным способом сообщение процессору j. Данный канал (коммуникационная лента) исключает запись для i
и исключает чтение дляj. Каждый процессор i
имеет также широковещательный канал, представляющий собой ленту, исключающую запись для i и являющийся каналом «только-для-чтения» для всех остальных процессоров сети.
Предполагается, что в раунде r
для каждого процессора i
существует однозначно определенное сообщение (возможно пустое), которое распространяет процессор i в этом раунде и для каждой пары процессоров i и j существует единственное сообщение, которое i может безопасным образом послать j
в данном раунде. Все каналы являются помеченными так, что каждый получатель сообщения может идентифицировать его отправителя.
Процессор i запускает программу pi, совокупность которых, реализует распределенный алгоритм P. Протоколом работы сети называется n-элементный кортеж P=(p1,p2,..,pn). Протокол называется t-устойчивым, если t процессоров являются сбоящими во время выполнения протокола. Историей
процессора i являются: содержание его конфиденциального и общего входов, все распространяемые им сообщения, все сообщения, полученные i по конфиденциальным каналам связи, и все случайные параметры, сгенерированные процессором i
во время работы сети.
будет равна R(п)=R=(1-Р)n.
Таким образом, можно дать следующее математическое определение надежности машинной программы: надежность программы - это вероятность безотказного выполнения п прогонов программы. Поэтому прогон является единичным испытанием программы.
На практике обычно выбор входных данных для каждого прогона нельзя считать независимым. Исключение составляют лишь такие последовательности прогонов, которые определяются возрастающими значениями и некоторой входной переменной или некоторым порядком установленных процедур, как в случае программ, работающих в реальном масштабе времени.
С учетом введенного определения функциональный разрез должен быть переопределен в терминах вероятностей pji выбора Ei в качестве входных данных при j-том прогоне из некоторой последовательности прогонов. Тогда вероятность того, что j-тый прогон закончится отказом, может быть записана в виде Pi=.
Надежность R(п) программы П равна вероятности того, что в последовательности из п прогонов ни один из них не закончится отказом:
R(n)=(1-Pi)(1-P2)...(1-Pn)=
Эта формула может быть представлена в виде .
Некоторые из свойств функции R(n) могут стать более зримыми при следующих допущениях:
для Pj<<1
,
если Pj=P для всех j, то
R(n)=.
С помощью соответствующих замен переменных и подстановок можно выразить функцию R(n) через время функционирования t. Обозначим через Dtj
время выполнения j-того прогона, через - суммарное время выполнения первых j прогонов программы n примем, что . Тогда .
Если величина Dtj стремится к нулю с ростом n, то сумма в показателе экспоненты становится интегралом и формула для надежности программного обеспечения принимает вид
Эта формула хорошо известна в теории надежности технических устройств. В случае Pj<<1 функция h(tj) может быть интерпретирована как функция интенсивности отказов, которая, будучи умноженной на Dtj,
дает условную вероятность появления отказов и интервале (tj,tj+Dtj) при отсутствии отказов до момента tj.